1*724ba675SRob Herring/* 2*724ba675SRob Herring * Common support for omap3 EVM 35xx/37xx processor modules 3*724ba675SRob Herring */ 4*724ba675SRob Herring 5*724ba675SRob Herring/ { 6*724ba675SRob Herring memory@80000000 { 7*724ba675SRob Herring device_type = "memory"; 8*724ba675SRob Herring reg = <0x80000000 0x10000000>; /* 256 MB */ 9*724ba675SRob Herring }; 10*724ba675SRob Herring 11*724ba675SRob Herring wl12xx_vmmc: wl12xx_vmmc { 12*724ba675SRob Herring pinctrl-names = "default"; 13*724ba675SRob Herring pinctrl-0 = <&wl12xx_gpio>; 14*724ba675SRob Herring }; 15*724ba675SRob Herring}; 16*724ba675SRob Herring 17*724ba675SRob Herring&dss { 18*724ba675SRob Herring vdds_dsi-supply = <&vpll2>; 19*724ba675SRob Herring vdda_video-supply = <&lcd_3v3>; 20*724ba675SRob Herring pinctrl-names = "default"; 21*724ba675SRob Herring pinctrl-0 = < 22*724ba675SRob Herring &dss_dpi_pins1 23*724ba675SRob Herring &dss_dpi_pins2 24*724ba675SRob Herring >; 25*724ba675SRob Herring}; 26*724ba675SRob Herring 27*724ba675SRob Herring&hsusb2_phy { 28*724ba675SRob Herring pinctrl-names = "default"; 29*724ba675SRob Herring pinctrl-0 = <&ehci_phy_pins>; 30*724ba675SRob Herring}; 31*724ba675SRob Herring 32*724ba675SRob Herring&omap3_pmx_core { 33*724ba675SRob Herring pinctrl-names = "default"; 34*724ba675SRob Herring pinctrl-0 = <&on_board_gpio_61 &hsusb2_pins>; 35*724ba675SRob Herring 36*724ba675SRob Herring dss_dpi_pins1: dss-dpi2-pins { 37*724ba675SRob Herring pinctrl-single,pins = < 38*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 39*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 40*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 41*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 42*724ba675SRob Herring 43*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 44*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 45*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 46*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 47*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 48*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 49*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 50*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 51*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 52*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 53*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 54*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 55*724ba675SRob Herring 56*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3) /* dss_data18.dss_data0 */ 57*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3) /* dss_data19.dss_data1 */ 58*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3) /* dss_data20.dss_data2 */ 59*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3) /* dss_data21.dss_data3 */ 60*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3) /* dss_data22.dss_data4 */ 61*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3) /* dss_data23.dss_data5 */ 62*724ba675SRob Herring >; 63*724ba675SRob Herring }; 64*724ba675SRob Herring 65*724ba675SRob Herring mmc1_pins: mmc1-pins { 66*724ba675SRob Herring pinctrl-single,pins = < 67*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 68*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 69*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 70*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 71*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 72*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 73*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat4.sdmmc1_dat4 */ 74*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat5.sdmmc1_dat5 */ 75*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2154, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat6.sdmmc1_dat6 */ 76*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2156, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat7.sdmmc1_dat7 */ 77*724ba675SRob Herring >; 78*724ba675SRob Herring }; 79*724ba675SRob Herring 80*724ba675SRob Herring /* NOTE: Clocked externally, needs INPUT also for sdmmc2_clk.sdmmc2_clk */ 81*724ba675SRob Herring mmc2_pins: mmc2-pins { 82*724ba675SRob Herring pinctrl-single,pins = < 83*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 84*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 85*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 86*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 87*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 88*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 89*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dir_dat0 */ 90*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dir_dat1 */ 91*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dir_cmd */ 92*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */ 93*724ba675SRob Herring >; 94*724ba675SRob Herring }; 95*724ba675SRob Herring 96*724ba675SRob Herring uart3_pins: uart3-pins { 97*724ba675SRob Herring pinctrl-single,pins = < 98*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x219e, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 99*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 100*724ba675SRob Herring >; 101*724ba675SRob Herring }; 102*724ba675SRob Herring 103*724ba675SRob Herring /* Devices are routed with gpmc_nbe1.gpio_61 to on-board devices */ 104*724ba675SRob Herring on_board_gpio_61: ehci-port-select-pins { 105*724ba675SRob Herring pinctrl-single,pins = < 106*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20c8, PIN_OUTPUT | MUX_MODE4) 107*724ba675SRob Herring >; 108*724ba675SRob Herring }; 109*724ba675SRob Herring 110*724ba675SRob Herring /* Used by OHCI and EHCI. OHCI won't work without external phy */ 111*724ba675SRob Herring hsusb2_pins: hsusb2-pins { 112*724ba675SRob Herring pinctrl-single,pins = < 113*724ba675SRob Herring 114*724ba675SRob Herring /* mcspi1_cs3.hsusb2_data2 */ 115*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) 116*724ba675SRob Herring 117*724ba675SRob Herring /* mcspi2_clk.hsusb2_data7 */ 118*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) 119*724ba675SRob Herring 120*724ba675SRob Herring /* mcspi2_simo.hsusb2_data4 */ 121*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) 122*724ba675SRob Herring 123*724ba675SRob Herring /* mcspi2_somi.hsusb2_data5 */ 124*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) 125*724ba675SRob Herring 126*724ba675SRob Herring /* mcspi2_cs0.hsusb2_data6 */ 127*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) 128*724ba675SRob Herring 129*724ba675SRob Herring /* mcspi2_cs1.hsusb2_data3 */ 130*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) 131*724ba675SRob Herring >; 132*724ba675SRob Herring }; 133*724ba675SRob Herring 134*724ba675SRob Herring /* 135*724ba675SRob Herring * Note that gpio_150 pulled high with internal pull to prevent wlcore 136*724ba675SRob Herring * reset on return from off mode in idle. 137*724ba675SRob Herring */ 138*724ba675SRob Herring wl12xx_gpio: wl12xx-gpio-pins { 139*724ba675SRob Herring pinctrl-single,pins = < 140*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE7) /* uart1_cts.gpio_150 */ 141*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x217e, PIN_INPUT | MUX_MODE4) /* uart1_rts.gpio_149 */ 142*724ba675SRob Herring >; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring smsc911x_pins: smsc911x-pins { 146*724ba675SRob Herring pinctrl-single,pins = < 147*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* mcspi1_cs2.gpio_176 */ 148*724ba675SRob Herring >; 149*724ba675SRob Herring }; 150*724ba675SRob Herring}; 151*724ba675SRob Herring 152*724ba675SRob Herring&omap3_pmx_wkup { 153*724ba675SRob Herring dss_dpi_pins2: dss-dpi1-pins { 154*724ba675SRob Herring pinctrl-single,pins = < 155*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a0a, PIN_OUTPUT | MUX_MODE3) /* sys_boot0.dss_data18 */ 156*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3) /* sys_boot1.dss_data19 */ 157*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3) /* sys_boot3.dss_data20 */ 158*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3) /* sys_boot4.dss_data21 */ 159*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3) /* sys_boot5.dss_data22 */ 160*724ba675SRob Herring OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3) /* sys_boot6.dss_data23 */ 161*724ba675SRob Herring >; 162*724ba675SRob Herring }; 163*724ba675SRob Herring}; 164*724ba675SRob Herring 165*724ba675SRob Herring&mmc1 { 166*724ba675SRob Herring pinctrl-names = "default"; 167*724ba675SRob Herring pinctrl-0 = <&mmc1_pins>; 168*724ba675SRob Herring}; 169*724ba675SRob Herring 170*724ba675SRob Herring&mmc2 { 171*724ba675SRob Herring pinctrl-names = "default"; 172*724ba675SRob Herring pinctrl-0 = <&mmc2_pins>; 173*724ba675SRob Herring}; 174*724ba675SRob Herring 175*724ba675SRob Herring&mmc3 { 176*724ba675SRob Herring status = "disabled"; 177*724ba675SRob Herring}; 178*724ba675SRob Herring 179*724ba675SRob Herring&uart1 { 180*724ba675SRob Herring interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>; 181*724ba675SRob Herring}; 182*724ba675SRob Herring 183*724ba675SRob Herring&uart2 { 184*724ba675SRob Herring interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; 185*724ba675SRob Herring}; 186*724ba675SRob Herring 187*724ba675SRob Herring&uart3 { 188*724ba675SRob Herring interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 189*724ba675SRob Herring pinctrl-names = "default"; 190*724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 191*724ba675SRob Herring}; 192*724ba675SRob Herring 193*724ba675SRob Herring/* 194*724ba675SRob Herring * GPIO_61 (nUSB2_EN_1V8) must be low to enable on-board EHCI USB2 interface 195*724ba675SRob Herring * for bus switch SN74CB3Q3384A, level-shifter SN74AVC16T245DGGR, and 1.8V. 196*724ba675SRob Herring */ 197*724ba675SRob Herring&gpio2 { 198*724ba675SRob Herring en-usb2-port-hog { 199*724ba675SRob Herring gpio-hog; 200*724ba675SRob Herring gpios = <29 GPIO_ACTIVE_HIGH>; /* gpio_61 */ 201*724ba675SRob Herring output-low; 202*724ba675SRob Herring line-name = "enable usb2 port"; 203*724ba675SRob Herring }; 204*724ba675SRob Herring}; 205*724ba675SRob Herring 206*724ba675SRob Herring/* T2_GPIO_2 low to route GPIO_61 to on-board devices */ 207*724ba675SRob Herring&twl_gpio { 208*724ba675SRob Herring en_on_board_gpio_61 { 209*724ba675SRob Herring gpio-hog; 210*724ba675SRob Herring gpios = <2 GPIO_ACTIVE_HIGH>; 211*724ba675SRob Herring output-low; 212*724ba675SRob Herring line-name = "en_hsusb2_clk"; 213*724ba675SRob Herring }; 214*724ba675SRob Herring}; 215*724ba675SRob Herring 216*724ba675SRob Herring&gpmc { 217*724ba675SRob Herring ranges = <0 0 0x30000000 0x1000000>, /* CS0: 16MB for NAND */ 218*724ba675SRob Herring <5 0 0x2c000000 0x01000000>; /* CS5: 16MB for LAN9220 */ 219*724ba675SRob Herring 220*724ba675SRob Herring ethernet@gpmc { 221*724ba675SRob Herring pinctrl-names = "default"; 222*724ba675SRob Herring pinctrl-0 = <&smsc911x_pins>; 223*724ba675SRob Herring }; 224*724ba675SRob Herring}; 225