linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR
@ 2022-09-26 11:26 Alexander Stein
  2022-10-24  1:31 ` Shawn Guo
  0 siblings, 1 reply; 4+ messages in thread
From: Alexander Stein @ 2022-09-26 11:26 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: Alexander Stein, devicetree, linux-arm-kernel

extcon does not work somehow, so switch to usb-role-switch instead.

Fixes: dfcd1b6f7620 ("arm64: dts: freescale: add initial device tree for TQMa8MQML with i.MX8MM")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 .../dts/freescale/imx8mm-tqma8mqml-mba8mx.dts | 32 +++++++++++++++----
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
index bfb44630da6b..56323c989d55 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
@@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
 		off-on-delay-us = <12000>;
 	};
 
-	extcon_usbotg1: extcon-usbotg1 {
-		compatible = "linux,extcon-usb-gpio";
+	connector {
+		compatible = "gpio-usb-b-connector", "usb-b-connector";
+		type = "micro";
+		label = "X19";
 		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_usb1_extcon>;
-		id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+		pinctrl-0 = <&pinctrl_usb1_connector>;
+		id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				usb_dr_connector: endpoint {
+					remote-endpoint = <&usb1_drd_sw>;
+				};
+			};
+		};
 	};
 };
 
@@ -106,13 +120,19 @@ &usbotg1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_usbotg1>;
 	dr_mode = "otg";
-	extcon = <&extcon_usbotg1>;
 	srp-disable;
 	hnp-disable;
 	adp-disable;
 	power-active-high;
 	over-current-active-low;
+	usb-role-switch;
 	status = "okay";
+
+	port {
+		usb1_drd_sw: endpoint {
+			remote-endpoint = <&usb_dr_connector>;
+		};
+	};
 };
 
 &usbotg2 {
@@ -242,7 +262,7 @@ pinctrl_usbotg1: usbotg1grp {
 			   <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x84>;
 	};
 
-	pinctrl_usb1_extcon: usb1-extcongrp {
+	pinctrl_usb1_connector: usb1-connectorgrp {
 		fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10		0x1c0>;
 	};
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR
  2022-09-26 11:26 [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR Alexander Stein
@ 2022-10-24  1:31 ` Shawn Guo
  2022-10-24  8:15   ` Alexander Stein
  0 siblings, 1 reply; 4+ messages in thread
From: Shawn Guo @ 2022-10-24  1:31 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, devicetree,
	linux-arm-kernel

On Mon, Sep 26, 2022 at 01:26:22PM +0200, Alexander Stein wrote:
> extcon does not work somehow, so switch to usb-role-switch instead.

So extcon was added without testing?

Shawn

> 
> Fixes: dfcd1b6f7620 ("arm64: dts: freescale: add initial device tree for TQMa8MQML with i.MX8MM")
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  .../dts/freescale/imx8mm-tqma8mqml-mba8mx.dts | 32 +++++++++++++++----
>  1 file changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> index bfb44630da6b..56323c989d55 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> @@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
>  		off-on-delay-us = <12000>;
>  	};
>  
> -	extcon_usbotg1: extcon-usbotg1 {
> -		compatible = "linux,extcon-usb-gpio";
> +	connector {
> +		compatible = "gpio-usb-b-connector", "usb-b-connector";
> +		type = "micro";
> +		label = "X19";
>  		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_usb1_extcon>;
> -		id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> +		pinctrl-0 = <&pinctrl_usb1_connector>;
> +		id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				usb_dr_connector: endpoint {
> +					remote-endpoint = <&usb1_drd_sw>;
> +				};
> +			};
> +		};
>  	};
>  };
>  
> @@ -106,13 +120,19 @@ &usbotg1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_usbotg1>;
>  	dr_mode = "otg";
> -	extcon = <&extcon_usbotg1>;
>  	srp-disable;
>  	hnp-disable;
>  	adp-disable;
>  	power-active-high;
>  	over-current-active-low;
> +	usb-role-switch;
>  	status = "okay";
> +
> +	port {
> +		usb1_drd_sw: endpoint {
> +			remote-endpoint = <&usb_dr_connector>;
> +		};
> +	};
>  };
>  
>  &usbotg2 {
> @@ -242,7 +262,7 @@ pinctrl_usbotg1: usbotg1grp {
>  			   <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x84>;
>  	};
>  
> -	pinctrl_usb1_extcon: usb1-extcongrp {
> +	pinctrl_usb1_connector: usb1-connectorgrp {
>  		fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10		0x1c0>;
>  	};
>  
> -- 
> 2.25.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: Re: [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR
  2022-10-24  1:31 ` Shawn Guo
@ 2022-10-24  8:15   ` Alexander Stein
  2022-10-29  0:52     ` Shawn Guo
  0 siblings, 1 reply; 4+ messages in thread
