Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
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 > --- > 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 = <0x1000 0x8000>; > }; > + > + regulators { > + compatible = "simple-bus"; > + > + reg_usb_otg_vbus: usb_otg_vbus { > + compatible = "regulator-fixed"; > + regulator-name = "usb_otg_vbus"; > + regulator-min-microvolt = <500>; > + regulator-max-microvolt = <500>; > + gpio = <&gpio4 15 0>; > + enable-active-low; > + }; > + }; > }; > > &ecspi3 { > @@ -134,6 +147,7 @@ > MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x8000 > MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x8000 /* > SPI NOR chipselect */ > MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x8000 /* > PMIC interrupt */ > + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x8000 /* > 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 majord...@vger.kernel.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- | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
On Fri, Jan 24, 2014 at 12:15:08PM +, Fabio Estevam wrote: > Hi Mark, > > On Fri, Jan 24, 2014 at 9:50 AM, Mark Rutland 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 = <0x1000 0x4000>; > }; > > - regulators { > - compatible = "simple-bus"; > - > - reg_usb_otg_vbus: usb_otg_vbus { > - compatible = "regulator-fixed"; > - regulator-name = "usb_otg_vbus"; > - regulator-min-microvolt = <500>; > - regulator-max-microvolt = <500>; > - gpio = <&gpio3 22 0>; > - enable-active-high; > - }; > + reg_usb_otg_vbus: regulator@0 { > + compatible = "regulator-fixed"; > + regulator-name = "usb_otg_vbus"; > + regulator-min-microvolt = <500>; > + regulator-max-microvolt = <500>; > + 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 = <500>; > - regulator-max-microvolt = <500>; > - gpio = <&gpio1 29 0>; > - enable-active-high; > - }; > + reg_usb_h1_vbus: regulator@1 { > + compatible = "regulator-fixed"; > + regulator-name = "usb_h1_vbus"; > + regulator-min-microvolt = <500>; > + regulator-max-microvolt = <500>; > + 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
On Fri, Jan 24, 2014 at 11:50:05AM +, Mark Rutland wrote: > > @@ -18,6 +18,19 @@ > > memory { > > reg = <0x1000 0x8000>; > > }; > > + > > + 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 = <500>; > > + regulator-max-microvolt = <500>; > > + 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
Hi Mark, On Fri, Jan 24, 2014 at 9:50 AM, Mark Rutland 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 = <0x1000 0x4000>; }; - regulators { - compatible = "simple-bus"; - - reg_usb_otg_vbus: usb_otg_vbus { - compatible = "regulator-fixed"; - regulator-name = "usb_otg_vbus"; - regulator-min-microvolt = <500>; - regulator-max-microvolt = <500>; - gpio = <&gpio3 22 0>; - enable-active-high; - }; + reg_usb_otg_vbus: regulator@0 { + compatible = "regulator-fixed"; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <500>; + regulator-max-microvolt = <500>; + 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 = <500>; - regulator-max-microvolt = <500>; - gpio = <&gpio1 29 0>; - enable-active-high; - }; + reg_usb_h1_vbus: regulator@1 { + compatible = "regulator-fixed"; + regulator-name = "usb_h1_vbus"; + regulator-min-microvolt = <500>; + regulator-max-microvolt = <500>; + 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
On Fri, Jan 24, 2014 at 09:28:44AM +, Ashutosh singh wrote: > This patch adds support for USB_OTG on Phytec phyFLEX-i.MX6 Quad module. > > Signed-off-by: Ashutosh singh > --- > 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 = <0x1000 0x8000>; > }; > + > + 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 = <500>; > + regulator-max-microvolt = <500>; > + 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ARM-i.MX6Q-dts : Added USB_OTG Support
This patch adds support for USB_OTG on Phytec phyFLEX-i.MX6 Quad module. Signed-off-by: Ashutosh singh --- 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 = <0x1000 0x8000>; }; + + regulators { + compatible = "simple-bus"; + + reg_usb_otg_vbus: usb_otg_vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <500>; + regulator-max-microvolt = <500>; + gpio = <&gpio4 15 0>; + enable-active-low; + }; + }; }; &ecspi3 { @@ -134,6 +147,7 @@ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x8000 MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x8000 /* SPI NOR chipselect */ MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x8000 /* PMIC interrupt */ + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x8000 /* 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html