Message ID | 1450708916-15966-3-git-send-email-thomas.petazzoni@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Thomas, On lun., déc. 21 2015, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Really, what we meant by regulator-always-on is that the regulators > are already turned on by the bootloader, for which regulator-boot-on > is a better description. > What happened if the bootloader do not turn the regulator on? I fear that in this case the regulator won't be turned on at all. > A net advantage of using regulator-boot-on is that the regulator is > not touched at boot time by the kernel, which avoids having the hard > drives spinning down and then up again, taking several (~5) seconds of > additional boot time. > > In addition, there is no need to have such properties on the child > regulators used for SATA. Having it on the parent regulator that > really controls the GPIO is sufficient. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > arch/arm/boot/dts/armada-388-gp.dts | 24 ++++++++---------------- > 1 file changed, 8 insertions(+), 16 deletions(-) > > diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts > index d8dab0f..1ef6cc6 100644 > > @@ -309,7 +309,7 @@ > regulator-min-microvolt = <5000000>; > regulator-max-microvolt = <5000000>; > enable-active-high; > - regulator-always-on; > + regulator-boot-on; > gpio = <&expander0 4 GPIO_ACTIVE_HIGH>; > }; This node had been removed by a patch you sent few days ago: "ARM: mvebu: remove duplicated regulator definition in Armada 388 GP" Thanks, Gregory
Hi Thomas, On mar., déc. 22 2015, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote: > Hi Thomas, > > On lun., déc. 21 2015, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > >> Really, what we meant by regulator-always-on is that the regulators >> are already turned on by the bootloader, for which regulator-boot-on >> is a better description. >> > > What happened if the bootloader do not turn the regulator on? > I fear that in this case the regulator won't be turned on at all. > >> A net advantage of using regulator-boot-on is that the regulator is >> not touched at boot time by the kernel, which avoids having the hard >> drives spinning down and then up again, taking several (~5) seconds of >> additional boot time. I tested your patch, I didn't see so much time lost in boot time: with one hdd the difference was only about 0.3s. But with a second hdd it was around 1.9 (so 1.6s more for the second hhd). It looks like it really depends on the hdd. However, the most annoying point with the regulator-always-on for the SATA it turns the power down and up for the hdd during boot which is not very nice for the hdd. So, at least for this, it is useful. For the USB part the regulators are completely disabled: usb3-vbus: disabling v5.0-vbus0: disabling v5.0-vbus1: disabling And indeed the USB does not work with your patch applied. Could you send a new version with the changes only done for the SATA regulator nodes? Thanks, Gregory >> >> In addition, there is no need to have such properties on the child >> regulators used for SATA. Having it on the parent regulator that >> really controls the GPIO is sufficient. >> >> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> >> --- >> arch/arm/boot/dts/armada-388-gp.dts | 24 ++++++++---------------- >> 1 file changed, 8 insertions(+), 16 deletions(-) >> >> diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts >> index d8dab0f..1ef6cc6 100644 > >> >> @@ -309,7 +309,7 @@ >> regulator-min-microvolt = <5000000>; >> regulator-max-microvolt = <5000000>; >> enable-active-high; >> - regulator-always-on; >> + regulator-boot-on; >> gpio = <&expander0 4 GPIO_ACTIVE_HIGH>; >> }; > This node had been removed by a patch you sent few days ago: > "ARM: mvebu: remove duplicated regulator definition in Armada 388 GP" > > Thanks, > > Gregory > > -- > Gregory Clement, Free Electrons > Kernel, drivers, real-time and embedded Linux > development, consulting, training and support. > http://free-electrons.com > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts index d8dab0f..1ef6cc6 100644 --- a/arch/arm/boot/dts/armada-388-gp.dts +++ b/arch/arm/boot/dts/armada-388-gp.dts @@ -279,7 +279,7 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander1 15 GPIO_ACTIVE_HIGH>; }; @@ -289,7 +289,7 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander1 14 GPIO_ACTIVE_HIGH>; }; @@ -299,7 +299,7 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 4 GPIO_ACTIVE_HIGH>; }; @@ -309,7 +309,7 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 4 GPIO_ACTIVE_HIGH>; }; @@ -319,7 +319,7 @@ regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 2 GPIO_ACTIVE_HIGH>; }; @@ -328,7 +328,6 @@ regulator-name = "v5.0-sata0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - regulator-always-on; vin-supply = <®_sata0>; }; @@ -337,7 +336,6 @@ regulator-name = "v12.0-sata0"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; - regulator-always-on; vin-supply = <®_sata0>; }; @@ -347,7 +345,7 @@ regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 3 GPIO_ACTIVE_HIGH>; }; @@ -356,7 +354,6 @@ regulator-name = "v5.0-sata1"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - regulator-always-on; vin-supply = <®_sata1>; }; @@ -365,7 +362,6 @@ regulator-name = "v12.0-sata1"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; - regulator-always-on; vin-supply = <®_sata1>; }; @@ -373,7 +369,7 @@ compatible = "regulator-fixed"; regulator-name = "pwr_en_sata2"; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 11 GPIO_ACTIVE_HIGH>; }; @@ -382,7 +378,6 @@ regulator-name = "v5.0-sata2"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - regulator-always-on; vin-supply = <®_sata2>; }; @@ -391,7 +386,6 @@ regulator-name = "v12.0-sata2"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; - regulator-always-on; vin-supply = <®_sata2>; }; @@ -399,7 +393,7 @@ compatible = "regulator-fixed"; regulator-name = "pwr_en_sata3"; enable-active-high; - regulator-always-on; + regulator-boot-on; gpio = <&expander0 12 GPIO_ACTIVE_HIGH>; }; @@ -408,7 +402,6 @@ regulator-name = "v5.0-sata3"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - regulator-always-on; vin-supply = <®_sata3>; }; @@ -417,7 +410,6 @@ regulator-name = "v12.0-sata3"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; - regulator-always-on; vin-supply = <®_sata3>; }; };
Really, what we meant by regulator-always-on is that the regulators are already turned on by the bootloader, for which regulator-boot-on is a better description. A net advantage of using regulator-boot-on is that the regulator is not touched at boot time by the kernel, which avoids having the hard drives spinning down and then up again, taking several (~5) seconds of additional boot time. In addition, there is no need to have such properties on the child regulators used for SATA. Having it on the parent regulator that really controls the GPIO is sufficient. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- arch/arm/boot/dts/armada-388-gp.dts | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-)