ARM: OMAP2+: Initialize voltage controller for omap4
authorTony Lindgren <tony@atomide.com>
Wed, 16 Oct 2019 14:37:07 +0000 (07:37 -0700)
committerTony Lindgren <tony@atomide.com>
Wed, 16 Oct 2019 14:51:16 +0000 (07:51 -0700)
commit4873843718f903de74b496e39367dc7aaf267c37
tree462301c30214ffaf75170dc0e38d2bbc8bf4dcd1
parentcaf8c87d7ff2037b502e76ce450565e9bd32a819
ARM: OMAP2+: Initialize voltage controller for omap4

We're missing initializing the PRM_VOLTCTRL register for voltage
controller. Let's add omap4_vc_init_pmic_signaling() similar to what we
have for omap3 and enable voltage control for retention.

This brings down droid4 power consumption with mainline kernel to somewhere
between 40 and 50mW from about 70 to 80 mW for the whole device when
running idle with LCD and backlight off, WLAN connected, and USB and modem
modules unloaded.

Mostly just rmmod of omap2430, ohci-platform and phy-mapphone-mdm6600 are
needed to idle USB and shut down the modem. And after that measuring idle
power consumption can be done with reading sysfs entry periodically
for /sys/class/power_supply/battery/power_avg. Then rmmod of phy-cpcap-usb
will save few more mW, but will disable the debug UART.

Note that sometimes CM_L4PER_UART1_CLKCTRL at 0x4a009540 does not idle
properly after unloading of phy-mapphone-mdm6600.

Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/vc.c