ARM: tegra: make Venice's +3.3V_RUN regulator always on
Subsystems (2)
PATCH 1/1 ARM: tegra: make Venice's +3.3V_RUN regulator always on
From: Stephen Warren <[email protected]>
This regulator supplies power to pretty much everything on the board, so it doesn't make sense to allow it to turn off. Mark it boot-on and always-on so it doesn't get turned off. Without this, I see issues with the eMMC device; it can't be correctly detected during boot.
--- arch/arm/boot/dts/tegra124-venice2.dts | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/boot/dts/tegra124-venice2.dts +2 -0
@@ -1060,6 +1060,8 @@ regulator-name = "+3.3V_RUN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_3v3_sys>;
Signature · 1 line
1.8.1.5
PATCH 1/1 ARM: tegra: make Venice's +3.3V_RUN regulator always on
Quoted 6 lines · Stephen Warren
From: Stephen Warren <[email protected]>
This regulator supplies power to pretty much everything on the board, so it doesn't make sense to allow it to turn off. Mark it boot-on and always-on so it doesn't get turned off. Without this, I see issues with the eMMC device; it can't be correctly detected during boot.
This actually isn't a complete fix. +3V3_RUN will still toggle on a cold boot because the GPIO1_INVERT bit is initialized by the PMIC to 1, but when the regulator core requests the GPIO as an output, as3722_gpio_direction_output() first sets the output value to 1 (without considering the INVERT bit!) and then clears the invert bit when setting the mode in as3722_pinctrl_gpio_set_direction(). The as3722 driver should probably not touch the INVERT bit and instead just take it into account when setting the GPIO value.
Quoted 26 lines
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-venice2.dts | 2 ++ 1 file changed, 2 insertions(+)arch/arm/boot/dts/tegra124-venice2.dts +2
-1@@ -1060,6 +1060,8 @@ regulator-name = "+3.3V_RUN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_3v3_sys>; --1.8.1.5
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 1/1 ARM: tegra: make Venice's +3.3V_RUN regulator always on
Quoted 8 lines · Andrew Bresticker
Quoted 6 lines · Stephen Warren
From: Stephen Warren <[email protected]>
This regulator supplies power to pretty much everything on the board, so it doesn't make sense to allow it to turn off. Mark it boot-on and always-on so it doesn't get turned off. Without this, I see issues with the eMMC device; it can't be correctly detected during boot.
Quoted 8 lines
This actually isn't a complete fix. +3V3_RUN will still toggle on a cold boot because the
GPIO1_INVERTbit is initialized by the PMIC to 1, but when the regulator core requests the GPIO as an output,as3722_gpio_direction_output()first sets the output value to 1 (without considering the INVERT bit!) and then clears the invert bit when setting the mode inas3722_pinctrl_gpio_set_direction(). The as3722 driver should probably not touch the INVERT bit and instead just take it into account when setting the GPIO value.
I'll take that as a heads-up on the existence of the AS3722 GPIO patch, rather than an objection to this patch.
Stephen Warren
AppliedPATCH 1/1 ARM: tegra: make Venice's +3.3V_RUN regulator always on
In reply to Stephen WarrenQuoted 4 lines · Stephen Warren
This regulator supplies power to pretty much everything on the board, so it doesn't make sense to allow it to turn off. Mark it boot-on and always-on so it doesn't get turned off. Without this, I see issues with the eMMC device; it can't be correctly detected during boot.
I've applied this to Tegra's for-3.16/dt branch.