* [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx @ 2013-04-15 12:35 Roger Quadros 2013-04-15 12:39 ` Roger Quadros 0 siblings, 1 reply; 8+ messages in thread From: Roger Quadros @ 2013-04-15 12:35 UTC (permalink / raw) To: b-cousson Cc: tony, linux-omap, linux-arm-kernel, devicetree-discuss, linux-kernel, Roger Quadros Provide RESET and Power regulators for the USB PHY, the USB Host port mode and the PHY device. Also provide pin multiplexer information for USB host pins. This will not work for Rev Cx boards because of reversed logic for USB_POWER_Enable. CC: Benoît Cousson <b-cousson@ti.com> Signed-off-by: Roger Quadros <rogerq@ti.com> --- arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts index 5a31964..d394c51 100644 --- a/arch/arm/boot/dts/omap3-beagle-xm.dts +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts @@ -57,6 +57,60 @@ ti,mcbsp = <&mcbsp2>; ti,codec = <&twl_audio>; }; + + /* HS USB Port 2 RESET */ + hsusb2_reset: hsusb2_reset_reg { + compatible = "regulator-fixed"; + regulator-name = "hsusb2_reset"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio5 19 0>; /* gpio_147 */ + startup-delay-us = <70000>; + enable-active-high; + }; + + /* HS USB Port 2 Power */ + hsusb2_power: hsusb2_power_reg { + compatible = "regulator-fixed"; + regulator-name = "hsusb2_vbus"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ + startup-delay-us = <70000>; + enable-active-high; /* FIXME: active-low for Rev. C */ + }; + + /* HS USB Host PHY on PORT 2 */ + hsusb2_phy: hsusb2_phy { + compatible = "usb-nop-xceiv"; + reset-supply = <&hsusb2_reset>; + vcc-supply = <&hsusb2_power>; + }; + +}; + +&omap3_pmx_core { + pinctrl-names = "default"; + pinctrl-0 = < + &hsusbb2_pins + >; + + hsusbb2_pins: pinmux_hsusbb2_pins { + pinctrl-single,pins = < + 0x5c0 0x3 /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_clk OUTPUT */ + 0x5c2 0x3 /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_stp OUTPUT */ + 0x5c4 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dir INPUT | PULLDOWN */ + 0x5c6 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_nxt INPUT | PULLDOWN */ + 0x5c8 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat0 INPUT | PULLDOWN */ + 0x5cA 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat1 INPUT | PULLDOWN */ + 0x1a4 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat2 INPUT | PULLDOWN */ + 0x1a6 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat3 INPUT | PULLDOWN */ + 0x1a8 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat4 INPUT | PULLDOWN */ + 0x1aa 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat5 INPUT | PULLDOWN */ + 0x1ac 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat6 INPUT | PULLDOWN */ + 0x1ae 0x10b /* USBB2_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat7 INPUT | PULLDOWN */ + >; + }; }; &i2c1 { @@ -125,3 +179,11 @@ mode = <3>; power = <50>; }; + +&usbhshost { + port2-mode = "ehci-phy"; +}; + +&usbhsehci { + phys = <0 &hsusb2_phy>; +}; -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-15 12:35 [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx Roger Quadros @ 2013-04-15 12:39 ` Roger Quadros 2013-04-17 0:52 ` Tony Lindgren 0 siblings, 1 reply; 8+ messages in thread From: Roger Quadros @ 2013-04-15 12:39 UTC (permalink / raw) To: b-cousson, tony Cc: Roger Quadros, linux-omap, linux-arm-kernel, devicetree-discuss, linux-kernel On 04/15/2013 03:35 PM, Roger Quadros wrote: > Provide RESET and Power regulators for the USB PHY, > the USB Host port mode and the PHY device. > > Also provide pin multiplexer information for USB host > pins. > > This will not work for Rev Cx boards because of reversed logic > for USB_POWER_Enable. > > CC: Benoît Cousson <b-cousson@ti.com> > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ > 1 files changed, 62 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts > index 5a31964..d394c51 100644 > --- a/arch/arm/boot/dts/omap3-beagle-xm.dts > +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts > @@ -57,6 +57,60 @@ > ti,mcbsp = <&mcbsp2>; > ti,codec = <&twl_audio>; > }; > + > + /* HS USB Port 2 RESET */ > + hsusb2_reset: hsusb2_reset_reg { > + compatible = "regulator-fixed"; > + regulator-name = "hsusb2_reset"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio5 19 0>; /* gpio_147 */ > + startup-delay-us = <70000>; > + enable-active-high; > + }; > + > + /* HS USB Port 2 Power */ > + hsusb2_power: hsusb2_power_reg { > + compatible = "regulator-fixed"; > + regulator-name = "hsusb2_vbus"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ > + startup-delay-us = <70000>; > + enable-active-high; /* FIXME: active-low for Rev. C */ Benoit & Tony, Any ideas how to tackle the reversed logic for Rev. C boards? > + }; > + > + /* HS USB Host PHY on PORT 2 */ > + hsusb2_phy: hsusb2_phy { > + compatible = "usb-nop-xceiv"; > + reset-supply = <&hsusb2_reset>; > + vcc-supply = <&hsusb2_power>; > + }; > + > +}; cheers, -roger ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-15 12:39 ` Roger Quadros @ 2013-04-17 0:52 ` Tony Lindgren 2013-04-17 1:30 ` Robert Nelson 0 siblings, 1 reply; 8+ messages in thread From: Tony Lindgren @ 2013-04-17 0:52 UTC (permalink / raw) To: Roger Quadros Cc: b-cousson, linux-omap, linux-arm-kernel, devicetree-discuss, linux-kernel * Roger Quadros <rogerq@ti.com> [130415 05:44]: > On 04/15/2013 03:35 PM, Roger Quadros wrote: > > Provide RESET and Power regulators for the USB PHY, > > the USB Host port mode and the PHY device. > > > > Also provide pin multiplexer information for USB host > > pins. > > > > This will not work for Rev Cx boards because of reversed logic > > for USB_POWER_Enable. > > > > CC: Benoît Cousson <b-cousson@ti.com> > > Signed-off-by: Roger Quadros <rogerq@ti.com> > > --- > > arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ > > 1 files changed, 62 insertions(+), 0 deletions(-) > > > > diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts > > index 5a31964..d394c51 100644 > > --- a/arch/arm/boot/dts/omap3-beagle-xm.dts > > +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts > > @@ -57,6 +57,60 @@ > > ti,mcbsp = <&mcbsp2>; > > ti,codec = <&twl_audio>; > > }; > > + > > + /* HS USB Port 2 RESET */ > > + hsusb2_reset: hsusb2_reset_reg { > > + compatible = "regulator-fixed"; > > + regulator-name = "hsusb2_reset"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + gpio = <&gpio5 19 0>; /* gpio_147 */ > > + startup-delay-us = <70000>; > > + enable-active-high; > > + }; > > + > > + /* HS USB Port 2 Power */ > > + hsusb2_power: hsusb2_power_reg { > > + compatible = "regulator-fixed"; > > + regulator-name = "hsusb2_vbus"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ > > + startup-delay-us = <70000>; > > + enable-active-high; /* FIXME: active-low for Rev. C */ > > Benoit & Tony, > > Any ideas how to tackle the reversed logic for Rev. C boards? Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the common .dtsi. Regards, Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-17 0:52 ` Tony Lindgren @ 2013-04-17 1:30 ` Robert Nelson 2013-04-17 7:56 ` Igor Grinberg 0 siblings, 1 reply; 8+ messages in thread From: Robert Nelson @ 2013-04-17 1:30 UTC (permalink / raw) To: Tony Lindgren Cc: Roger Quadros, devicetree-discuss, linux-omap, b-cousson, linux-arm-kernel, linux-kernel On Tue, Apr 16, 2013 at 7:52 PM, Tony Lindgren <tony@atomide.com> wrote: > * Roger Quadros <rogerq@ti.com> [130415 05:44]: >> On 04/15/2013 03:35 PM, Roger Quadros wrote: >> > Provide RESET and Power regulators for the USB PHY, >> > the USB Host port mode and the PHY device. >> > >> > Also provide pin multiplexer information for USB host >> > pins. >> > >> > This will not work for Rev Cx boards because of reversed logic >> > for USB_POWER_Enable. >> > >> > CC: Benoît Cousson <b-cousson@ti.com> >> > Signed-off-by: Roger Quadros <rogerq@ti.com> >> > --- >> > arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ >> > 1 files changed, 62 insertions(+), 0 deletions(-) >> > >> > diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts >> > index 5a31964..d394c51 100644 >> > --- a/arch/arm/boot/dts/omap3-beagle-xm.dts >> > +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts >> > @@ -57,6 +57,60 @@ >> > ti,mcbsp = <&mcbsp2>; >> > ti,codec = <&twl_audio>; >> > }; >> > + >> > + /* HS USB Port 2 RESET */ >> > + hsusb2_reset: hsusb2_reset_reg { >> > + compatible = "regulator-fixed"; >> > + regulator-name = "hsusb2_reset"; >> > + regulator-min-microvolt = <3300000>; >> > + regulator-max-microvolt = <3300000>; >> > + gpio = <&gpio5 19 0>; /* gpio_147 */ >> > + startup-delay-us = <70000>; >> > + enable-active-high; >> > + }; >> > + >> > + /* HS USB Port 2 Power */ >> > + hsusb2_power: hsusb2_power_reg { >> > + compatible = "regulator-fixed"; >> > + regulator-name = "hsusb2_vbus"; >> > + regulator-min-microvolt = <3300000>; >> > + regulator-max-microvolt = <3300000>; >> > + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ >> > + startup-delay-us = <70000>; >> > + enable-active-high; /* FIXME: active-low for Rev. C */ >> >> Benoit & Tony, >> >> Any ideas how to tackle the reversed logic for Rev. C boards? > > Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts > and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the Bike-sheding, but we might want to make that "omap3-beagle-xmc.dts" as there is the "rev c" variant of the original beagle... It's too bad we can't read the 3 gpio pin states in the device tree and make a decision. Regards, -- Robert Nelson http://www.rcn-ee.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-17 1:30 ` Robert Nelson @ 2013-04-17 7:56 ` Igor Grinberg 2013-04-17 8:38 ` Roger Quadros 0 siblings, 1 reply; 8+ messages in thread From: Igor Grinberg @ 2013-04-17 7:56 UTC (permalink / raw) To: Robert Nelson Cc: Tony Lindgren, Roger Quadros, devicetree-discuss, linux-omap, b-cousson, linux-arm-kernel, linux-kernel On 04/17/13 04:30, Robert Nelson wrote: > On Tue, Apr 16, 2013 at 7:52 PM, Tony Lindgren <tony@atomide.com> wrote: >> * Roger Quadros <rogerq@ti.com> [130415 05:44]: >>> On 04/15/2013 03:35 PM, Roger Quadros wrote: >>>> Provide RESET and Power regulators for the USB PHY, >>>> the USB Host port mode and the PHY device. >>>> >>>> Also provide pin multiplexer information for USB host >>>> pins. >>>> >>>> This will not work for Rev Cx boards because of reversed logic >>>> for USB_POWER_Enable. >>>> >>>> CC: Benoît Cousson <b-cousson@ti.com> >>>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>>> --- >>>> arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ >>>> 1 files changed, 62 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>> index 5a31964..d394c51 100644 >>>> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts >>>> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>> @@ -57,6 +57,60 @@ >>>> ti,mcbsp = <&mcbsp2>; >>>> ti,codec = <&twl_audio>; >>>> }; >>>> + >>>> + /* HS USB Port 2 RESET */ >>>> + hsusb2_reset: hsusb2_reset_reg { >>>> + compatible = "regulator-fixed"; >>>> + regulator-name = "hsusb2_reset"; >>>> + regulator-min-microvolt = <3300000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + gpio = <&gpio5 19 0>; /* gpio_147 */ >>>> + startup-delay-us = <70000>; >>>> + enable-active-high; >>>> + }; >>>> + >>>> + /* HS USB Port 2 Power */ >>>> + hsusb2_power: hsusb2_power_reg { >>>> + compatible = "regulator-fixed"; >>>> + regulator-name = "hsusb2_vbus"; >>>> + regulator-min-microvolt = <3300000>; >>>> + regulator-max-microvolt = <3300000>; >>>> + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ >>>> + startup-delay-us = <70000>; >>>> + enable-active-high; /* FIXME: active-low for Rev. C */ >>> >>> Benoit & Tony, >>> >>> Any ideas how to tackle the reversed logic for Rev. C boards? >> >> Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts >> and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the > > Bike-sheding, but we might want to make that "omap3-beagle-xmc.dts" as > there is the "rev c" variant of the original beagle... > > It's too bad we can't read the 3 gpio pin states in the device tree > and make a decision. I would recommend to move the detection to the boot loader and adjust the DT blob at run time (in the boot loader). This way, we will not need to deal with all the (sub)revision stuff. -- Regards, Igor. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-17 7:56 ` Igor Grinberg @ 2013-04-17 8:38 ` Roger Quadros 2013-04-17 12:26 ` Igor Grinberg 0 siblings, 1 reply; 8+ messages in thread From: Roger Quadros @ 2013-04-17 8:38 UTC (permalink / raw) To: Igor Grinberg, Tony Lindgren Cc: Robert Nelson, devicetree-discuss, linux-omap, b-cousson, linux-arm-kernel, linux-kernel On 04/17/2013 10:56 AM, Igor Grinberg wrote: > On 04/17/13 04:30, Robert Nelson wrote: >> On Tue, Apr 16, 2013 at 7:52 PM, Tony Lindgren <tony@atomide.com> wrote: >>> * Roger Quadros <rogerq@ti.com> [130415 05:44]: >>>> On 04/15/2013 03:35 PM, Roger Quadros wrote: >>>>> Provide RESET and Power regulators for the USB PHY, >>>>> the USB Host port mode and the PHY device. >>>>> >>>>> Also provide pin multiplexer information for USB host >>>>> pins. >>>>> >>>>> This will not work for Rev Cx boards because of reversed logic >>>>> for USB_POWER_Enable. >>>>> >>>>> CC: Benoît Cousson <b-cousson@ti.com> >>>>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>>>> --- >>>>> arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ >>>>> 1 files changed, 62 insertions(+), 0 deletions(-) >>>>> >>>>> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>> index 5a31964..d394c51 100644 >>>>> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>> @@ -57,6 +57,60 @@ >>>>> ti,mcbsp = <&mcbsp2>; >>>>> ti,codec = <&twl_audio>; >>>>> }; >>>>> + >>>>> + /* HS USB Port 2 RESET */ >>>>> + hsusb2_reset: hsusb2_reset_reg { >>>>> + compatible = "regulator-fixed"; >>>>> + regulator-name = "hsusb2_reset"; >>>>> + regulator-min-microvolt = <3300000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + gpio = <&gpio5 19 0>; /* gpio_147 */ >>>>> + startup-delay-us = <70000>; >>>>> + enable-active-high; >>>>> + }; >>>>> + >>>>> + /* HS USB Port 2 Power */ >>>>> + hsusb2_power: hsusb2_power_reg { >>>>> + compatible = "regulator-fixed"; >>>>> + regulator-name = "hsusb2_vbus"; >>>>> + regulator-min-microvolt = <3300000>; >>>>> + regulator-max-microvolt = <3300000>; >>>>> + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ >>>>> + startup-delay-us = <70000>; >>>>> + enable-active-high; /* FIXME: active-low for Rev. C */ >>>> >>>> Benoit & Tony, >>>> >>>> Any ideas how to tackle the reversed logic for Rev. C boards? >>> >>> Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts >>> and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the >> >> Bike-sheding, but we might want to make that "omap3-beagle-xmc.dts" as >> there is the "rev c" variant of the original beagle... >> >> It's too bad we can't read the 3 gpio pin states in the device tree >> and make a decision. > > I would recommend to move the detection to the boot loader and > adjust the DT blob at run time (in the boot loader). > This way, we will not need to deal with all the (sub)revision stuff. > > Moving the detection to bootloader is fine, but modifying the DT at runtime would create a debug/maintenance issue. Instead it could just pick one of the .DTBs and pass it to kernel. Since most users will be using rev-c, I think we should keep the original file 'omap3-beagle-xm.dts" as it is for rev-c boards. I can just create a new dts file for Revisions A and B that will be like so. +++ b/arch/arm/boot/dts/omap3-beagle-xm-ab.dts @@ -0,0 +1,6 @@ +/include/ "omap3-beagle-xm.dts" + +/* On Rev A/B USBHOST_PWR_EN is active high */ +&hsusb2_power { + enable-active-high; +}; Since omap3-beagle and omap3-beagle-xm use different SoC versions and have quite many differences, I don't think it is a good idea to create a common file between the two. cheers, -roger ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-17 8:38 ` Roger Quadros @ 2013-04-17 12:26 ` Igor Grinberg 2013-04-17 17:11 ` Tony Lindgren 0 siblings, 1 reply; 8+ messages in thread From: Igor Grinberg @ 2013-04-17 12:26 UTC (permalink / raw) To: Roger Quadros Cc: Tony Lindgren, Robert Nelson, devicetree-discuss, linux-omap, b-cousson, linux-arm-kernel, linux-kernel On 04/17/13 11:38, Roger Quadros wrote: > On 04/17/2013 10:56 AM, Igor Grinberg wrote: >> On 04/17/13 04:30, Robert Nelson wrote: >>> On Tue, Apr 16, 2013 at 7:52 PM, Tony Lindgren <tony@atomide.com> wrote: >>>> * Roger Quadros <rogerq@ti.com> [130415 05:44]: >>>>> On 04/15/2013 03:35 PM, Roger Quadros wrote: >>>>>> Provide RESET and Power regulators for the USB PHY, >>>>>> the USB Host port mode and the PHY device. >>>>>> >>>>>> Also provide pin multiplexer information for USB host >>>>>> pins. >>>>>> >>>>>> This will not work for Rev Cx boards because of reversed logic >>>>>> for USB_POWER_Enable. >>>>>> >>>>>> CC: Benoît Cousson <b-cousson@ti.com> >>>>>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>>>>> --- >>>>>> arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ >>>>>> 1 files changed, 62 insertions(+), 0 deletions(-) >>>>>> >>>>>> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>>> index 5a31964..d394c51 100644 >>>>>> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>>> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts >>>>>> @@ -57,6 +57,60 @@ >>>>>> ti,mcbsp = <&mcbsp2>; >>>>>> ti,codec = <&twl_audio>; >>>>>> }; >>>>>> + >>>>>> + /* HS USB Port 2 RESET */ >>>>>> + hsusb2_reset: hsusb2_reset_reg { >>>>>> + compatible = "regulator-fixed"; >>>>>> + regulator-name = "hsusb2_reset"; >>>>>> + regulator-min-microvolt = <3300000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + gpio = <&gpio5 19 0>; /* gpio_147 */ >>>>>> + startup-delay-us = <70000>; >>>>>> + enable-active-high; >>>>>> + }; >>>>>> + >>>>>> + /* HS USB Port 2 Power */ >>>>>> + hsusb2_power: hsusb2_power_reg { >>>>>> + compatible = "regulator-fixed"; >>>>>> + regulator-name = "hsusb2_vbus"; >>>>>> + regulator-min-microvolt = <3300000>; >>>>>> + regulator-max-microvolt = <3300000>; >>>>>> + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ >>>>>> + startup-delay-us = <70000>; >>>>>> + enable-active-high; /* FIXME: active-low for Rev. C */ >>>>> >>>>> Benoit & Tony, >>>>> >>>>> Any ideas how to tackle the reversed logic for Rev. C boards? >>>> >>>> Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts >>>> and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the >>> >>> Bike-sheding, but we might want to make that "omap3-beagle-xmc.dts" as >>> there is the "rev c" variant of the original beagle... >>> >>> It's too bad we can't read the 3 gpio pin states in the device tree >>> and make a decision. >> >> I would recommend to move the detection to the boot loader and >> adjust the DT blob at run time (in the boot loader). >> This way, we will not need to deal with all the (sub)revision stuff. >> >> > Moving the detection to bootloader is fine, but modifying the DT at > runtime would create a debug/maintenance issue. Instead it could just > pick one of the .DTBs and pass it to kernel. Like this will not create create any debug/maintenance issues.... ;-) We have no problem with debug, as all the DT nodes can be seen in both U-Boot (with fdt commands) and Linux through procfs... I've just dropped my 2 cents and I don't really insist... > > Since most users will be using rev-c, I think we should keep the original > file 'omap3-beagle-xm.dts" as it is for rev-c boards. > I can just create a new dts file for Revisions A and B that will be > like so. > > +++ b/arch/arm/boot/dts/omap3-beagle-xm-ab.dts > @@ -0,0 +1,6 @@ > +/include/ "omap3-beagle-xm.dts" > + > +/* On Rev A/B USBHOST_PWR_EN is active high */ > +&hsusb2_power { > + enable-active-high; > +}; > > Since omap3-beagle and omap3-beagle-xm use different SoC versions and have > quite many differences, I don't think it is a good idea to create a common > file between the two. > > cheers, > -roger > -- Regards, Igor. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx 2013-04-17 12:26 ` Igor Grinberg @ 2013-04-17 17:11 ` Tony Lindgren 0 siblings, 0 replies; 8+ messages in thread From: Tony Lindgren @ 2013-04-17 17:11 UTC (permalink / raw) To: Igor Grinberg Cc: Roger Quadros, Robert Nelson, devicetree-discuss, linux-omap, b-cousson, linux-arm-kernel, linux-kernel * Igor Grinberg <grinberg@compulab.co.il> [130417 05:31]: > On 04/17/13 11:38, Roger Quadros wrote: > > On 04/17/2013 10:56 AM, Igor Grinberg wrote: > >> On 04/17/13 04:30, Robert Nelson wrote: > >>> On Tue, Apr 16, 2013 at 7:52 PM, Tony Lindgren <tony@atomide.com> wrote: > >>>> * Roger Quadros <rogerq@ti.com> [130415 05:44]: > >>>>> On 04/15/2013 03:35 PM, Roger Quadros wrote: > >>>>>> Provide RESET and Power regulators for the USB PHY, > >>>>>> the USB Host port mode and the PHY device. > >>>>>> > >>>>>> Also provide pin multiplexer information for USB host > >>>>>> pins. > >>>>>> > >>>>>> This will not work for Rev Cx boards because of reversed logic > >>>>>> for USB_POWER_Enable. > >>>>>> > >>>>>> CC: Benoît Cousson <b-cousson@ti.com> > >>>>>> Signed-off-by: Roger Quadros <rogerq@ti.com> > >>>>>> --- > >>>>>> arch/arm/boot/dts/omap3-beagle-xm.dts | 62 +++++++++++++++++++++++++++++++++ > >>>>>> 1 files changed, 62 insertions(+), 0 deletions(-) > >>>>>> > >>>>>> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts > >>>>>> index 5a31964..d394c51 100644 > >>>>>> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts > >>>>>> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts > >>>>>> @@ -57,6 +57,60 @@ > >>>>>> ti,mcbsp = <&mcbsp2>; > >>>>>> ti,codec = <&twl_audio>; > >>>>>> }; > >>>>>> + > >>>>>> + /* HS USB Port 2 RESET */ > >>>>>> + hsusb2_reset: hsusb2_reset_reg { > >>>>>> + compatible = "regulator-fixed"; > >>>>>> + regulator-name = "hsusb2_reset"; > >>>>>> + regulator-min-microvolt = <3300000>; > >>>>>> + regulator-max-microvolt = <3300000>; > >>>>>> + gpio = <&gpio5 19 0>; /* gpio_147 */ > >>>>>> + startup-delay-us = <70000>; > >>>>>> + enable-active-high; > >>>>>> + }; > >>>>>> + > >>>>>> + /* HS USB Port 2 Power */ > >>>>>> + hsusb2_power: hsusb2_power_reg { > >>>>>> + compatible = "regulator-fixed"; > >>>>>> + regulator-name = "hsusb2_vbus"; > >>>>>> + regulator-min-microvolt = <3300000>; > >>>>>> + regulator-max-microvolt = <3300000>; > >>>>>> + gpio = <&twl_gpio 18 0>; /* GPIO LEDA */ > >>>>>> + startup-delay-us = <70000>; > >>>>>> + enable-active-high; /* FIXME: active-low for Rev. C */ > >>>>> > >>>>> Benoit & Tony, > >>>>> > >>>>> Any ideas how to tackle the reversed logic for Rev. C boards? > >>>> > >>>> Sounds like we need a shared omap3-beage.dtsi, then omap3-beagle-xm.dts > >>>> and omap3-beagle-rev-c.dts. Then xm and rev-c can both include the > >>> > >>> Bike-sheding, but we might want to make that "omap3-beagle-xmc.dts" as > >>> there is the "rev c" variant of the original beagle... > >>> > >>> It's too bad we can't read the 3 gpio pin states in the device tree > >>> and make a decision. > >> > >> I would recommend to move the detection to the boot loader and > >> adjust the DT blob at run time (in the boot loader). > >> This way, we will not need to deal with all the (sub)revision stuff. > >> > >> > > Moving the detection to bootloader is fine, but modifying the DT at > > runtime would create a debug/maintenance issue. Instead it could just > > pick one of the .DTBs and pass it to kernel. > > Like this will not create create any debug/maintenance issues.... ;-) > We have no problem with debug, as all the DT nodes can be seen in > both U-Boot (with fdt commands) and Linux through procfs... > > I've just dropped my 2 cents and I don't really insist... The dynamic configuration from the bootloader can also be done too, I don't think they are mutually exclusive. > > Since most users will be using rev-c, I think we should keep the original > > file 'omap3-beagle-xm.dts" as it is for rev-c boards. > > I can just create a new dts file for Revisions A and B that will be > > like so. > > > > +++ b/arch/arm/boot/dts/omap3-beagle-xm-ab.dts > > @@ -0,0 +1,6 @@ > > +/include/ "omap3-beagle-xm.dts" > > + > > +/* On Rev A/B USBHOST_PWR_EN is active high */ > > +&hsusb2_power { > > + enable-active-high; > > +}; > > > > Since omap3-beagle and omap3-beagle-xm use different SoC versions and have > > quite many differences, I don't think it is a good idea to create a common > > file between the two. Sounds good to me. But please also add the revision info to the compatible flags for both .dts files. Regards, Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-04-17 17:11 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-04-15 12:35 [PATCH] ARM: dts: omap3-beagle-xm: Add USB Host support for Rev Ax/Bx Roger Quadros 2013-04-15 12:39 ` Roger Quadros 2013-04-17 0:52 ` Tony Lindgren 2013-04-17 1:30 ` Robert Nelson 2013-04-17 7:56 ` Igor Grinberg 2013-04-17 8:38 ` Roger Quadros 2013-04-17 12:26 ` Igor Grinberg 2013-04-17 17:11 ` Tony Lindgren
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).