[PATCH] ARM: dts: imx6qdl-dhcom: Add USB overcurrent pin on SoM layer

Christoph Niedermaier cniedermaier at dh-electronics.com
Thu Dec 9 01:54:46 PST 2021


From: Marek Vasut
Sent: Thursday, December 9, 2021 1:23 AM
> 
> On 12/8/21 16:15, Christoph Niedermaier wrote:
>> Add USB overcurrent pin muxing on SoM layer, but disable it
>> by default. If a board has connected this pin like the
>> picoITX, this property should be removed in the board file.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier at dh-electronics.com>
>> Cc: Shawn Guo <shawnguo at kernel.org>
>> Cc: Fabio Estevam <festevam at gmail.com>
>> Cc: Marek Vasut <marex at denx.de>
>> Cc: NXP Linux Team <linux-imx at nxp.com>
>> Cc: kernel at dh-electronics.com
>> To: linux-arm-kernel at lists.infradead.org
>> ---
>>   arch/arm/boot/dts/imx6qdl-dhcom-picoitx.dtsi | 4 ++++
>>   arch/arm/boot/dts/imx6qdl-dhcom-som.dtsi     | 2 ++
>>   2 files changed, 6 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6qdl-dhcom-picoitx.dtsi b/arch/arm/boot/dts/imx6qdl-dhcom-picoitx.dtsi
>> index 4cd4cb9543c8..a67682bfe7bd 100644
>> --- a/arch/arm/boot/dts/imx6qdl-dhcom-picoitx.dtsi
>> +++ b/arch/arm/boot/dts/imx6qdl-dhcom-picoitx.dtsi
>> @@ -48,6 +48,10 @@
>>               "", "", "", "", "", "", "", "";
>>   };
>>
>> +&usbh1 { /* USB overcurrent pin is connected */
>> +     /delete-property/ disable-over-current;
>> +};
>> +
>>   &iomuxc {
>>       pinctrl-0 = <
>>                       /*
>> diff --git a/arch/arm/boot/dts/imx6qdl-dhcom-som.dtsi b/arch/arm/boot/dts/imx6qdl-dhcom-som.dtsi
>> index 5d10c40313cb..e4fdce016c34 100644
>> --- a/arch/arm/boot/dts/imx6qdl-dhcom-som.dtsi
>> +++ b/arch/arm/boot/dts/imx6qdl-dhcom-som.dtsi
>> @@ -385,6 +385,7 @@
>>   };
>>
>>   &usbh1 {
>> +     disable-over-current;
>>       dr_mode = "host";
>>       pinctrl-0 = <&pinctrl_usbh1>;
>>       pinctrl-names = "default";
>> @@ -728,6 +729,7 @@
>>       pinctrl_usbh1: usbh1-grp {
>>               fsl,pins = <
>>                       MX6QDL_PAD_EIM_D31__GPIO3_IO31          0x120b0
>> +                     MX6QDL_PAD_EIM_D30__USB_H1_OC           0x1b0b1
>>               >;
>>       };
> 
> Shouldn't this be the other way around -- boards with unused USB
> overcurrent detection should disable it ? In this case, PDK2 and DRC02
> should add the 'disable-over-current' DT property and pinmux, while
> picoitx should add the USB OC pinmux .

This pin is defined by the DHCOM standard, therefore no other function
can be used on this pin. That is why it should be configured in the SoM
file.
The first internal version was the other way around, but then we had a
discussion about accidentally enabling the overcurrent detection, because
it is enabled by default. Since most customers do not use overcurrent
detection, we have decided to disable it by default. So if a customer
uses that pin, he has to actively remove the DT property as for example
shown in the PicoITX board file. In this way, the source of issues should
be reduced.

Regards
Christoph


More information about the linux-arm-kernel mailing list