sunxi: axp2xx: disable ldoio0/1 at boot
PATCH v2 1/1 sunxi: axp2xx: disable ldoio0/1 at boot
When cold-booting the ldoio0/1 regulators are always off / the gpios are always at tristate. But when re-booting from android these are sometimes on. Disable them at axp_init time (iow as early as possible) to remove this difference between a cold boot and a reboot.
Signed-off-by Hans de Goede <[email protected]>
---
Changes in v2:
-Do not or pmic_bus_write results together
--- drivers/power/axp209.c | 16 ++++++++++++++++ drivers/power/axp221.c | 12 ++++++++++++ 2 files changed, 28 insertions(+)
drivers/power/axp209.c +16 -0
@@ -167,6 +167,22 @@ int axp_init(void)return rc; } +/* +* Turn off LDOIO regulators / tri-state GPIO pins, when rebooting +* from android these are sometimes on. +*/ + rc =pmic_bus_write (AXP_GPIO0_CTRL ,AXP_GPIO_CTRL_INPUT ); +if (rc) +return rc; + + rc =pmic_bus_write (AXP_GPIO1_CTRL ,AXP_GPIO_CTRL_INPUT ); +if (rc) +return rc; + + rc =pmic_bus_write (AXP_GPIO2_CTRL ,AXP_GPIO_CTRL_INPUT ); +if (rc) +return rc; +return 0 ; }
drivers/power/axp221.c +12 -0
@@ -223,6 +223,18 @@ int axp_init(void)if (!(axp_chip_id ==0x6 || axp_chip_id ==0x7 || axp_chip_id ==0x17 ))return -ENODEV ; +/* +* Turn off LDOIO regulators / tri-state GPIO pins, when rebooting +* from android these are sometimes on. +*/ + ret =pmic_bus_write (AXP_GPIO0_CTRL ,AXP_GPIO_CTRL_INPUT ); +if (ret) +return ret; + + ret =pmic_bus_write (AXP_GPIO1_CTRL ,AXP_GPIO_CTRL_INPUT ); +if (ret) +return ret; +return 0 ; }
Signature · 1 line
2.9.3
PATCH v2 1/1 sunxi: axp2xx: disable ldoio0/1 at boot
Quoted 7 lines · Hans de Goede
When cold-booting the ldoio0/1 regulators are always off / the gpios are always at tristate. But when re-booting from android these are sometimes on. Disable them at
axp_inittime (iow as early as possible)
to remove this difference between a cold boot and a reboot.Signed-off-by Hans de Goede <[email protected]>
Acked-by Ian Campbell <[email protected]>