* [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
@ 2014-01-24 9:28 Ashutosh singh
[not found] ` <1390555724-9779-1-git-send-email-ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Ashutosh singh @ 2014-01-24 9:28 UTC (permalink / raw)
To: shawn.guo-QSEj5FYQhm4dnm+yROfE0A, kernel-bIcnvbaLZ9MEGnE8C9+IrQ
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-usb-u79uwXL29TY76Z2rM5mHXA, Ashutosh singh
This patch adds support for USB_OTG on Phytec phyFLEX-i.MX6 Quad module.
Signed-off-by: Ashutosh singh <ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org>
---
arch/arm/boot/dts/imx6q-phytec-pbab01.dts | 4 ++++
arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi | 22 ++++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts
index 7d37ec6..39e69bd 100644
--- a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts
+++ b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts
@@ -32,3 +32,7 @@
&usdhc3 {
status = "okay";
};
+
+&usbotg {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
index 1a3b50d..dcb1d59 100644
--- a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
@@ -18,6 +18,19 @@
memory {
reg = <0x10000000 0x80000000>;
};
+
+ regulators {
+ compatible = "simple-bus";
+
+ reg_usb_otg_vbus: usb_otg_vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb_otg_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 15 0>;
+ enable-active-low;
+ };
+ };
};
&ecspi3 {
@@ -134,6 +147,7 @@
MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000
MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x80000000 /* SPI NOR chipselect */
MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x80000000 /* PMIC interrupt */
+ MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* USB_OTG_PWR_EN */
>;
};
};
@@ -178,3 +192,11 @@
wp-gpios = <&gpio1 29 0>;
status = "disabled";
};
+
+&usbotg {
+ vbus-supply = <®_usb_otg_vbus>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbotg_1>;
+ disable-over-current;
+ status = "disabled";
+};
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 6+ messages in thread[parent not found: <1390555724-9779-1-git-send-email-ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org>]
* Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support [not found] ` <1390555724-9779-1-git-send-email-ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org> @ 2014-01-24 11:50 ` Mark Rutland [not found] ` <20140124115005.GG814-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org> 2014-01-24 22:04 ` Sascha Hauer 1 sibling, 1 reply; 6+ messages in thread From: Mark Rutland @ 2014-01-24 11:50 UTC (permalink / raw) To: Ashutosh singh Cc: shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ashutosh singh On Fri, Jan 24, 2014 at 09:28:44AM +0000, Ashutosh singh wrote: > This patch adds support for USB_OTG on Phytec phyFLEX-i.MX6 Quad module. > > Signed-off-by: Ashutosh singh <ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org> > --- > arch/arm/boot/dts/imx6q-phytec-pbab01.dts | 4 ++++ > arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi | 22 ++++++++++++++++++++++ > 2 files changed, 26 insertions(+) > > diff --git a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > index 7d37ec6..39e69bd 100644 > --- a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > +++ b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > @@ -32,3 +32,7 @@ > &usdhc3 { > status = "okay"; > }; > + > +&usbotg { > + status = "okay"; > +}; > diff --git a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > index 1a3b50d..dcb1d59 100644 > --- a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > +++ b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > @@ -18,6 +18,19 @@ > memory { > reg = <0x10000000 0x80000000>; > }; > + > + regulators { > + compatible = "simple-bus"; This is _not_ a simple bus. It doesn't have the required ranges property. Why do these need to be in a regulators container node? We don't group dma controllers under a dmas node, or uarts under a uarts node. > + > + reg_usb_otg_vbus: usb_otg_vbus { > + compatible = "regulator-fixed"; > + regulator-name = "usb_otg_vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio4 15 0>; > + enable-active-low; > + }; > + }; > }; Thanks, Mark. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20140124115005.GG814-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>]
* Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support [not found] ` <20140124115005.GG814-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org> @ 2014-01-24 12:15 ` Fabio Estevam 2014-01-24 15:34 ` Mark Rutland 2014-01-24 15:32 ` Shawn Guo 1 sibling, 1 reply; 6+ messages in thread From: Fabio Estevam @ 2014-01-24 12:15 UTC (permalink / raw) To: Mark Rutland Cc: Ashutosh singh, shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ashutosh singh Hi Mark, On Fri, Jan 24, 2014 at 9:50 AM, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> wrote: >> + >> + regulators { >> + compatible = "simple-bus"; > > This is _not_ a simple bus. It doesn't have the required ranges > property. > > Why do these need to be in a regulators container node? We don't group > dma controllers under a dmas node, or uarts under a uarts node. It seems we have this same issue on several imx6 dts files. Would the below address your suggestion? diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl- index e75e11b..ba35560 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi @@ -15,33 +15,29 @@ reg = <0x10000000 0x40000000>; }; - regulators { - compatible = "simple-bus"; - - reg_usb_otg_vbus: usb_otg_vbus { - compatible = "regulator-fixed"; - regulator-name = "usb_otg_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio3 22 0>; - enable-active-high; - }; + reg_usb_otg_vbus: regulator@0 { + compatible = "regulator-fixed"; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio3 22 0>; + enable-active-high; + }; - reg_usb_h1_vbus: usb_h1_vbus { - compatible = "regulator-fixed"; - regulator-name = "usb_h1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio1 29 0>; - enable-active-high; - }; + reg_usb_h1_vbus: regulator@1 { + compatible = "regulator-fixed"; + regulator-name = "usb_h1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio1 29 0>; + enable-active-high; + }; - reg_audio: wm8962_supply { - compatible = "regulator-fixed"; - regulator-name = "wm8962-supply"; - gpio = <&gpio4 10 0>; - enable-active-high; - }; + reg_audio: regulator@2 { + compatible = "regulator-fixed"; + regulator-name = "wm8962-supply"; + gpio = <&gpio4 10 0>; + enable-active-high; }; gpio-keys { If so, I will prepare some patches to update other dts files. Thanks, Fabio Estevam -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support 2014-01-24 12:15 ` Fabio Estevam @ 2014-01-24 15:34 ` Mark Rutland 0 siblings, 0 replies; 6+ messages in thread From: Mark Rutland @ 2014-01-24 15:34 UTC (permalink / raw) To: Fabio Estevam Cc: devicetree@vger.kernel.org, linux-usb@vger.kernel.org, Ashutosh singh, kernel@pengutronix.de, Ashutosh singh, shawn.guo@linaro.org, linux-arm-kernel@lists.infradead.org On Fri, Jan 24, 2014 at 12:15:08PM +0000, Fabio Estevam wrote: > Hi Mark, > > On Fri, Jan 24, 2014 at 9:50 AM, Mark Rutland <mark.rutland@arm.com> wrote: > > >> + > >> + regulators { > >> + compatible = "simple-bus"; > > > > This is _not_ a simple bus. It doesn't have the required ranges > > property. > > > > Why do these need to be in a regulators container node? We don't group > > dma controllers under a dmas node, or uarts under a uarts node. > > It seems we have this same issue on several imx6 dts files. > > Would the below address your suggestion? The below patch looks good to me. In general there seems to be a misunderstanding of the purpose of simple-bus, as an annotation that children of a node should be probed, rather than as a representation of a simple bus (which is of the same type as the parent-bus, which requires no programming, where children can be used without knowledge of the simple-bus). There seem to be a lot of cases where simple-bus is used as a fallback compatible string, when in reality the node's children make no sense without information from and/or programming of the node with the simple-bus property. Those cases are completely wrong, and a complete abuse of simple-bus. There are other cases where simple-bus nodes are used to group nodes from a commonly reused block. As long as these have the requisite ranges, #address-cells, and #size-cells, then they are valid, and make sense for translating / widening addresses for common groups of peripherals even if they're not on a different physical bus. I don't see the point in grouping together nodes in an artificial container because of their functionality rather than their topology, it seems to breed confusion. Cheers, Mark. > > diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl- > index e75e11b..ba35560 100644 > --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi > @@ -15,33 +15,29 @@ > reg = <0x10000000 0x40000000>; > }; > > - regulators { > - compatible = "simple-bus"; > - > - reg_usb_otg_vbus: usb_otg_vbus { > - compatible = "regulator-fixed"; > - regulator-name = "usb_otg_vbus"; > - regulator-min-microvolt = <5000000>; > - regulator-max-microvolt = <5000000>; > - gpio = <&gpio3 22 0>; > - enable-active-high; > - }; > + reg_usb_otg_vbus: regulator@0 { > + compatible = "regulator-fixed"; > + regulator-name = "usb_otg_vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio3 22 0>; > + enable-active-high; > + }; > > - reg_usb_h1_vbus: usb_h1_vbus { > - compatible = "regulator-fixed"; > - regulator-name = "usb_h1_vbus"; > - regulator-min-microvolt = <5000000>; > - regulator-max-microvolt = <5000000>; > - gpio = <&gpio1 29 0>; > - enable-active-high; > - }; > + reg_usb_h1_vbus: regulator@1 { > + compatible = "regulator-fixed"; > + regulator-name = "usb_h1_vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio1 29 0>; > + enable-active-high; > + }; > > - reg_audio: wm8962_supply { > - compatible = "regulator-fixed"; > - regulator-name = "wm8962-supply"; > - gpio = <&gpio4 10 0>; > - enable-active-high; > - }; > + reg_audio: regulator@2 { > + compatible = "regulator-fixed"; > + regulator-name = "wm8962-supply"; > + gpio = <&gpio4 10 0>; > + enable-active-high; > }; > > gpio-keys { > > If so, I will prepare some patches to update other dts files. > > Thanks, > > Fabio Estevam > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support [not found] ` <20140124115005.GG814-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org> 2014-01-24 12:15 ` Fabio Estevam @ 2014-01-24 15:32 ` Shawn Guo 1 sibling, 0 replies; 6+ messages in thread From: Shawn Guo @ 2014-01-24 15:32 UTC (permalink / raw) To: Mark Rutland Cc: Ashutosh singh, kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ashutosh singh On Fri, Jan 24, 2014 at 11:50:05AM +0000, Mark Rutland wrote: > > @@ -18,6 +18,19 @@ > > memory { > > reg = <0x10000000 0x80000000>; > > }; > > + > > + regulators { > > + compatible = "simple-bus"; > > This is _not_ a simple bus. It doesn't have the required ranges > property. Maybe the real question is that if the required ranges property is missing, why kernel still accepts it as a simple bus and populate the devices under it? > > Why do these need to be in a regulators container node? We don't group > dma controllers under a dmas node, or uarts under a uarts node. Grouping fixed clocks under 'clocks' and fixed regulators under 'regulators' is a common pattern which can be found on most of the ARM dts files. Shawn > > > + > > + reg_usb_otg_vbus: usb_otg_vbus { > > + compatible = "regulator-fixed"; > > + regulator-name = "usb_otg_vbus"; > > + regulator-min-microvolt = <5000000>; > > + regulator-max-microvolt = <5000000>; > > + gpio = <&gpio4 15 0>; > > + enable-active-low; > > + }; > > + }; > > }; > > Thanks, > Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support [not found] ` <1390555724-9779-1-git-send-email-ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org> 2014-01-24 11:50 ` Mark Rutland @ 2014-01-24 22:04 ` Sascha Hauer 1 sibling, 0 replies; 6+ messages in thread From: Sascha Hauer @ 2014-01-24 22:04 UTC (permalink / raw) To: Ashutosh singh Cc: shawn.guo-QSEj5FYQhm4dnm+yROfE0A, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Ashutosh singh Please add Phytec phyFLEX-i.MX6 to the subject. I assumed some SoC specific changes here. Sascha On Fri, Jan 24, 2014 at 02:58:44PM +0530, Ashutosh singh wrote: > This patch adds support for USB_OTG on Phytec phyFLEX-i.MX6 Quad module. > > Signed-off-by: Ashutosh singh <ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org> > --- > arch/arm/boot/dts/imx6q-phytec-pbab01.dts | 4 ++++ > arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi | 22 ++++++++++++++++++++++ > 2 files changed, 26 insertions(+) > > diff --git a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > index 7d37ec6..39e69bd 100644 > --- a/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > +++ b/arch/arm/boot/dts/imx6q-phytec-pbab01.dts > @@ -32,3 +32,7 @@ > &usdhc3 { > status = "okay"; > }; > + > +&usbotg { > + status = "okay"; > +}; > diff --git a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > index 1a3b50d..dcb1d59 100644 > --- a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > +++ b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi > @@ -18,6 +18,19 @@ > memory { > reg = <0x10000000 0x80000000>; > }; > + > + regulators { > + compatible = "simple-bus"; > + > + reg_usb_otg_vbus: usb_otg_vbus { > + compatible = "regulator-fixed"; > + regulator-name = "usb_otg_vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio4 15 0>; > + enable-active-low; > + }; > + }; > }; > > &ecspi3 { > @@ -134,6 +147,7 @@ > MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 > MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x80000000 /* SPI NOR chipselect */ > MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x80000000 /* PMIC interrupt */ > + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* USB_OTG_PWR_EN */ > >; > }; > }; > @@ -178,3 +192,11 @@ > wp-gpios = <&gpio1 29 0>; > status = "disabled"; > }; > + > +&usbotg { > + vbus-supply = <®_usb_otg_vbus>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usbotg_1>; > + disable-over-current; > + status = "disabled"; > +}; > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-01-24 22:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-24 9:28 [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support Ashutosh singh
[not found] ` <1390555724-9779-1-git-send-email-ashutosh.s-mS2nBM426Az/PtFMR13I2A@public.gmane.org>
2014-01-24 11:50 ` Mark Rutland
[not found] ` <20140124115005.GG814-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2014-01-24 12:15 ` Fabio Estevam
2014-01-24 15:34 ` Mark Rutland
2014-01-24 15:32 ` Shawn Guo
2014-01-24 22:04 ` Sascha Hauer
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).