
Hi,
On Wed, Apr 24, 2019 at 3:54 AM Simon Glass sjg@chromium.org wrote:
Hi,
On Wed, 3 Apr 2019 at 06:21, Urja Rannikko urjaman@gmail.com wrote:
Based on snooping around the linux kernel rk8xx driver, and tested to work on the ASUS C201.
Signed-off-by: Urja Rannikko urjaman@gmail.com
This is really handy to be able to poweroff (without pressing power button for a long time) the C201 from u-boot, so i'm sending this as is. The thing that is bothering me is the pmic_get --- i checked that every rk8xx is named "pmic" in the device tree so it should work, but it just feels really weird that this seems to be the best way to access the driver...
drivers/power/pmic/rk8xx.c | 34 ++++++++++++++++++++++++++++++++++ include/power/rk8xx_pmic.h | 4 ++++ 2 files changed, 38 insertions(+)
This should really use a sysreset driver.
Thanks for the pointer since it wasnt very obvious because there isnt really any code that does this right now (nor does "sysreset" make one think of poweroff...).
You can make the PMIC have a child sysreset driver to implement this function.
I looked for an example of this (even partial), and the only one i found was in drivers/power/pmic/stpmic1.c - so I assume like that but instead implement SYSRESET_POWER_OFF (could also implement SYSRESET_POWER, but that is kinda outside the scope of what i need right now...).
And then add a generic sysreset-based poweroff command implementation.
(I'm just saying my ideas out loud before implementing them so that you have a chance to say if they're all wrong, regardless i'll be back with patches when i have a moment to work on this...)