ARM: dts: am57xx-beagle-x15: Add extcon nodes for USB
authorRoger Quadros <rogerq@ti.com>
Mon, 26 Jan 2015 12:15:30 +0000 (14:15 +0200)
committerTony Lindgren <tony@atomide.com>
Fri, 30 Jan 2015 23:48:39 +0000 (15:48 -0800)
On this EVM, the USB cable state has to be determined via the
ID pin tied to a GPIO line. We use the gpio-usb-extcon driver
to read the ID pin and the extcon framework to forward
the USB cable state information to the USB driver so the
controller can be configured in the right mode (host/peripheral).

NOTE: the ports on this board cannot switch roles. They are
configured either host or peripheral by hardwiring the
respective ID pins.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/am57xx-beagle-x15.dts

index c5d4ceabdd80de588ee34c7fc5da0687ebc66fdd..0e889eb62a598ef44b0d18735d29a8e476e18b08 100644 (file)
                gpio-fan,speed-map = <0     0>,
                                     <13000 1>;
        };
+
+       extcon_usb1: extcon_usb1 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&extcon_usb1_pins>;
+       };
+
+       extcon_usb2: extcon_usb2 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&extcon_usb2_pins>;
+       };
 };
 
 &dra7_pmx_core {
                >;
        };
 
+       extcon_usb1_pins: extcon_usb1_pins {
+               pinctrl-single,pins = <
+                       0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
+               >;
+       };
+
+       extcon_usb2_pins: extcon_usb2_pins {
+               pinctrl-single,pins = <
+                       0x3e8 (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_ctsn.gpio7_24 */
+               >;
+       };
 };
 
 &i2c1 {
        pinctrl-names = "default";
        pinctrl-0 = <&usb1_pins>;
 };
+
+&omap_dwc3_1 {
+       extcon = <&extcon_usb1>;
+};
+
+&omap_dwc3_2 {
+       extcon = <&extcon_usb2>;
+};