by dsc3507 » Fri Aug 29, 2014 1:10 am
Well it is pseudo ACPI. Not sure what is broken or where but prior kernels (3.8.13-24-ARCH) handled this correctly. When the system was shutdown it turned off the power led and the power button could be programmed to shutdown.
I took these comments from another list if it is helpful....
The problem has something to do with the register settings in the PMIC. Here is what I think is happening:
It looks like the BB Linux Kernel is configured to enter sleep mode when the command shutdown or halt is used. After a little investigation, here is the sequence after shutdown or halt:
kernel_power_off()
machine_power_off()
pm_power_off()
rtc_power_off() //Toggles PWR_EN pin
When the PMIC is in sleep mode, some of the regulators remain on which I believe is the issue some of the user are experiencing. Making the default state to OFF mode (same as pulling the power plug) and not SLEEP mode will probably be more suitable for most users. The solution is pretty simple:
The solution I have Robert was to add pmic-shutdown-controller as shown in
/Documentation/devicetree/bindings/regulator/tps65217.txt.
However, Robert added this into his kernel but this doesn’t seem to have fixed the issue. Here are some other references that might be helpful.
In /drivers/mfd/tps65217.c search for PWR_EN, the
comments “Set the PMIC to shutdown on PWR_EN toggle”
Reading “Power Down Sequence” on page 18 (TPS65217C TRM), this will initiate the power down sequence and leave the PMIC in OFF mode.
Ultimately, we probably need to look at the PMIC register setting just before toggling PWR_EN as this might explain why this is not working correctly.