linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs
@ 2020-11-13 15:28 Ahmad Fatoum
  2021-01-18 10:41 ` Ahmad Fatoum
  2021-01-19  8:57 ` Shawn Guo
  0 siblings, 2 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2020-11-13 15:28 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team
  Cc: Ahmad Fatoum, Frieder Schrempf, devicetree, linux-arm-kernel,
	linux-kernel

The SoC dtsi lists a NOP USB PHY for each of the two HSIC-only USB
controllers. Their device tree node doesn't indicate a vcc-supply
resulting in:

  usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
  usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator

warnings on boot up. The USB IP vcc-supply - separate from the vusb - is
hardwired to LDO_2P5[1], which we already have a device tree node for.
Reference it for the dummy "phy" as well.

This will lead to breakage (probe deferment) for kernels that:
  - Use a HSIC USB controller
  - Use this new device tree
  - but have CONFIG_REGULATOR_ANATOP disabled

Because while the regulator is always-on, it can't be resolved when
there is no driver for it.

As there are

  - no affected upstream device trees
  - existing device trees are unaffected without recompilation
  - disabling CONFIG_REGULATOR_ANATOP is explicitly a non-recommended
    configuration per symbol help text

this potential breakage is deemed acceptable.

[1]: i.MX 6Dual/6Quad Reference Manual, Rev. C,
     Figure 53-1. Power System Overview

Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/arm/boot/dts/imx6qdl.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 43edbf1156c7..22e4c142de13 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -131,11 +131,13 @@ pmu: pmu {
 
 	usbphynop1: usbphynop1 {
 		compatible = "usb-nop-xceiv";
+		vcc-supply = <&reg_vdd2p5>;
 		#phy-cells = <0>;
 	};
 
 	usbphynop2: usbphynop2 {
 		compatible = "usb-nop-xceiv";
+		vcc-supply = <&reg_vdd2p5>;
 		#phy-cells = <0>;
 	};
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs
  2020-11-13 15:28 [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs Ahmad Fatoum
@ 2021-01-18 10:41 ` Ahmad Fatoum
  2021-01-19  8:57 ` Shawn Guo
  1 sibling, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2021-01-18 10:41 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team
  Cc: Frieder Schrempf, devicetree, linux-arm-kernel, linux-kernel

Hello,

did this maybe slip through the cracks?

On 13.11.20 16:28, Ahmad Fatoum wrote:
> The SoC dtsi lists a NOP USB PHY for each of the two HSIC-only USB
> controllers. Their device tree node doesn't indicate a vcc-supply
> resulting in:
> 
>   usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
>   usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
> 
> warnings on boot up. The USB IP vcc-supply - separate from the vusb - is
> hardwired to LDO_2P5[1], which we already have a device tree node for.
> Reference it for the dummy "phy" as well.
> 
> This will lead to breakage (probe deferment) for kernels that:
>   - Use a HSIC USB controller
>   - Use this new device tree
>   - but have CONFIG_REGULATOR_ANATOP disabled
> 
> Because while the regulator is always-on, it can't be resolved when
> there is no driver for it.
> 
> As there are
> 
>   - no affected upstream device trees
>   - existing device trees are unaffected without recompilation
>   - disabling CONFIG_REGULATOR_ANATOP is explicitly a non-recommended
>     configuration per symbol help text
> 
> this potential breakage is deemed acceptable.
> 
> [1]: i.MX 6Dual/6Quad Reference Manual, Rev. C,
>      Figure 53-1. Power System Overview
> 
> Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  arch/arm/boot/dts/imx6qdl.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index 43edbf1156c7..22e4c142de13 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -131,11 +131,13 @@ pmu: pmu {
>  
>  	usbphynop1: usbphynop1 {
>  		compatible = "usb-nop-xceiv";
> +		vcc-supply = <&reg_vdd2p5>;
>  		#phy-cells = <0>;
>  	};
>  
>  	usbphynop2: usbphynop2 {
>  		compatible = "usb-nop-xceiv";
> +		vcc-supply = <&reg_vdd2p5>;
>  		#phy-cells = <0>;
>  	};
>  
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs
  2020-11-13 15:28 [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs Ahmad Fatoum
  2021-01-18 10:41 ` Ahmad Fatoum
@ 2021-01-19  8:57 ` Shawn Guo
  2021-01-19  9:20   ` Ahmad Fatoum
  1 sibling, 1 reply; 4+ messages in thread
From: Shawn Guo @ 2021-01-19  8:57 UTC (permalink / raw)
  To: Ahmad Fatoum
  Cc: Rob Herring, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Frieder Schrempf, devicetree,
	linux-arm-kernel, linux-kernel

On Fri, Nov 13, 2020 at 04:28:55PM +0100, Ahmad Fatoum wrote:
> The SoC dtsi lists a NOP USB PHY for each of the two HSIC-only USB
> controllers. Their device tree node doesn't indicate a vcc-supply
> resulting in:
> 
>   usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
>   usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator

So the patch is all for removing this kernel message, with introducing
the following potential breakage?

Shawn

> 
> warnings on boot up. The USB IP vcc-supply - separate from the vusb - is
> hardwired to LDO_2P5[1], which we already have a device tree node for.
> Reference it for the dummy "phy" as well.
> 
> This will lead to breakage (probe deferment) for kernels that:
>   - Use a HSIC USB controller
>   - Use this new device tree
>   - but have CONFIG_REGULATOR_ANATOP disabled
> 
> Because while the regulator is always-on, it can't be resolved when
> there is no driver for it.
> 
> As there are
> 
>   - no affected upstream device trees
>   - existing device trees are unaffected without recompilation
>   - disabling CONFIG_REGULATOR_ANATOP is explicitly a non-recommended
>     configuration per symbol help text
> 
> this potential breakage is deemed acceptable.
> 
> [1]: i.MX 6Dual/6Quad Reference Manual, Rev. C,
>      Figure 53-1. Power System Overview
> 
> Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  arch/arm/boot/dts/imx6qdl.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index 43edbf1156c7..22e4c142de13 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -131,11 +131,13 @@ pmu: pmu {
>  
>  	usbphynop1: usbphynop1 {
>  		compatible = "usb-nop-xceiv";
> +		vcc-supply = <&reg_vdd2p5>;
>  		#phy-cells = <0>;
>  	};
>  
>  	usbphynop2: usbphynop2 {
>  		compatible = "usb-nop-xceiv";
> +		vcc-supply = <&reg_vdd2p5>;
>  		#phy-cells = <0>;
>  	};
>  
> -- 
> 2.28.0
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs
  2021-01-19  8:57 ` Shawn Guo
@ 2021-01-19  9:20   ` Ahmad Fatoum
  0 siblings, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2021-01-19  9:20 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Rob Herring, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Frieder Schrempf, devicetree,
	linux-arm-kernel, linux-kernel

Hello Shawn,

On 19.01.21 09:57, Shawn Guo wrote:
> On Fri, Nov 13, 2020 at 04:28:55PM +0100, Ahmad Fatoum wrote:
>> The SoC dtsi lists a NOP USB PHY for each of the two HSIC-only USB
>> controllers. Their device tree node doesn't indicate a vcc-supply
>> resulting in:
>>
>>   usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
>>   usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
> 
> So the patch is all for removing this kernel message, with introducing
> the following potential breakage?

Pretty much. Either:

 - We never fix the warning
 - We add an explicit dummy fixed-regulator, which doesn't reflect the HW
 - We reference the correct regulator and have the low risk of a
   non-upstream device tree breaking when they update both kernel,
   device tree and have an non-recommended CONFIG_REGULATOR_ANATOP=n

What do you think?

Cheers,
Ahmad

> 
> Shawn
> 
>>
>> warnings on boot up. The USB IP vcc-supply - separate from the vusb - is
>> hardwired to LDO_2P5[1], which we already have a device tree node for.
>> Reference it for the dummy "phy" as well.
>>
>> This will lead to breakage (probe deferment) for kernels that:
>>   - Use a HSIC USB controller
>>   - Use this new device tree
>>   - but have CONFIG_REGULATOR_ANATOP disabled
>>
>> Because while the regulator is always-on, it can't be resolved when
>> there is no driver for it.
>>
>> As there are
>>
>>   - no affected upstream device trees
>>   - existing device trees are unaffected without recompilation
>>   - disabling CONFIG_REGULATOR_ANATOP is explicitly a non-recommended
>>     configuration per symbol help text
>>
>> this potential breakage is deemed acceptable.
>>
>> [1]: i.MX 6Dual/6Quad Reference Manual, Rev. C,
>>      Figure 53-1. Power System Overview
>>
>> Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>>  arch/arm/boot/dts/imx6qdl.dtsi | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
>> index 43edbf1156c7..22e4c142de13 100644
>> --- a/arch/arm/boot/dts/imx6qdl.dtsi
>> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
>> @@ -131,11 +131,13 @@ pmu: pmu {
>>  
>>  	usbphynop1: usbphynop1 {
>>  		compatible = "usb-nop-xceiv";
>> +		vcc-supply = <&reg_vdd2p5>;
>>  		#phy-cells = <0>;
>>  	};
>>  
>>  	usbphynop2: usbphynop2 {
>>  		compatible = "usb-nop-xceiv";
>> +		vcc-supply = <&reg_vdd2p5>;
>>  		#phy-cells = <0>;
>>  	};
>>  
>> -- 
>> 2.28.0
>>
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-01-19  9:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 15:28 [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB PHYs Ahmad Fatoum
2021-01-18 10:41 ` Ahmad Fatoum
2021-01-19  8:57 ` Shawn Guo
2021-01-19  9:20   ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).