voltage_off_while_idle confusing in tmlind/linux-omap-2.6/pm.git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following patch:

Author: Kalle Jokiniemi <ext-kalle.jokiniemi@xxxxxxxxx>  2008-08-26 02:56:02
Committer: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>  2009-03-25 10:11:41

    OMAP: PM: sysfs interface for enabling voltage off in idle

    This patch creates a sysfs interface (/sys/power/voltage_off_while_idle) to
    set or clear a variable which can be used in determining wether voltage
    regulators should be shut down in idle.

    Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@xxxxxxxxx>

Modifies the PM_VOLTCTRL register of the omap3. It sets AUTO_SLEEP by
default, sets AUTO_OFF when powering off the CORE domain, and sets
SEL_OFF based on the voltage_off_while_idle sysfs file. Several bits
are incomplete.

1.12.5.1.4 PRM_VOLTCTRL (Voltage Source Control Register)
       This register allows control of the power IC. The following are
the register bit fields:
       • AUTO_SLEEP: Automatically sends the sleep command when the
voltage domain is in the appropriate
          standby mode
       • AUTO_RET: Automatically sends the retention command when the
voltage domain is in the
          appropriate standby mode
       • AUTO_OFF: Automatically sends the off command when the
voltage domain is in the appropriate
          standby mode
       • SEL_OFF: Controls whether the off command is sent through the
voltage controller I2C interface or the
          signal sys_off_mode is asserted when entering off mode
       • SEL_VMODE: Allows control of the power IC through either the
voltage controller I2C interface or the
          VMODE interface

The voltage_off_while idle flag thus does not do what it says it does.
It merely selects the action by which the AUTO_OFF functionality
works.

The patch does set AUTO_OFF to true when sleeping if the core domain
is to be shut off, so in that sense it works. However, on my platform
(Beagleboard), the regulators for VDD1 and/or VDD2 do not shut off
with SEL_OFF=1 or SEL_OFF=0 (further investigation required).

The AUTO_SLEEP flag has been removed by e1c76c42 in order to reduce C
state latency:

Author: Peter 'p2' De Schrijver <peter.de-schrijver@xxxxxxxxx>
2009-01-14 09:32:35
Committer: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>  2009-03-25 10:13:25

    OMAP3: PM: Don't scale voltage in C1 state

    This patch prevents VDD1 and VDD2 to go to the lowest OPP when entering C1.
    It improves wakeup latency from 600us to about 50us.

    Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux