Hello,

I am working on trying to enable power management features on a
product that was based on the OMAP4430 SoC and the mainline 3.14
kernel. In particular, I am interested in enabling Smart Reflex/AVS
and frequency scaling (via cpufreq) functionality.

I have attempted to use the following kernel configuration additions:

CONFIG_CPU_FREQ
CONFIG_POWER_AVS_OMAP
CONFIG_ARM_OMAP2PLUS_CPUFREQ or CONFIG_GENERIC_CPUFREQ_CPU0
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
CONFIG_CPU_FREQ_GOV_COMMON
CONFIG_CPU_FREQ_GOV_CONSERVATIVE
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_CPU_FREQ_GOV_PERFORMANCE
CONFIG_CPU_FREQ_GOV_POWERSAVE
CONFIG_CPU_FREQ_GOV_USERSPACE
CONFIG_CPU_FREQ_STAT
CONFIG_POWER_AVS_OMAP_CLASS3

However, I don't get the expected sysfs nodes for cpufreq, and
omapconf (via "omapconf show sr") reports "All Smart-Reflex Modules
disabled." During kernel boot, I also see the following output which
might or might not be related to the problem:

ARM PMU: not yet supported on OMAP4430 due to missing CTI driver
OMAP4 PM: u-boot >= v2012.07 is required for full PM support
sr_init: No PMIC hook to init smartreflex
sr_init: platform driver register failed for SR

In addition, if I attempt to use CONFIG_GENERIC_CPUFREQ_CPU0 instead
of CONFIG_ARM_OMAP2PLUS_CPUFREQ, I also get the following output:

cpufreq_cpu0: failed to get cpu0 regulator: -19
cpufreq_cpu0: failed to get cpu0 clock: -2
cpufreq-cpu0: probe of cpufreq-cpu0.0 failed with error -2

I have also tried out the latest in the linux-3.14.y branch of the
ti-linux-kernel fork [1], thinking that OMAP power management might be
better supported there, but similarly did not see any indication of
cpufreq or Smart Reflex functioning.

My question, then, is whether power management is expected to work for
OMAP4430 under Linux 3.14, or whether there might be issues on my end?
Perhaps I am missing something in the device tree, or maybe my
bootloader isn't setting up something the kernel expects (I'm using a
pretty minimal custom bootloader).

If OMAP4 power management is not supported in the mainline or TI 3.14
kernels, is there another/later kernel that has this support? I was
hoping to stick with 3.14 because I don't want regressions in the
project due to major kernel updates, but I would be willing to see
what happens with a newer kernel if it supports power management. I
had been looking at a few older threads ([2], [3], [4]) that deal with
this, but it was unclear whether/when such support was upstreamed.

Thank you.

[1] https://git.ti.com/ti-linux-kernel/ti-linux-kernel/commits/linux-3.14.y
[2] http://www.spinics.net/lists/linux-omap/msg102038.html
[3] 
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/212472.html
[4] https://bugzilla.kernel.org/show_bug.cgi?id=58541
___________
Frank Jenner
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to