From: Alexander Stein @ 2022-10-24  8:15 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, devicetree,
	linux-arm-kernel

Hello Shawn,

Am Montag, 24. Oktober 2022, 03:31:23 CEST schrieb Shawn Guo:
> On Mon, Sep 26, 2022 at 01:26:22PM +0200, Alexander Stein wrote:
> > extcon does not work somehow, so switch to usb-role-switch instead.
> 
> So extcon was added without testing?

It had been tested, but apparently only the USB Host case :( extcon itself 
does work and detects ID pin correctly. Cable states switch when a USB device 
(mass storage) is attached and removed, thus mass storage is detect and 
usable.
But unfortunately this is not the case for USB device using g_serial udc 
driver. IMHO this seems to be a problem within chipidea usb driver.
Using usb-role-switch instead, both USB host and USB device do work.

Best regards,
Alexander

> Shawn
> 
> > Fixes: dfcd1b6f7620 ("arm64: dts: freescale: add initial device tree for
> > TQMa8MQML with i.MX8MM") Signed-off-by: Alexander Stein
> > <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  .../dts/freescale/imx8mm-tqma8mqml-mba8mx.dts | 32 +++++++++++++++----
> >  1 file changed, 26 insertions(+), 6 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> > b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts index
> > bfb44630da6b..56323c989d55 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
> > @@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
> > 
> >  		off-on-delay-us = <12000>;
> >  	
> >  	};
> > 
> > -	extcon_usbotg1: extcon-usbotg1 {
> > -		compatible = "linux,extcon-usb-gpio";
> > +	connector {
> > +		compatible = "gpio-usb-b-connector", "usb-b-connector";
> > +		type = "micro";
> > +		label = "X19";
> > 
> >  		pinctrl-names = "default";
> > 
> > -		pinctrl-0 = <&pinctrl_usb1_extcon>;
> > -		id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> > +		pinctrl-0 = <&pinctrl_usb1_connector>;
> > +		id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port@0 {
> > +				reg = <0>;
> > +				usb_dr_connector: endpoint {
> > +					remote-endpoint = 
<&usb1_drd_sw>;
> > +				};
> > +			};
> > +		};
> > 
> >  	};
> >  
> >  };
> > 
> > @@ -106,13 +120,19 @@ &usbotg1 {
> > 
> >  	pinctrl-names = "default";
> >  	pinctrl-0 = <&pinctrl_usbotg1>;
> >  	dr_mode = "otg";
> > 
> > -	extcon = <&extcon_usbotg1>;
> > 
> >  	srp-disable;
> >  	hnp-disable;
> >  	adp-disable;
> >  	power-active-high;
> >  	over-current-active-low;
> > 
> > +	usb-role-switch;
> > 
> >  	status = "okay";
> > 
> > +
> > +	port {
> > +		usb1_drd_sw: endpoint {
> > +			remote-endpoint = <&usb_dr_connector>;
> > +		};
> > +	};
> > 
> >  };
> >  
> >  &usbotg2 {
> > 
> > @@ -242,7 +262,7 @@ pinctrl_usbotg1: usbotg1grp {
> > 
> >  			   <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC		
0x84>;
> >  	
> >  	};
> > 
> > -	pinctrl_usb1_extcon: usb1-extcongrp {
> > +	pinctrl_usb1_connector: usb1-connectorgrp {
> > 
> >  		fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10		
0x1c0>;
> >  	
> >  	};





_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: Re: [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR
  2022-10-24  8:15   ` Alexander Stein
@ 2022-10-29  0:52     ` Shawn Guo
  0 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2022-10-29  0:52 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, devicetree,
	linux-arm-kernel

On Mon, Oct 24, 2022 at 10:15:28AM +0200, Alexander Stein wrote:
> Hello Shawn,
> 
> Am Montag, 24. Oktober 2022, 03:31:23 CEST schrieb Shawn Guo:
> > On Mon, Sep 26, 2022 at 01:26:22PM +0200, Alexander Stein wrote:
> > > extcon does not work somehow, so switch to usb-role-switch instead.
> > 
> > So extcon was added without testing?
> 
> It had been tested, but apparently only the USB Host case :( extcon itself 
> does work and detects ID pin correctly. Cable states switch when a USB device 
> (mass storage) is attached and removed, thus mass storage is detect and 
> usable.
> But unfortunately this is not the case for USB device using g_serial udc 
> driver. IMHO this seems to be a problem within chipidea usb driver.
> Using usb-role-switch instead, both USB host and USB device do work.

Thanks for the clarification!  Could you improve the commit log a bit
with these information?

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2022-10-29  0:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-26 11:26 [PATCH 1/1] arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR Alexander Stein
2022-10-24  1:31 ` Shawn Guo
2022-10-24  8:15   ` Alexander Stein
2022-10-29  0:52     ` Shawn Guo

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).