* [PATCH 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset
@ 2017-07-24 8:50 Gary Bisson
2017-07-24 8:50 ` [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 8:50 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
This series is follow-up to those two patches:
https://patchwork.kernel.org/patch/9395531/
https://patchwork.kernel.org/patch/9395539/
At the time they were refused because a pwrseq library was supposed to
get in. Unfortunately that plan hasn't succeeded yet so re-submitting
the original two patches with the following modifications:
- Rebase on top of v4.13-rc2
- Reword the title to make it clear this is a fix
- Reword the changelog so it is clearly a temporary workaround
Let me know if you have any question.
Regards,
Gary
Gary Bisson (2):
ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 20 ++++++++++++++++++++
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 20 ++++++++++++++++++++
2 files changed, 40 insertions(+)
--
2.11.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
2017-07-24 8:50 [PATCH 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset Gary Bisson
@ 2017-07-24 8:50 ` Gary Bisson
2017-07-24 12:49 ` Fabio Estevam
2017-07-24 8:50 ` [PATCH 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
2 siblings, 1 reply; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 8:50 UTC (permalink / raw)
To: linux-arm-kernel
Declared as a regulator since the driver doesn't have a reset-gpios
property for this.
This ensures that the PHY is woken up, not depending on the state the
second stage bootloader leaves the pin.
This is a workaround until a proper mechanism is provided to reset such
devices like the pwrseq library [1] for instance.
[1] https://lkml.org/lkml/2017/2/10/779
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
index afe7449c47da..7bd14e23afb8 100644
--- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
@@ -123,6 +123,19 @@
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
+
+ reg_usb_h1_vbus: regulator at 7 {
+ compatible = "regulator-fixed";
+ reg = <7>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1>;
+ regulator-name = "usb_h1_vbus";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
};
mipi_xclk: mipi_xclk {
@@ -610,6 +623,12 @@
>;
};
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x030b0
+ >;
+ };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
@@ -705,6 +724,7 @@
};
&usbh1 {
+ vbus-supply = <®_usb_h1_vbus>;
status = "okay";
};
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
2017-07-24 8:50 [PATCH 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset Gary Bisson
2017-07-24 8:50 ` [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
@ 2017-07-24 8:50 ` Gary Bisson
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
2 siblings, 0 replies; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 8:50 UTC (permalink / raw)
To: linux-arm-kernel
Declared as a regulator since the driver doesn't have a reset-gpios
property for this.
This ensures that the PHY is woken up, not depending on the state the
second stage bootloader leaves the pin.
This is a workaround until a proper mechanism is provided to reset such
devices like the pwrseq library [1] for instance.
[1] https://lkml.org/lkml/2017/2/10/779
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
index f22e5879340b..989376643cf6 100644
--- a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
@@ -108,6 +108,19 @@
startup-delay-us = <70000>;
enable-active-high;
};
+
+ reg_usb_h1_vbus: regulator at 5 {
+ compatible = "regulator-fixed";
+ reg = <5>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1>;
+ regulator-name = "usb_h1_vbus";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
};
gpio-keys {
@@ -515,6 +528,12 @@
>;
};
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x030b0
+ >;
+ };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
@@ -629,6 +648,7 @@
};
&usbh1 {
+ vbus-supply = <®_usb_h1_vbus>;
status = "okay";
};
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
2017-07-24 8:50 ` [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
@ 2017-07-24 12:49 ` Fabio Estevam
2017-07-24 12:52 ` Gary Bisson
0 siblings, 1 reply; 11+ messages in thread
From: Fabio Estevam @ 2017-07-24 12:49 UTC (permalink / raw)
To: linux-arm-kernel
Hi Gary,
On Mon, Jul 24, 2017 at 5:50 AM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
> +
> + reg_usb_h1_vbus: regulator at 7 {
> + compatible = "regulator-fixed";
> + reg = <7>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usbh1>;
> + regulator-name = "usb_h1_vbus";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
As this regulator is controlled via GPIO I believe you should remove
the ' regulator-always-on' property.
Same applies to 2/2/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
2017-07-24 12:49 ` Fabio Estevam
@ 2017-07-24 12:52 ` Gary Bisson
0 siblings, 0 replies; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 12:52 UTC (permalink / raw)
To: linux-arm-kernel
Hi Fabio,
On Mon, Jul 24, 2017 at 2:49 PM, Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Gary,
>
> On Mon, Jul 24, 2017 at 5:50 AM, Gary Bisson
> <gary.bisson@boundarydevices.com> wrote:
>
> > +
> > + reg_usb_h1_vbus: regulator at 7 {
> > + compatible = "regulator-fixed";
> > + reg = <7>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_usbh1>;
> > + regulator-name = "usb_h1_vbus";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + regulator-always-on;
>
> As this regulator is controlled via GPIO I believe you should remove
> the ' regulator-always-on' property.
>
> Same applies to 2/2/
Good catch, I'll send a v2 right away.
Thanks,
Gary
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset
2017-07-24 8:50 [PATCH 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset Gary Bisson
2017-07-24 8:50 ` [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
2017-07-24 8:50 ` [PATCH 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
@ 2017-07-24 12:59 ` Gary Bisson
2017-07-24 12:59 ` [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
` (2 more replies)
2 siblings, 3 replies; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 12:59 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
This series is follow-up to those two patches:
https://patchwork.kernel.org/patch/9395531/
https://patchwork.kernel.org/patch/9395539/
At the time they were refused because a pwrseq library was supposed to
get in. Unfortunately that plan hasn't succeeded yet so re-submitting
the original two patches with the following modifications:
- Rebase on top of v4.13-rc2
- Reword the title to make it clear this is a fix
- Reword the changelog so it is clearly a temporary workaround
Changelog v1->v2:
- Remove 'regulator-always-on' property as suggested by Fabio
Let me know if you have any question.
Regards,
Gary
Gary Bisson (2):
ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 19 +++++++++++++++++++
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 19 +++++++++++++++++++
2 files changed, 38 insertions(+)
--
2.11.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
@ 2017-07-24 12:59 ` Gary Bisson
2017-07-24 13:03 ` Fabio Estevam
2017-07-24 12:59 ` [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
2017-07-26 2:39 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Shawn Guo
2 siblings, 1 reply; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 12:59 UTC (permalink / raw)
To: linux-arm-kernel
Declared as a regulator since the driver doesn't have a reset-gpios
property for this.
This ensures that the PHY is woken up, not depending on the state the
second stage bootloader leaves the pin.
This is a workaround until a proper mechanism is provided to reset such
devices like the pwrseq library [1] for instance.
[1] https://lkml.org/lkml/2017/2/10/779
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
index afe7449c47da..756c5054f047 100644
--- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
@@ -123,6 +123,18 @@
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
+
+ reg_usb_h1_vbus: regulator at 7 {
+ compatible = "regulator-fixed";
+ reg = <7>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1>;
+ regulator-name = "usb_h1_vbus";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
};
mipi_xclk: mipi_xclk {
@@ -610,6 +622,12 @@
>;
};
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x030b0
+ >;
+ };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
@@ -705,6 +723,7 @@
};
&usbh1 {
+ vbus-supply = <®_usb_h1_vbus>;
status = "okay";
};
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
@ 2017-07-24 12:59 ` Gary Bisson
2017-07-24 13:04 ` Fabio Estevam
2017-07-26 2:39 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Shawn Guo
2 siblings, 1 reply; 11+ messages in thread
From: Gary Bisson @ 2017-07-24 12:59 UTC (permalink / raw)
To: linux-arm-kernel
Declared as a regulator since the driver doesn't have a reset-gpios
property for this.
This ensures that the PHY is woken up, not depending on the state the
second stage bootloader leaves the pin.
This is a workaround until a proper mechanism is provided to reset such
devices like the pwrseq library [1] for instance.
[1] https://lkml.org/lkml/2017/2/10/779
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
index f22e5879340b..d309a4d0eb08 100644
--- a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
@@ -108,6 +108,18 @@
startup-delay-us = <70000>;
enable-active-high;
};
+
+ reg_usb_h1_vbus: regulator at 5 {
+ compatible = "regulator-fixed";
+ reg = <5>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1>;
+ regulator-name = "usb_h1_vbus";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
};
gpio-keys {
@@ -515,6 +527,12 @@
>;
};
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x030b0
+ >;
+ };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
@@ -629,6 +647,7 @@
};
&usbh1 {
+ vbus-supply = <®_usb_h1_vbus>;
status = "okay";
};
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
2017-07-24 12:59 ` [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
@ 2017-07-24 13:03 ` Fabio Estevam
0 siblings, 0 replies; 11+ messages in thread
From: Fabio Estevam @ 2017-07-24 13:03 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jul 24, 2017 at 9:59 AM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
> Declared as a regulator since the driver doesn't have a reset-gpios
> property for this.
>
> This ensures that the PHY is woken up, not depending on the state the
> second stage bootloader leaves the pin.
>
> This is a workaround until a proper mechanism is provided to reset such
> devices like the pwrseq library [1] for instance.
>
> [1] https://lkml.org/lkml/2017/2/10/779
>
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
2017-07-24 12:59 ` [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
@ 2017-07-24 13:04 ` Fabio Estevam
0 siblings, 0 replies; 11+ messages in thread
From: Fabio Estevam @ 2017-07-24 13:04 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jul 24, 2017 at 9:59 AM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
> Declared as a regulator since the driver doesn't have a reset-gpios
> property for this.
>
> This ensures that the PHY is woken up, not depending on the state the
> second stage bootloader leaves the pin.
>
> This is a workaround until a proper mechanism is provided to reset such
> devices like the pwrseq library [1] for instance.
>
> [1] https://lkml.org/lkml/2017/2/10/779
>
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
@ 2017-07-26 2:39 ` Shawn Guo
2 siblings, 0 replies; 11+ messages in thread
From: Shawn Guo @ 2017-07-26 2:39 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jul 24, 2017 at 02:59:56PM +0200, Gary Bisson wrote:
> Gary Bisson (2):
> ARM: dts: imx6qdl-sabrelite: fix USB PHY reset
> ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
Applied both, thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-07-26 2:39 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-24 8:50 [PATCH 0/2] ARM: dts: sabrelite/nitrogen6x: fix USB PHY reset Gary Bisson
2017-07-24 8:50 ` [PATCH 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
2017-07-24 12:49 ` Fabio Estevam
2017-07-24 12:52 ` Gary Bisson
2017-07-24 8:50 ` [PATCH 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " Gary Bisson
2017-07-24 12:59 ` [PATCH v2 1/2] ARM: dts: imx6qdl-sabrelite: " Gary Bisson
2017-07-24 13:03 ` Fabio Estevam
2017-07-24 12:59 ` [PATCH v2 2/2] ARM: dts: imx6qdl-nitrogen6x: " Gary Bisson
2017-07-24 13:04 ` Fabio Estevam
2017-07-26 2:39 ` [PATCH v2 0/2] ARM: dts: sabrelite/nitrogen6x: " 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).