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