On Wed, 2014-02-19 at 13:08 +0900, Mark Brown wrote: > On Tue, Feb 18, 2014 at 09:12:09AM +0100, Krzysztof Kozlowski wrote: > > On Tue, 2014-02-18 at 09:35 +0900, Mark Brown wrote: > > > > I don't understand the above? Are you saying that suspend mode actually > > > turns off the regulator or something else? If it's a separate setting > > > for suspend mode then it should be using the core suspend mode stuff. > > > No, it is similar to external control (by GPIO) except that regulator is > > controlled by PWREN pin. The PMIC's PWREN is not a GPIO, but instead it > > is directly connected to AP (for Exynos 4212: XPWRRGTON). In AP's normal > > mode the XPWRRGTON/PWREN is high. In sleep mode *AP* sets it low. > > How is that different to suspend mode then? I found two differences: performance (no need to send I2C commands) and possible issues during resume. Example: regulator which should be disabled during suspend to memory and enabled for normal system operation. As I understand the suspend mode (correct me if I'm wrong), the regulator core during suspend to mem: 1. Calls suspend_set_state(). 2. rstate->disabled is true so the ops->set_suspend_disable() is called. 3. The ops->set_suspend_disable() function (implemented by the driver) disables the regulator (e.g. through I2C commands /regmap/). 4. During resume the regulator is enabled normal way (ops->enable(), I2C again). Possible problems: A. What happens if some driver using this regulator resumes earlier then regulator_suspend_finish()? B. What happens if resuming regulator requires some other driver to be resumed earlier (e.g. I2C bus)? If regulator resumes before I2C bus then calling ops->enable() would fail. The S5M8767 suspend mode (controlled by PWREN pin) works differently: 1. To enable regulator set regulator mode to "On/Off controller by PWREN". During normal mode it will be enabled. 2. During suspend the regulator won't be suspended or disabled by regulator core but instead the SoC will set PWREN to low and PMIC will disable the regulator. No need to send I2C commands. 3. During resume the PWREN will be set to high and PMIC will enable the regulator before resuming other drivers. No need to send I2C commands as well. Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html