linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing
@ 2021-03-29 11:28 Stefan Riedmueller
  2021-03-29 11:28 ` [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral Stefan Riedmueller
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Stefan Riedmueller @ 2021-03-29 11:28 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer
  Cc: Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-arm-kernel, linux-kernel, Stefan Riedmueller

The pinmuxing for the enable pin of the usbh1 node is wrong. It needs to
be muxed as GPIO. While at it, move the pinctrl to the vbus regulator
since it is actually the regulator enable pin.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
---
 arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
index 7a1e53195785..995e99952aca 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
@@ -31,6 +31,8 @@ reg_usb_otg_vbus: regulator@0 {
 
 		reg_usb_h1_vbus: regulator@1 {
 			compatible = "regulator-fixed";
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinctrl_usbh1_vbus>;
 			reg = <1>;
 			regulator-name = "usb_h1_vbus";
 			regulator-min-microvolt = <5000000>;
@@ -328,9 +330,9 @@ MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
 			>;
 		};
 
-		pinctrl_usbh1: usbh1grp {
+		pinctrl_usbh1_vbus: usbh1vbusgrp {
 			fsl,pins = <
-				MX6QDL_PAD_GPIO_0__USB_H1_PWR		0x80000000
+				MX6QDL_PAD_GPIO_0__GPIO1_IO00		0x80000000
 			>;
 		};
 
@@ -415,8 +417,6 @@ &uart4 {
 
 &usbh1 {
 	vbus-supply = <&reg_usb_h1_vbus>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_usbh1>;
 	status = "disabled";
 };
 
-- 
2.25.1


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

* [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral
  2021-03-29 11:28 [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Stefan Riedmueller
@ 2021-03-29 11:28 ` Stefan Riedmueller
  2021-03-29 11:33   ` Fabio Estevam
  2021-03-29 11:28 ` [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces Stefan Riedmueller
  2021-03-29 11:32 ` [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Fabio Estevam
  2 siblings, 1 reply; 8+ messages in thread
From: Stefan Riedmueller @ 2021-03-29 11:28 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer
  Cc: Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-arm-kernel, linux-kernel, Stefan Riedmueller

Due to a hardware bug preventing the correct detection if the ID pin
the USB OTG port cannot be used in otg mode. It can either be set to
host or peripheral. Set it to peripheral so vbus is disabled by default.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
---
 arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
index d434868e870a..b2f78b4362cb 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
@@ -164,6 +164,7 @@ &usbh1 {
 
 &usbotg {
 	status = "okay";
+	dr_mode = "peripheral";
 };
 
 &usdhc2 {
-- 
2.25.1


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

* [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
  2021-03-29 11:28 [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Stefan Riedmueller
  2021-03-29 11:28 ` [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral Stefan Riedmueller
@ 2021-03-29 11:28 ` Stefan Riedmueller
  2021-03-29 11:34   ` Fabio Estevam
  2021-03-29 11:32 ` [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Fabio Estevam
  2 siblings, 1 reply; 8+ messages in thread
From: Stefan Riedmueller @ 2021-03-29 11:28 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer
  Cc: Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-arm-kernel, linux-kernel, Stefan Riedmueller

Setting the vmmc supplies is crucial since otherwise the supplying
regulators get disabled and the SD interfaces are no longer powered
which leads to system failures if the system is booted from that SD
interface.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
---
 arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
index 995e99952aca..3ab12aa2a615 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
@@ -433,6 +433,7 @@ &usdhc2 {
 	pinctrl-0 = <&pinctrl_usdhc2>;
 	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
 	wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&vdd_sd1_reg>;
 	status = "disabled";
 };
 
@@ -442,5 +443,6 @@ &usdhc3 {
 		     &pinctrl_usdhc3_cdwp>;
 	cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
 	wp-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&vdd_sd0_reg>;
 	status = "disabled";
 };
-- 
2.25.1


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

* Re: [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing
  2021-03-29 11:28 [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Stefan Riedmueller
  2021-03-29 11:28 ` [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral Stefan Riedmueller
  2021-03-29 11:28 ` [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces Stefan Riedmueller
@ 2021-03-29 11:32 ` Fabio Estevam
  2021-03-29 12:39   ` Stefan Riedmüller
  2 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2021-03-29 11:32 UTC (permalink / raw)
  To: Stefan Riedmueller
  Cc: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	NXP Linux Team,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	linux-kernel

Hi Stefan,

On Mon, Mar 29, 2021 at 8:28 AM Stefan Riedmueller
<s.riedmueller@phytec.de> wrote:

> -               pinctrl_usbh1: usbh1grp {
> +               pinctrl_usbh1_vbus: usbh1vbusgrp {
>                         fsl,pins = <
> -                               MX6QDL_PAD_GPIO_0__USB_H1_PWR           0x80000000
> +                               MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x80000000

While you are on it, could you please use avoid the usage of
0x80000000 and explicitly pass the default value instead?

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

* Re: [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral
  2021-03-29 11:28 ` [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral Stefan Riedmueller
@ 2021-03-29 11:33   ` Fabio Estevam
  0 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2021-03-29 11:33 UTC (permalink / raw)
  To: Stefan Riedmueller
  Cc: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	NXP Linux Team,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	linux-kernel

On Mon, Mar 29, 2021 at 8:28 AM Stefan Riedmueller
<s.riedmueller@phytec.de> wrote:
>
> Due to a hardware bug preventing the correct detection if the ID pin
> the USB OTG port cannot be used in otg mode. It can either be set to
> host or peripheral. Set it to peripheral so vbus is disabled by default.
>
> Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>

Reviewed-by: Fabio Estevam <festevam@gmail.com>

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

* Re: [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
  2021-03-29 11:28 ` [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces Stefan Riedmueller
@ 2021-03-29 11:34   ` Fabio Estevam
  2021-03-29 12:41     ` Stefan Riedmüller
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2021-03-29 11:34 UTC (permalink / raw)
  To: Stefan Riedmueller
  Cc: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	NXP Linux Team,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	linux-kernel

On Mon, Mar 29, 2021 at 8:28 AM Stefan Riedmueller
<s.riedmueller@phytec.de> wrote:
>
> Setting the vmmc supplies is crucial since otherwise the supplying
> regulators get disabled and the SD interfaces are no longer powered
> which leads to system failures if the system is booted from that SD
> interface.

It seems that this deserves a Fixes tag.

Reviewed-by: Fabio Estevam <festevam@gmail.com>

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

* Re: [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing
  2021-03-29 11:32 ` [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Fabio Estevam
@ 2021-03-29 12:39   ` Stefan Riedmüller
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Riedmüller @ 2021-03-29 12:39 UTC (permalink / raw)
  To: festevam
  Cc: kernel, linux-imx, s.hauer, devicetree, shawnguo, linux-kernel,
	linux-arm-kernel, robh+dt

Hi Fabio,

On Mon, 2021-03-29 at 08:32 -0300, Fabio Estevam wrote:
> Hi Stefan,
> 
> On Mon, Mar 29, 2021 at 8:28 AM Stefan Riedmueller
> <s.riedmueller@phytec.de> wrote:
> 
> > -               pinctrl_usbh1: usbh1grp {
> > +               pinctrl_usbh1_vbus: usbh1vbusgrp {
> >                         fsl,pins = <
> > -                               MX6QDL_PAD_GPIO_0__USB_H1_PWR           0x
> > 80000000
> > +                               MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x
> > 80000000
> 
> While you are on it, could you please use avoid the usage of
> 0x80000000 and explicitly pass the default value instead?

Thanks for your review. Sure, I'll fix that in a v2.

Stefan

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

* Re: [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
  2021-03-29 11:34   ` Fabio Estevam
@ 2021-03-29 12:41     ` Stefan Riedmüller
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Riedmüller @ 2021-03-29 12:41 UTC (permalink / raw)
  To: festevam
  Cc: kernel, linux-imx, s.hauer, devicetree, shawnguo, linux-kernel,
	linux-arm-kernel, robh+dt

Hi Fabio,

On Mon, 2021-03-29 at 08:34 -0300, Fabio Estevam wrote:
> On Mon, Mar 29, 2021 at 8:28 AM Stefan Riedmueller
> <s.riedmueller@phytec.de> wrote:
> > Setting the vmmc supplies is crucial since otherwise the supplying
> > regulators get disabled and the SD interfaces are no longer powered
> > which leads to system failures if the system is booted from that SD
> > interface.
> 
> It seems that this deserves a Fixes tag.

I think this must be broken for some time now. My guess is that it broke when
the PMIC support for the SOM was added. So I can add a fixes tag for that
commit.

Thanks,
Stefan

> 
> Reviewed-by: Fabio Estevam <festevam@gmail.com>

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

end of thread, other threads:[~2021-03-29 12:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-29 11:28 [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Stefan Riedmueller
2021-03-29 11:28 ` [PATCH 2/3] ARM: dts: imx6: pbab01: Set USB OTG port to peripheral Stefan Riedmueller
2021-03-29 11:33   ` Fabio Estevam
2021-03-29 11:28 ` [PATCH 3/3] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces Stefan Riedmueller
2021-03-29 11:34   ` Fabio Estevam
2021-03-29 12:41     ` Stefan Riedmüller
2021-03-29 11:32 ` [PATCH 1/3] ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing Fabio Estevam
2021-03-29 12:39   ` Stefan Riedmüller

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