2020-06-20 05:09:27

by Suniel Mahesh

[permalink] [raw]
Subject: [PATCH v2] arch: arm: imx6qdl-icore: Fix OTG_ID pin and sdcard detect

From: Michael Trimarchi <[email protected]>

The current pin muxing scheme muxes GPIO_1 pad for USB_OTG_ID
because of which when card is inserted, usb otg is enumerated
and the card is never detected.

[ 64.492645] cfg80211: failed to load regulatory.db
[ 64.492657] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
[ 76.343711] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 76.349742] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2
[ 76.388862] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 76.396650] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
[ 76.405412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 76.412763] usb usb2: Product: EHCI Host Controller
[ 76.417666] usb usb2: Manufacturer: Linux 5.8.0-rc1-next-20200618 ehci_hcd
[ 76.424623] usb usb2: SerialNumber: ci_hdrc.0
[ 76.431755] hub 2-0:1.0: USB hub found
[ 76.435862] hub 2-0:1.0: 1 port detected

The TRM mentions GPIO_1 pad should be muxed/assigned for card detect
and ENET_RX_ER pad for USB_OTG_ID for proper operation.

This patch fixes pin muxing as per TRM and is tested on a
i.Core 1.5 MX6 DL SOM.

[ 22.449165] mmc0: host does not support reading read-only switch, assuming write-enable
[ 22.459992] mmc0: new high speed SDHC card at address 0001
[ 22.469725] mmcblk0: mmc0:0001 EB1QT 29.8 GiB
[ 22.478856] mmcblk0: p1 p2

Signed-off-by: Michael Trimarchi <[email protected]>
Signed-off-by: Suniel Mahesh <[email protected]>
---
Changes for v2:
- Changed patch description as suggested by Michael Trimarchi to make it
more readable/understandable.
---
arch/arm/boot/dts/imx6qdl-icore.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index 756f3a9..12997da 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -397,7 +397,7 @@

pinctrl_usbotg: usbotggrp {
fsl,pins = <
- MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
+ MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
>;
};

@@ -409,6 +409,7 @@
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
+ MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0
>;
};

--
2.7.4


2020-07-11 14:00:46

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2] arch: arm: imx6qdl-icore: Fix OTG_ID pin and sdcard detect

On Sat, Jun 20, 2020 at 08:58:16AM +0530, Suniel Mahesh wrote:
> From: Michael Trimarchi <[email protected]>
>
> The current pin muxing scheme muxes GPIO_1 pad for USB_OTG_ID
> because of which when card is inserted, usb otg is enumerated
> and the card is never detected.
>
> [ 64.492645] cfg80211: failed to load regulatory.db
> [ 64.492657] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
> [ 76.343711] ci_hdrc ci_hdrc.0: EHCI Host Controller
> [ 76.349742] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2
> [ 76.388862] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
> [ 76.396650] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
> [ 76.405412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 76.412763] usb usb2: Product: EHCI Host Controller
> [ 76.417666] usb usb2: Manufacturer: Linux 5.8.0-rc1-next-20200618 ehci_hcd
> [ 76.424623] usb usb2: SerialNumber: ci_hdrc.0
> [ 76.431755] hub 2-0:1.0: USB hub found
> [ 76.435862] hub 2-0:1.0: 1 port detected
>
> The TRM mentions GPIO_1 pad should be muxed/assigned for card detect
> and ENET_RX_ER pad for USB_OTG_ID for proper operation.
>
> This patch fixes pin muxing as per TRM and is tested on a
> i.Core 1.5 MX6 DL SOM.
>
> [ 22.449165] mmc0: host does not support reading read-only switch, assuming write-enable
> [ 22.459992] mmc0: new high speed SDHC card at address 0001
> [ 22.469725] mmcblk0: mmc0:0001 EB1QT 29.8 GiB
> [ 22.478856] mmcblk0: p1 p2
>
> Signed-off-by: Michael Trimarchi <[email protected]>
> Signed-off-by: Suniel Mahesh <[email protected]>

Do you need to have Fixes tag and copy stable kernel?

Also, subject prefix should be like 'ARM: dts: ...'

Shawn

> ---
> Changes for v2:
> - Changed patch description as suggested by Michael Trimarchi to make it
> more readable/understandable.
> ---
> arch/arm/boot/dts/imx6qdl-icore.dtsi | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
> index 756f3a9..12997da 100644
> --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
> @@ -397,7 +397,7 @@
>
> pinctrl_usbotg: usbotggrp {
> fsl,pins = <
> - MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
> + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
> >;
> };
>
> @@ -409,6 +409,7 @@
> MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070
> MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070
> MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
> + MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0
> >;
> };
>
> --
> 2.7.4
>

