ARM: tegra: Remove 3.3V supply and modem regulators
Subsystems (2)
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
---
Note: Removing these makes the work-in-progress eDP support work again.
--- arch/arm/boot/dts/tegra124-venice2.dts | 22 ---------------------- 1 file changed, 22 deletions(-)
arch/arm/boot/dts/tegra124-venice2.dts +0 -22
@@ -980,28 +980,6 @@ regulator-always-on; }; - vdd_3v3_reg: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "vdd_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; - enable-active-high; - gpio = <&as3722 1 GPIO_ACTIVE_HIGH>; - }; - - vdd_3v3_modem_reg: regulator at 2 { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "vdd-modem-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - enable-active-high; - gpio = <&as3722 2 GPIO_ACTIVE_HIGH>; - }; - vdd_hdmi_5v0_reg: regulator at 3 { compatible = "regulator-fixed"; reg = <3>;
Signature · 1 line
1.8.4.2
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
Quoted 2 lines · Thierry Reding
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
As far as I can tell, this patch is correct, since those GPIOs are in fact used to discharge the rails after disabling them, rather than to enable/disable the rails.
Equally, these GPIOs affect multiple rails at once, so listing the GPIO as a property of a single regulator seems wrong either way.
However, PMU_REGEN1 does seem to feed the "EN" pin of U13C1, a DC/DC switcher for power rail 3.3v_modem, so perhaps there's more going on here than I see?
In summary, I need Laxman to comment on this and ack the change, and explain why these GPIOs were listed as regulator enables when it doesn't seem that they are.
Quoted 15 lines
Note: Removing these makes the work-in-progress eDP support work again.
arch/arm/boot/dts/tegra124-venice2.dts +0
-11- vdd_3v3_reg: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "vdd_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; - enable-active-high; - gpio = <&as3722 1 GPIO_ACTIVE_HIGH>; - };
arch/arm/boot/dts/tegra124-venice2.dts line 1003
Quoted 10 lines
arch/arm/boot/dts/tegra124-venice2.dts +0
-10- - vdd_3v3_modem_reg: regulator at 2 { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "vdd-modem-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - enable-active-high; - gpio = <&as3722 2 GPIO_ACTIVE_HIGH>; - };
Don't you want to simply remove the "enable-active-high" and "gpio" properties, but leave the regulator definitions present, in case something wants to reference these fixed(?) rails as their supply?
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
Quoted 10 lines · Stephen Warren
Quoted 2 lines · Thierry Reding
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
As far as I can tell, this patch is correct, since those GPIOs are in fact used to discharge the rails after disabling them, rather than to enable/disable the rails.
Equally, these GPIOs affect multiple rails at once, so listing the GPIO as a property of a single regulator seems wrong either way.
Quoted 8 lines
However,
PMU_REGEN1does seem to feed the "EN" pin of U13C1, a DC/DC switcher for power rail 3.3v_modem, so perhaps there's more going on here than I see?In summary, I need Laxman to comment on this and ack the change, and explain why these GPIOs were listed as regulator enables when it doesn't seem that they are.
PMU_REGEN1 is going to U13C1 (DCDC switcher). So if EN is 0, the output will be 0 and when it is 1, the output will be 3.3V.
Because this is coming from GPIO, it is added as the fixed regulator.
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
Quoted 15 lines · Laxman Dewangan
Quoted 14 lines · Stephen Warren
Quoted 2 lines · Thierry Reding
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
As far as I can tell, this patch is correct, since those GPIOs are in fact used to discharge the rails after disabling them, rather than to enable/disable the rails.
Equally, these GPIOs affect multiple rails at once, so listing the GPIO as a property of a single regulator seems wrong either way.
However,
PMU_REGEN1does seem to feed the "EN" pin of U13C1, a DC/DC switcher for power rail 3.3v_modem, so perhaps there's more going on here than I see?
Quoted 7 lines
Quoted 4 lines
In summary, I need Laxman to comment on this and ack the change, and explain why these GPIOs were listed as regulator enables when it doesn't seem that they are.
PMU_REGEN1is going to U13C1 (DCDC switcher). So if EN is 0, the output will be 0 and when it is 1, the output will be 3.3V.
Because this is coming from GPIO, it is added as the fixed regulator.
What about PMU_REGEN3, for which that isn't the case, and what about the fact that PMU_REGEN1 does a lot more than just enable that DC/DC switcher?
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
Quoted 20 lines · Stephen Warren
Quoted 19 lines · Laxman Dewangan
Quoted 18 lines · Stephen Warren
Quoted 2 lines · Thierry Reding
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
As far as I can tell, this patch is correct, since those GPIOs are in fact used to discharge the rails after disabling them, rather than to enable/disable the rails.
Equally, these GPIOs affect multiple rails at once, so listing the GPIO as a property of a single regulator seems wrong either way.
However,
PMU_REGEN1does seem to feed the "EN" pin of U13C1, a DC/DC switcher for power rail 3.3v_modem, so perhaps there's more going on here than I see?In summary, I need Laxman to comment on this and ack the change, and explain why these GPIOs were listed as regulator enables when it doesn't seem that they are.
Quoted 6 lines
Quoted 3 lines
PMU_REGEN1is going to U13C1 (DCDC switcher). So if EN is 0, the output will be 0 and when it is 1, the output will be 3.3V.
Because this is coming from GPIO, it is added as the fixed regulator.What about
PMU_REGEN3, for which that isn't the case, and what about the fact thatPMU_REGEN1does a lot more than just enable that DC/DC switcher?
Based on my understanding with schematics:
PMU_REGEN1;
if high then PMU_REGEN1_L is 0 and so Q20B6, Q20B7, Q20B8 are open and all rails are not connected to ground through their register. If Low then PMUC_REGEN1_L is 1 and so Q20B6, Q20B7, Q20B8 are connected to D to S and all rails are discharged through the register. This means we need to keep PMU_REGN1 to high for using the rails in normal case.
Similar for the PMU_REGEN3.
PMU_REGEN1 is also enabling the U13C1 when it is High then output will have voltage otherowise Vout = 0.PMU_REGEN1 is feeding to U20A6, which works as sequencer. The PMU_REGEN1 is expected to be always High (even in LP0) so that it can keep the some rail ON on LP0 also. (Based on comment)
The PMU_REGEN3 is high in normal case and should be in low for LP0 so that it can off the rails in LP0.
So regulator, involved with this should have the always ON property enabled. If the gpio need to be disable during LP0 then it need to written explicitly in suspend/resume.
BTW, how this is effecting the edp functionality? Does EDP expect the level of this GPIOs to be 0?
Anything I can debug here to narrow-down the issue? Probably we need to scope the gpio status?
Also if you can pass the register dump in wokring and non-working case then it will be very easy to analyse the issue.
Thanks,
Laxman
PATCH 1/1 ARM: tegra: Remove 3.3V supply and modem regulators
In reply to Stephen WarrenQuoted 40 lines · Stephen Warren
Quoted 2 lines · Thierry Reding
GPIO 1 and 2 of the PMIC are not used for the described purpose, so remove them.
As far as I can tell, this patch is correct, since those GPIOs are in fact used to discharge the rails after disabling them, rather than to enable/disable the rails.
Equally, these GPIOs affect multiple rails at once, so listing the GPIO as a property of a single regulator seems wrong either way.
However,
PMU_REGEN1does seem to feed the "EN" pin of U13C1, a DC/DC switcher for power rail 3.3v_modem, so perhaps there's more going on here than I see?In summary, I need Laxman to comment on this and ack the change, and explain why these GPIOs were listed as regulator enables when it doesn't seem that they are.
Quoted 21 lines
Note: Removing these makes the work-in-progress eDP support work again.
arch/arm/boot/dts/tegra124-venice2.dts +0
-17- vdd_3v3_reg: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "vdd_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; - enable-active-high; - gpio = <&as3722 1 GPIO_ACTIVE_HIGH>; - }; - - vdd_3v3_modem_reg: regulator at 2 { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "vdd-modem-3v3"; - regulator-min-microvolt = <3300000>;
Quoted 8 lines
arch/arm/boot/dts/tegra124-venice2.dts line 1003
Quoted 4 lines
arch/arm/boot/dts/tegra124-venice2.dts +0
-4- regulator-max-microvolt = <3300000>; - enable-active-high; - gpio = <&as3722 2 GPIO_ACTIVE_HIGH>; - };Don't you want to simply remove the "enable-active-high" and "gpio" properties, but leave the regulator definitions present, in case something wants to reference these fixed(?) rails as their supply?
Yes, I guess that could probably work.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140108/4a37ae61/attachment.sig>