diff mbox

[v3,09/10] ARM: dts: omap3-beagle-xm: Add USB Host support

Message ID 528BD2AF.2030607@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nishanth Menon Nov. 19, 2013, 9:05 p.m. UTC
On 09/24/2013 03:53 AM, Roger Quadros wrote:
> Provide RESET GPIO and Power regulator for the USB PHY,
> the USB Host port mode and the PHY device for the controller.
> Also provide pin multiplexer information for USB host pins.
> 
> We also relocate omap3_pmx_core pin definations so that they
> are close to omap3_pmx_wkup pin definations.
> 
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> ---

just using this thread, but a question ->

I am kernel * master                                   dec8e46 Merge
tag 'arc-v3.13-rc1-part2' of
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

and I see that VAUX2 which supplies USB_1V8[1] is not enabled -> I did
a quick patch and it did seem to work (Usb keyboard, networking, mouse
etc on my ehci ports seems to come up good) - any suggestions how we'd
like to handle this?


>  arch/arm/boot/dts/omap3-beagle-xm.dts |   65 ++++++++++++++++++++++++++++-----
>  1 files changed, 56 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
> index afdb164..b081f5a 100644
> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts
> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
> @@ -69,6 +69,23 @@
>  		};
>  
>  	};
> +
> +	/* 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>;
> +	};
> +
> +	/* HS USB Host PHY on PORT 2 */
> +	hsusb2_phy: hsusb2_phy {
> +		compatible = "usb-nop-xceiv";
> +		reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */
> +		vcc-supply = <&hsusb2_power>;
> +	};
>  };
>  
>  &omap3_pmx_wkup {
> @@ -79,6 +96,37 @@
>  	};
>  };
>  
> +&omap3_pmx_core {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <
> +			&hsusbb2_pins
> +	>;
> +
> +	uart3_pins: pinmux_uart3_pins {
> +		pinctrl-single,pins = <
> +			0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
> +			0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
> +		>;
> +	};
> +
> +	hsusbb2_pins: pinmux_hsusbb2_pins {
> +		pinctrl-single,pins = <
> +			0x5c0 (PIN_OUTPUT | MUX_MODE3)		/* etk_d10.hsusb2_clk */
> +			0x5c2 (PIN_OUTPUT | MUX_MODE3)		/* etk_d11.hsusb2_stp */
> +			0x5c4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d12.hsusb2_dir */
> +			0x5c6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d13.hsusb2_nxt */
> +			0x5c8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d14.hsusb2_data0 */
> +			0x5cA (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d15.hsusb2_data1 */
> +			0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi1_cs3.hsusb2_data2 */
> +			0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_clk.hsusb2_data7 */
> +			0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_simo.hsusb2_data4 */
> +			0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_somi.hsusb2_data5 */
> +			0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs0.hsusb2_data6 */
> +			0x1ae (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs1.hsusb2_data3 */
> +		>;
> +	};
> +};
> +
>  &i2c1 {
>  	clock-frequency = <2600000>;
>  
> @@ -148,15 +196,6 @@
>  	power = <50>;
>  };
>  
> -&omap3_pmx_core {
> -	uart3_pins: pinmux_uart3_pins {
> -		pinctrl-single,pins = <
> -			0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
> -			0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
> -		>;
> -	};
> -};
> -
>  &uart3 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart3_pins>;
> @@ -166,3 +205,11 @@
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&gpio1_pins>;
>  };
> +
> +&usbhshost {
> +	port2-mode = "ehci-phy";
> +};
> +
> +&usbhsehci {
> +	phys = <0 &hsusb2_phy>;
> +};
>

Comments

Roger Quadros Nov. 20, 2013, 10:32 a.m. UTC | #1
Nishant,

On 11/19/2013 11:05 PM, Nishanth Menon wrote:
> 
> 
> On 09/24/2013 03:53 AM, Roger Quadros wrote:
>> Provide RESET GPIO and Power regulator for the USB PHY,
>> the USB Host port mode and the PHY device for the controller.
>> Also provide pin multiplexer information for USB host pins.
>>
>> We also relocate omap3_pmx_core pin definations so that they
>> are close to omap3_pmx_wkup pin definations.
>>
>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>> ---
> 
> just using this thread, but a question ->
> 
> I am kernel * master                                   dec8e46 Merge
> tag 'arc-v3.13-rc1-part2' of
> git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
> 
> and I see that VAUX2 which supplies USB_1V8[1] is not enabled -> I did
> a quick patch and it did seem to work (Usb keyboard, networking, mouse
> etc on my ehci ports seems to come up good) - any suggestions how we'd
> like to handle this?

It worked for me without your patch. It could be that u-boot is enabling
that regulator for me. I'm on u-boot-v2013.10.

In any case, your patch seems the right thing to do. We should take it in
the rc cycle.

> 
> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts
> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
> @@ -169,6 +169,14 @@
>         bus-width = <8>;
>  };
> 
> +&vaux2 {
> +       regulator-name = "HubPower";
> +       regulator-min-microvolt = <1800000>;
> +       regulator-max-microvolt = <1800000>;
> +       regulator-always-on;
> +};
> +
> +
> 
> [1]
> https://github.com/CircuitCo/BeagleBoard-xM-RevC/blob/master/BeagleBoard-xM_revC_SCH.pdf?raw=true