2020-07-17 08:04:48

by Suniel Mahesh

[permalink] [raw]
Subject: [PATCH v3] ARM: dts: imx6qdl-icore: Fix OTG_ID pin and sdcard detect

From: Michael Trimarchi <[email protected]>

The current pin muxing scheme muxes GPIO_1 pad for USB_OTG_ID
because of which when card is inserted, usb otg is enumerated
and the card is never detected.

[ 64.492645] cfg80211: failed to load regulatory.db
[ 64.492657] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
[ 76.343711] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 76.349742] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2
[ 76.388862] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 76.396650] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
[ 76.405412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 76.412763] usb usb2: Product: EHCI Host Controller
[ 76.417666] usb usb2: Manufacturer: Linux 5.8.0-rc1-next-20200618 ehci_hcd
[ 76.424623] usb usb2: SerialNumber: ci_hdrc.0
[ 76.431755] hub 2-0:1.0: USB hub found
[ 76.435862] hub 2-0:1.0: 1 port detected

The TRM mentions GPIO_1 pad should be muxed/assigned for card detect
and ENET_RX_ER pad for USB_OTG_ID for proper operation.

This patch fixes pin muxing as per TRM and is tested on a
i.Core 1.5 MX6 DL SOM.

[ 22.449165] mmc0: host does not support reading read-only switch, assuming write-enable
[ 22.459992] mmc0: new high speed SDHC card at address 0001
[ 22.469725] mmcblk0: mmc0:0001 EB1QT 29.8 GiB
[ 22.478856] mmcblk0: p1 p2

Fixes: 6df11287f7c9 ("ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual initial support")
Cc: [email protected]
Signed-off-by: Michael Trimarchi <[email protected]>
Signed-off-by: Suniel Mahesh <[email protected]>
---
Changes for v3:
- Changed subject of the patch, added fixes tag and copied stable kernel
as suggested by Shawn Guo.

Changes for v2:
- Changed patch description as suggested by Michael Trimarchi to make it
more readable/understandable.

NOTE:
- patch tested on i.Core 1.5 MX6 DL
---
arch/arm/boot/dts/imx6qdl-icore.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index f2f475e..23c318d 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -398,7 +398,7 @@

pinctrl_usbotg: usbotggrp {
fsl,pins = <
- MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
+ MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
>;
};

@@ -410,6 +410,7 @@
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
+ MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0
>;
};

--
2.7.4

2020-07-20 03:27:16

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v3] ARM: dts: imx6qdl-icore: Fix OTG_ID pin and sdcard detect

On Fri, Jul 17, 2020 at 01:33:52PM +0530, Suniel Mahesh wrote:
> From: Michael Trimarchi <[email protected]>
>
> The current pin muxing scheme muxes GPIO_1 pad for USB_OTG_ID
> because of which when card is inserted, usb otg is enumerated
> and the card is never detected.
>
> [ 64.492645] cfg80211: failed to load regulatory.db
> [ 64.492657] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
> [ 76.343711] ci_hdrc ci_hdrc.0: EHCI Host Controller
> [ 76.349742] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2
> [ 76.388862] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
> [ 76.396650] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
> [ 76.405412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 76.412763] usb usb2: Product: EHCI Host Controller
> [ 76.417666] usb usb2: Manufacturer: Linux 5.8.0-rc1-next-20200618 ehci_hcd
> [ 76.424623] usb usb2: SerialNumber: ci_hdrc.0
> [ 76.431755] hub 2-0:1.0: USB hub found
> [ 76.435862] hub 2-0:1.0: 1 port detected
>
> The TRM mentions GPIO_1 pad should be muxed/assigned for card detect
> and ENET_RX_ER pad for USB_OTG_ID for proper operation.
>
> This patch fixes pin muxing as per TRM and is tested on a
> i.Core 1.5 MX6 DL SOM.
>
> [ 22.449165] mmc0: host does not support reading read-only switch, assuming write-enable
> [ 22.459992] mmc0: new high speed SDHC card at address 0001
> [ 22.469725] mmcblk0: mmc0:0001 EB1QT 29.8 GiB
> [ 22.478856] mmcblk0: p1 p2
>
> Fixes: 6df11287f7c9 ("ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual initial support")
> Cc: [email protected]
> Signed-off-by: Michael Trimarchi <[email protected]>
> Signed-off-by: Suniel Mahesh <[email protected]>

Applied, thanks.