lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49756f17-c906-4fa5-4f0e-9297620c082e@pengutronix.de>
Date:   Tue, 19 Jan 2021 10:20:24 +0100
From:   Ahmad Fatoum <a.fatoum@...gutronix.de>
To:     Shawn Guo <shawnguo@...nel.org>
Cc:     Rob Herring <robh+dt@...nel.org>,
        Sascha Hauer <s.hauer@...gutronix.de>,
        Pengutronix Kernel Team <kernel@...gutronix.de>,
        Fabio Estevam <festevam@...il.com>,
        NXP Linux Team <linux-imx@....com>,
        Frieder Schrempf <frieder.schrempf@...tron.de>,
        devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] ARM: dts: imx6qdl: specify vcc-supply for NOP USB
 PHYs

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@...tron.de>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@...gutronix.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 |

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