cheers,
-roger

> 
>>  arch/arm/boot/dts/omap3-beagle-xm.dts |   65 ++++++++++++++++++++++++++++-----
>>  1 files changed, 56 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
>> index afdb164..b081f5a 100644
>> --- a/arch/arm/boot/dts/omap3-beagle-xm.dts
>> +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
>> @@ -69,6 +69,23 @@
>>  		};
>>  
>>  	};
>> +
>> +	/* 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>;
>> +	};
>> +
>> +	/* HS USB Host PHY on PORT 2 */
>> +	hsusb2_phy: hsusb2_phy {
>> +		compatible = "usb-nop-xceiv";
>> +		reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */
>> +		vcc-supply = <&hsusb2_power>;
>> +	};
>>  };
>>  
>>  &omap3_pmx_wkup {
>> @@ -79,6 +96,37 @@
>>  	};
>>  };
>>  
>> +&omap3_pmx_core {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <
>> +			&hsusbb2_pins
>> +	>;
>> +
>> +	uart3_pins: pinmux_uart3_pins {
>> +		pinctrl-single,pins = <
>> +			0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
>> +			0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
>> +		>;
>> +	};
>> +
>> +	hsusbb2_pins: pinmux_hsusbb2_pins {
>> +		pinctrl-single,pins = <
>> +			0x5c0 (PIN_OUTPUT | MUX_MODE3)		/* etk_d10.hsusb2_clk */
>> +			0x5c2 (PIN_OUTPUT | MUX_MODE3)		/* etk_d11.hsusb2_stp */
>> +			0x5c4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d12.hsusb2_dir */
>> +			0x5c6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d13.hsusb2_nxt */
>> +			0x5c8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d14.hsusb2_data0 */
>> +			0x5cA (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d15.hsusb2_data1 */
>> +			0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi1_cs3.hsusb2_data2 */
>> +			0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_clk.hsusb2_data7 */
>> +			0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_simo.hsusb2_data4 */
>> +			0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_somi.hsusb2_data5 */
>> +			0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs0.hsusb2_data6 */
>> +			0x1ae (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs1.hsusb2_data3 */
>> +		>;
>> +	};
>> +};
>> +
>>  &i2c1 {
>>  	clock-frequency = <2600000>;
>>  
>> @@ -148,15 +196,6 @@
>>  	power = <50>;
>>  };
>>  
>> -&omap3_pmx_core {
>> -	uart3_pins: pinmux_uart3_pins {
>> -		pinctrl-single,pins = <
>> -			0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
>> -			0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
>> -		>;
>> -	};
>> -};
>> -
>>  &uart3 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart3_pins>;
>> @@ -166,3 +205,11 @@
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&gpio1_pins>;
>>  };
>> +
>> +&usbhshost {
>> +	port2-mode = "ehci-phy";
>> +};
>> +
>> +&usbhsehci {
>> +	phys = <0 &hsusb2_phy>;
>> +};
>>
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Nov. 26, 2013, 9:04 p.m. UTC | #2
* Roger Quadros <rogerq@ti.com> [131120 02:33]:
> Nishant,
> 
> On 11/19/2013 11:05 PM, Nishanth Menon wrote:
> > 
> > 
> > On 09/24/2013 03:53 AM, Roger Quadros wrote:
> >> Provide RESET GPIO and Power regulator for the USB PHY,
> >> the USB Host port mode and the PHY device for the controller.
> >> Also provide pin multiplexer information for USB host pins.
> >>
> >> We also relocate omap3_pmx_core pin definations so that they
> >> are close to omap3_pmx_wkup pin definations.
> >>
> >> Signed-off-by: Roger Quadros <rogerq@ti.com>
> >> ---
> > 
> > just using this thread, but a question ->
> > 
> > I am kernel * master                                   dec8e46 Merge
> > tag 'arc-v3.13-rc1-part2' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
> > 
> > and I see that VAUX2 which supplies USB_1V8[1] is not enabled -> I did
> > a quick patch and it did seem to work (Usb keyboard, networking, mouse
> > etc on my ehci ports seems to come up good) - any suggestions how we'd
> > like to handle this?
> 
> It worked for me without your patch. It could be that u-boot is enabling
> that regulator for me. I'm on u-boot-v2013.10.
> 
> In any case, your patch seems the right thing to do. We should take it in
> the rc cycle.

Can you guys post a proper fix for this? Meanwhile, I'll mark this
thread as read to shrink my inbox a bit.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nishanth Menon Nov. 26, 2013, 10:15 p.m. UTC | #3
On Tue, Nov 26, 2013 at 3:04 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Roger Quadros <rogerq@ti.com> [131120 02:33]:
>> Nishant,
>>
>> On 11/19/2013 11:05 PM, Nishanth Menon wrote:
>> >
>> >
>> > On 09/24/2013 03:53 AM, Roger Quadros wrote:
>> >> Provide RESET GPIO and Power regulator for the USB PHY,
>> >> the USB Host port mode and the PHY device for the controller.
>> >> Also provide pin multiplexer information for USB host pins.
>> >>
>> >> We also relocate omap3_pmx_core pin definations so that they
>> >> are close to omap3_pmx_wkup pin definations.
>> >>
>> >> Signed-off-by: Roger Quadros <rogerq@ti.com>
>> >> ---
>> >
>> > just using this thread, but a question ->
>> >
>> > I am kernel * master                                   dec8e46 Merge
>> > tag 'arc-v3.13-rc1-part2' of
>> > git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
>> >
>> > and I see that VAUX2 which supplies USB_1V8[1] is not enabled -> I did
>> > a quick patch and it did seem to work (Usb keyboard, networking, mouse
>> > etc on my ehci ports seems to come up good) - any suggestions how we'd
>> > like to handle this?
>>
>> It worked for me without your patch. It could be that u-boot is enabling
>> that regulator for me. I'm on u-boot-v2013.10.
>>
>> In any case, your patch seems the right thing to do. We should take it in
>> the rc cycle.
>
> Can you guys post a proper fix for this? Meanwhile, I'll mark this
> thread as read to shrink my inbox a bit.
already done:
https://patchwork.kernel.org/patch/3231151/
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -169,6 +169,14 @@ 
        bus-width = <8>;
 };

+&vaux2 {
+       regulator-name = "HubPower";
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+};
+
+

[1]
https://github.com/CircuitCo/BeagleBoard-xM-RevC/blob/master/BeagleBoard-xM_revC_SCH.pdf?raw=true