Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Add HSUSB2 EHCI Support to Logic PD DM37xx SOM-LV

The Logic PD SOM-LV has a USB Host Controller connected to 3-port
hub. This enables the pin muxing for the host controller and
ehci-phy.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

authored by

Adam Ford and committed by
Tony Lindgren
89077c71 8d08394f

+57
+57
arch/arm/boot/dts/logicpd-som-lv.dtsi
··· 23 23 enable-active-high; 24 24 vin-supply = <&vmmc2>; 25 25 }; 26 + 27 + /* HS USB Host PHY on PORT 1 */ 28 + hsusb2_phy: hsusb2_phy { 29 + compatible = "usb-nop-xceiv"; 30 + reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* gpio_4 */ 31 + }; 26 32 }; 27 33 28 34 &gpmc { ··· 132 126 }; 133 127 }; 134 128 129 + &usbhshost { 130 + port2-mode = "ehci-phy"; 131 + }; 132 + 133 + &usbhsehci { 134 + phys = <0 &hsusb2_phy>; 135 + }; 136 + 137 + 135 138 &omap3_pmx_core { 139 + pinctrl-names = "default"; 140 + pinctrl-0 = <&hsusb2_pins>; 141 + 136 142 mmc3_pins: pinmux_mm3_pins { 137 143 pinctrl-single,pins = < 138 144 OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat4.sdmmc3_dat0 */ ··· 182 164 OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 183 165 >; 184 166 }; 167 + 168 + hsusb2_pins: pinmux_hsusb2_pins { 169 + pinctrl-single,pins = < 170 + OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ 171 + OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ 172 + OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ 173 + OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ 174 + OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ 175 + OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ 176 + >; 177 + }; 178 + 185 179 hsusb_otg_pins: pinmux_hsusb_otg_pins { 186 180 pinctrl-single,pins = < 187 181 OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ ··· 208 178 OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */ 209 179 OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */ 210 180 OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ 181 + >; 182 + }; 183 + 184 + 185 + }; 186 + 187 + &omap3_pmx_wkup { 188 + pinctrl-names = "default"; 189 + pinctrl-0 = <&hsusb2_reset_pin>; 190 + hsusb2_reset_pin: pinmux_hsusb1_reset_pin { 191 + pinctrl-single,pins = < 192 + OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4) /* sys_boot2.gpio_4 */ 193 + >; 194 + }; 195 + }; 196 + 197 + &omap3_pmx_core2 { 198 + pinctrl-names = "default"; 199 + pinctrl-0 = <&hsusb2_2_pins>; 200 + hsusb2_2_pins: pinmux_hsusb2_2_pins { 201 + pinctrl-single,pins = < 202 + OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ 203 + OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ 204 + OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ 205 + OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ 206 + OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ 207 + OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ 211 208 >; 212 209 }; 213 210 };