Re: [PATCH 2/3] ARM: dts: omap3-igep0020: Add HS USB Host support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+devicetree

Javier,

On 10/07/2013 11:50 AM, Javier Martinez Canillas wrote:
> On Mon, Oct 7, 2013 at 10:33 AM, Roger Quadros <rogerq@xxxxxx> wrote:
>> Hi Javier,
>>
>> On 10/05/2013 03:04 AM, Javier Martinez Canillas wrote:
>>> Add device nodes for the HS USB Host port 1, USB PHY and its
>>> required regulator and also pin mux setup for HS USB1 pins.
>>>
>>> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
>>> ---
>>>  arch/arm/boot/dts/omap3-igep.dtsi    | 22 ++++++++++++++++++++++
>>>  arch/arm/boot/dts/omap3-igep0020.dts | 25 +++++++++++++++++++++++++
>>>  2 files changed, 47 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/omap3-igep.dtsi
> b/arch/arm/boot/dts/omap3-igep.dtsi
>>> index 0f92224..ec2ecd2 100644
>>> --- a/arch/arm/boot/dts/omap3-igep.dtsi
>>> +++ b/arch/arm/boot/dts/omap3-igep.dtsi
>>> @@ -27,6 +27,11 @@
>>>  };
>>>
>>>  &omap3_pmx_core {
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <
>>> +             &hsusbb1_pins
>>> +     >;
>>> +
>>>       uart1_pins: pinmux_uart1_pins {
>>>               pinctrl-single,pins = <
>>>                       0x152 (PIN_INPUT | MUX_MODE0)           /*
> uart1_rx.uart1_rx */
>>> @@ -78,6 +83,23 @@
>>>               >;
>>>       };
>>>
>>> +     hsusbb1_pins: pinmux_hsusbb1_pins {
>>> +             pinctrl-single,pins = <
>>> +                     0x5aa (PIN_OUTPUT | MUX_MODE3)          /*
> etk_ctl.hsusb1_clk */
>>> +                     0x5a8 (PIN_OUTPUT | MUX_MODE3)          /*
> etk_clk.hsusb1_stp */
>>> +                     0x5bc (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d8.hsusb1_dir */
>>> +                     0x5be (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d9.hsusb1_nxt */
>>> +                     0x5ac (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d0.hsusb1_data0 */
>>> +                     0x5ae (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d1.hsusb1_data1 */
>>> +                     0x5b0 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d2.hsusb1_data2 */
>>> +                     0x5b2 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d3.hsusb1_data7 */
>>> +                     0x5b4 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d4.hsusb1_data4 */
>>> +                     0x5b6 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d5.hsusb1_data5 */
>>> +                     0x5b8 (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d6.hsusb1_data6 */
>>> +                     0x5ba (PIN_INPUT_PULLDOWN | MUX_MODE3)  /*
> etk_d7.hsusb1_data3 */
>>> +             >;
>>> +     };
>>> +
>>
>> Is this pin config required for igep0030 as well? If not then you should move
> these pinmux
>> definitions to omap3-igep0020.dts.
>>
>> All else looks good to me.
>>
> 
> Hi Roger,
> 
> Well that's a very good question indeed.
> 
> The thing is that the IGEP0030 is a Computer-on-Module [1] that is used in
> conjunction with expansion boards and some of them have USB HOST support such as
> IGEP Paris [2] and IGEP Berlin [3].
> 
> Support for this expansion boards is still not in mainline but there are plans
> to add them using Device Tree overlays [4] once/if this land on mainline.
> 

Why would your boards need Device Tree overlays? From the looks of it, the configuration
of SOM + base board don't seem to change at runtime.

> So, answering your question right now this is not required but I thought it
> would be good to have it configured by default in case someone using an IGEP0030
> and a expansion board wants to extend omap3-igep0030.dts to add support for its
> expansion board.

I think all you need is a .dts file for each expansion board that extends
omap3-iegp0030.dts.

That way, the pinmux for USB host pins will come only in those boards that have the USB host port.

> 
> I've no strong opinion on this though and I can send a new patch with those pins
> moved to omap3-igep0020.dts though if you think that would be better.

If you don't put it in omap3-igep0020.dts, how will you handle the case when a omap3-igep0030
SOM is used with an expansion board that doesn't have USB host port and uses it for something
else?

> 
>>>       leds_pins: pinmux_leds_pins { };
>>>  };
>>>
>>> diff --git a/arch/arm/boot/dts/omap3-igep0020.dts
> b/arch/arm/boot/dts/omap3-igep0020.dts
>>> index 903e944..180b186 100644
>>> --- a/arch/arm/boot/dts/omap3-igep0020.dts
>>> +++ b/arch/arm/boot/dts/omap3-igep0020.dts
>>> @@ -55,6 +55,23 @@
>>>               regulator-name = "vdd33a";
>>>               regulator-always-on;
>>>       };
>>> +
>>> +       /* HS USB Port 1 Power */
>>> +       hsusb1_power: hsusb1_power_reg {
>>> +               compatible = "regulator-fixed";
>>> +               regulator-name = "hsusb1_vbus";
>>> +               regulator-min-microvolt = <3300000>;
>>> +               regulator-max-microvolt = <3300000>;
>>> +               gpio = <&twl_gpio 18 GPIO_ACTIVE_LOW>;        /* GPIO LEDA */
>>> +               startup-delay-us = <70000>;
>>> +       };
>>> +
>>> +     /* HS USB Host PHY on PORT 1 */
>>> +     hsusb1_phy: hsusb1_phy {
>>> +             compatible = "usb-nop-xceiv";
>>> +             reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; /* gpio_24 */
>>> +             vcc-supply = <&hsusb1_power>;
>>> +     };
>>>  };
>>>
>>>  &leds_pins {
>>> @@ -173,3 +190,11 @@
>>>       mode = <3>;
>>>       power = <50>;
>>>  };
>>> +
>>> +&usbhshost {
>>> +     port1-mode = "ehci-phy";
>>> +};
>>> +
>>> +&usbhsehci {
>>> +     phys = <&hsusb1_phy>;
>>> +};
>>>
>>

cheers,
-roger

>> --
> 
> Thanks a lot and best regards,
> Javier
> 
> [1]: http://www.isee.biz/products/processor-boards/igep-com-module
> [2]: http://www.isee.biz/products/expansion-boards/product-igep-paris
> [3]: http://www.isee.biz/products/expansion-boards/product-igep-berlin
> [4]:
> http://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/device-tree-overlays
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux