diff mbox series

[RESEND,3/4] ARM: dts: imx6ul: phycore: Change USB LDO voltage for usb compliance

Message ID 20220131080526.1171072-4-andrej.picej@norik.com (mailing list archive)
State New, archived
Headers show
Series PHYTEC i.MX 6UL/ULL devicetree patches | expand

Commit Message

Andrej Picej Jan. 31, 2022, 8:05 a.m. UTC
From: Yunus Bas <y.bas@phytec.de>

According to the NXP usb compliance reference, the USB data lines for
Full/Low speed are connected to the ARM USB LDO, which is set to
minimum-voltage = 2.6V and maximum-voltage = 3.4 V. When the regulator
is deactivated, the data lines are defaulty driven with 2.6V, which is
not USB Full-Speed compliant. To be compliant, we need to activate the
USB LDO regulator and set it to the value of 3V, which is the specified
value in the USB specification.

Signed-off-by: Yunus Bas <y.bas@phytec.de>
Signed-off-by: Andrej Picej <andrej.picej@norik.com>
---
 arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Shawn Guo Feb. 12, 2022, 5:46 a.m. UTC | #1
On Mon, Jan 31, 2022 at 09:05:25AM +0100, Andrej Picej wrote:
> From: Yunus Bas <y.bas@phytec.de>
> 
> According to the NXP usb compliance reference, the USB data lines for
> Full/Low speed are connected to the ARM USB LDO, which is set to
> minimum-voltage = 2.6V and maximum-voltage = 3.4 V. When the regulator
> is deactivated, the data lines are defaulty driven with 2.6V, which is
> not USB Full-Speed compliant. To be compliant, we need to activate the
> USB LDO regulator and set it to the value of 3V, which is the specified
> value in the USB specification.
> 
> Signed-off-by: Yunus Bas <y.bas@phytec.de>
> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
> ---
>  arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
> index 3cddc68917a0..2e03be3d43ec 100644
> --- a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
> @@ -83,6 +83,11 @@ eeprom@52 {
>  	};
>  };
>  
> +&reg_3p0 {
> +	regulator-min-microvolt = <3000000>;
> +	regulator-always-on;

Rather than setting it always-on, shouldn't the consumer of the
regulator turn it on/off as needed?

Shawn

> +};
> +
>  &snvs_poweroff {
>  	status = "okay";
>  };
> -- 
> 2.25.1
>
Andrej Picej Feb. 18, 2022, 9:16 a.m. UTC | #2
On 12. 02. 22 06:46, Shawn Guo wrote:
> On Mon, Jan 31, 2022 at 09:05:25AM +0100, Andrej Picej wrote:
>> From: Yunus Bas <y.bas@phytec.de>
>>
>> According to the NXP usb compliance reference, the USB data lines for
>> Full/Low speed are connected to the ARM USB LDO, which is set to
>> minimum-voltage = 2.6V and maximum-voltage = 3.4 V. When the regulator
>> is deactivated, the data lines are defaulty driven with 2.6V, which is
>> not USB Full-Speed compliant. To be compliant, we need to activate the
>> USB LDO regulator and set it to the value of 3V, which is the specified
>> value in the USB specification.
>>
>> Signed-off-by: Yunus Bas <y.bas@phytec.de>
>> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
>> ---
>>   arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
>> index 3cddc68917a0..2e03be3d43ec 100644
>> --- a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
>> +++ b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
>> @@ -83,6 +83,11 @@ eeprom@52 {
>>   	};
>>   };
>>   
>> +&reg_3p0 {
>> +	regulator-min-microvolt = <3000000>;
>> +	regulator-always-on;
> 
> Rather than setting it always-on, shouldn't the consumer of the
> regulator turn it on/off as needed?

Sorry for late response, but I had to look into this a bit to see the 
reason for using always-on.

The consumer should turn the regulator on/off, but the consumer doesn't 
do that. If regulator is not specified as always-on the regulator stays 
in disabled state, even when usb device is used. That's why this was 
added here.

This should probably be fixed on consumer side. If you want I can drop 
the patch from this series and submit the fixed version when the stuff 
gets resolved.

BR,
Andrej
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
index 3cddc68917a0..2e03be3d43ec 100644
--- a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
+++ b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi
@@ -83,6 +83,11 @@  eeprom@52 {
 	};
 };
 
+&reg_3p0 {
+	regulator-min-microvolt = <3000000>;
+	regulator-always-on;
+};
+
 &snvs_poweroff {
 	status = "okay";
 };