1*063da122SAdam Ford/* 2*063da122SAdam Ford * This program is free software; you can redistribute it and/or modify 3*063da122SAdam Ford * it under the terms of the GNU General Public License version 2 as 4*063da122SAdam Ford * published by the Free Software Foundation. 5*063da122SAdam Ford */ 6*063da122SAdam Ford 7*063da122SAdam Ford#include <dt-bindings/input/input.h> 8*063da122SAdam Ford 9*063da122SAdam Ford/ { 10*063da122SAdam Ford cpus { 11*063da122SAdam Ford cpu@0 { 12*063da122SAdam Ford cpu0-supply = <&vcc>; 13*063da122SAdam Ford }; 14*063da122SAdam Ford }; 15*063da122SAdam Ford 16*063da122SAdam Ford memory@80000000 { 17*063da122SAdam Ford device_type = "memory"; 18*063da122SAdam Ford reg = <0x80000000 0>; 19*063da122SAdam Ford }; 20*063da122SAdam Ford 21*063da122SAdam Ford wl12xx_vmmc: wl12xx_vmmc { 22*063da122SAdam Ford compatible = "regulator-fixed"; 23*063da122SAdam Ford regulator-name = "vwl1271"; 24*063da122SAdam Ford regulator-min-microvolt = <1800000>; 25*063da122SAdam Ford regulator-max-microvolt = <1800000>; 26*063da122SAdam Ford gpio = <&gpio1 3 0>; /* gpio_3 */ 27*063da122SAdam Ford startup-delay-us = <70000>; 28*063da122SAdam Ford enable-active-high; 29*063da122SAdam Ford vin-supply = <&vmmc2>; 30*063da122SAdam Ford }; 31*063da122SAdam Ford 32*063da122SAdam Ford /* HS USB Host PHY on PORT 1 */ 33*063da122SAdam Ford hsusb2_phy: hsusb2_phy { 34*063da122SAdam Ford compatible = "usb-nop-xceiv"; 35*063da122SAdam Ford reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* gpio_4 */ 36*063da122SAdam Ford }; 37*063da122SAdam Ford}; 38*063da122SAdam Ford 39*063da122SAdam Ford&gpmc { 40*063da122SAdam Ford ranges = <0 0 0x00000000 0x1000000>; /* CS0: 16MB for NAND */ 41*063da122SAdam Ford 42*063da122SAdam Ford nand@0,0 { 43*063da122SAdam Ford compatible = "ti,omap2-nand"; 44*063da122SAdam Ford reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 45*063da122SAdam Ford interrupt-parent = <&gpmc>; 46*063da122SAdam Ford interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 47*063da122SAdam Ford <1 IRQ_TYPE_NONE>; /* termcount */ 48*063da122SAdam Ford linux,mtd-name = "micron,mt29f4g16abbda3w"; 49*063da122SAdam Ford nand-bus-width = <16>; 50*063da122SAdam Ford ti,nand-ecc-opt = "bch8"; 51*063da122SAdam Ford rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 52*063da122SAdam Ford gpmc,sync-clk-ps = <0>; 53*063da122SAdam Ford gpmc,cs-on-ns = <0>; 54*063da122SAdam Ford gpmc,cs-rd-off-ns = <44>; 55*063da122SAdam Ford gpmc,cs-wr-off-ns = <44>; 56*063da122SAdam Ford gpmc,adv-on-ns = <6>; 57*063da122SAdam Ford gpmc,adv-rd-off-ns = <34>; 58*063da122SAdam Ford gpmc,adv-wr-off-ns = <44>; 59*063da122SAdam Ford gpmc,we-off-ns = <40>; 60*063da122SAdam Ford gpmc,oe-off-ns = <54>; 61*063da122SAdam Ford gpmc,access-ns = <64>; 62*063da122SAdam Ford gpmc,rd-cycle-ns = <82>; 63*063da122SAdam Ford gpmc,wr-cycle-ns = <82>; 64*063da122SAdam Ford gpmc,wr-access-ns = <40>; 65*063da122SAdam Ford gpmc,wr-data-mux-bus-ns = <0>; 66*063da122SAdam Ford gpmc,device-width = <2>; 67*063da122SAdam Ford #address-cells = <1>; 68*063da122SAdam Ford #size-cells = <1>; 69*063da122SAdam Ford 70*063da122SAdam Ford /* u-boot uses mtdparts=omap2-nand.0:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs) */ 71*063da122SAdam Ford 72*063da122SAdam Ford x-loader@0 { 73*063da122SAdam Ford label = "x-loader"; 74*063da122SAdam Ford reg = <0 0x80000>; 75*063da122SAdam Ford }; 76*063da122SAdam Ford 77*063da122SAdam Ford bootloaders@80000 { 78*063da122SAdam Ford label = "u-boot"; 79*063da122SAdam Ford reg = <0x80000 0x1e0000>; 80*063da122SAdam Ford }; 81*063da122SAdam Ford 82*063da122SAdam Ford bootloaders_env@260000 { 83*063da122SAdam Ford label = "u-boot-env"; 84*063da122SAdam Ford reg = <0x260000 0x20000>; 85*063da122SAdam Ford }; 86*063da122SAdam Ford 87*063da122SAdam Ford kernel@280000 { 88*063da122SAdam Ford label = "kernel"; 89*063da122SAdam Ford reg = <0x280000 0x400000>; 90*063da122SAdam Ford }; 91*063da122SAdam Ford 92*063da122SAdam Ford filesystem@680000 { 93*063da122SAdam Ford label = "fs"; 94*063da122SAdam Ford reg = <0x680000 0>; /* 0 = MTDPART_SIZ_FULL */ 95*063da122SAdam Ford }; 96*063da122SAdam Ford }; 97*063da122SAdam Ford}; 98*063da122SAdam Ford 99*063da122SAdam Ford&i2c1 { 100*063da122SAdam Ford clock-frequency = <400000>; 101*063da122SAdam Ford 102*063da122SAdam Ford twl: twl@48 { 103*063da122SAdam Ford reg = <0x48>; 104*063da122SAdam Ford interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 105*063da122SAdam Ford interrupt-parent = <&intc>; 106*063da122SAdam Ford twl_audio: audio { 107*063da122SAdam Ford compatible = "ti,twl4030-audio"; 108*063da122SAdam Ford codec { 109*063da122SAdam Ford }; 110*063da122SAdam Ford }; 111*063da122SAdam Ford }; 112*063da122SAdam Ford}; 113*063da122SAdam Ford 114*063da122SAdam Ford&i2c2 { 115*063da122SAdam Ford clock-frequency = <400000>; 116*063da122SAdam Ford}; 117*063da122SAdam Ford 118*063da122SAdam Ford&i2c3 { 119*063da122SAdam Ford clock-frequency = <400000>; 120*063da122SAdam Ford}; 121*063da122SAdam Ford 122*063da122SAdam Ford&mmc3 { 123*063da122SAdam Ford interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>; 124*063da122SAdam Ford pinctrl-0 = <&mmc3_pins>; 125*063da122SAdam Ford pinctrl-names = "default"; 126*063da122SAdam Ford vmmc-supply = <&wl12xx_vmmc>; 127*063da122SAdam Ford non-removable; 128*063da122SAdam Ford bus-width = <4>; 129*063da122SAdam Ford cap-power-off-card; 130*063da122SAdam Ford #address-cells = <1>; 131*063da122SAdam Ford #size-cells = <0>; 132*063da122SAdam Ford wlcore: wlcore@2 { 133*063da122SAdam Ford compatible = "ti,wl1273"; 134*063da122SAdam Ford reg = <2>; 135*063da122SAdam Ford interrupt-parent = <&gpio5>; 136*063da122SAdam Ford interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; /* gpio 152 */ 137*063da122SAdam Ford ref-clock-frequency = <26000000>; 138*063da122SAdam Ford }; 139*063da122SAdam Ford}; 140*063da122SAdam Ford 141*063da122SAdam Ford&usbhshost { 142*063da122SAdam Ford port2-mode = "ehci-phy"; 143*063da122SAdam Ford}; 144*063da122SAdam Ford 145*063da122SAdam Ford&usbhsehci { 146*063da122SAdam Ford phys = <0 &hsusb2_phy>; 147*063da122SAdam Ford}; 148*063da122SAdam Ford 149*063da122SAdam Ford 150*063da122SAdam Ford&omap3_pmx_core { 151*063da122SAdam Ford pinctrl-names = "default"; 152*063da122SAdam Ford pinctrl-0 = <&hsusb2_pins>; 153*063da122SAdam Ford 154*063da122SAdam Ford mmc3_pins: pinmux_mm3_pins { 155*063da122SAdam Ford pinctrl-single,pins = < 156*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat4.sdmmc3_dat0 */ 157*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat5.sdmmc3_dat1 */ 158*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat2 */ 159*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat3 */ 160*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4) /* mcbsp4_clkx.gpio_152 */ 161*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */ 162*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.sdmmc3_cmd */ 163*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs2.sdmmc_clk */ 164*063da122SAdam Ford >; 165*063da122SAdam Ford }; 166*063da122SAdam Ford mcbsp2_pins: pinmux_mcbsp2_pins { 167*063da122SAdam Ford pinctrl-single,pins = < 168*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */ 169*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */ 170*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */ 171*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */ 172*063da122SAdam Ford >; 173*063da122SAdam Ford }; 174*063da122SAdam Ford uart2_pins: pinmux_uart2_pins { 175*063da122SAdam Ford pinctrl-single,pins = < 176*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0) /* uart2_cts.uart2_cts */ 177*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts .uart2_rts*/ 178*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ 179*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ 180*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* GPIO_162,BT_EN */ 181*063da122SAdam Ford >; 182*063da122SAdam Ford }; 183*063da122SAdam Ford mcspi1_pins: pinmux_mcspi1_pins { 184*063da122SAdam Ford pinctrl-single,pins = < 185*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ 186*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 187*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 188*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 189*063da122SAdam Ford >; 190*063da122SAdam Ford }; 191*063da122SAdam Ford 192*063da122SAdam Ford hsusb2_pins: pinmux_hsusb2_pins { 193*063da122SAdam Ford pinctrl-single,pins = < 194*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ 195*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ 196*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ 197*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ 198*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ 199*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ 200*063da122SAdam Ford >; 201*063da122SAdam Ford }; 202*063da122SAdam Ford 203*063da122SAdam Ford hsusb_otg_pins: pinmux_hsusb_otg_pins { 204*063da122SAdam Ford pinctrl-single,pins = < 205*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ 206*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ 207*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ 208*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ 209*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */ 210*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ 211*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ 212*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */ 213*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */ 214*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */ 215*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */ 216*063da122SAdam Ford OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ 217*063da122SAdam Ford >; 218*063da122SAdam Ford }; 219*063da122SAdam Ford 220*063da122SAdam Ford 221*063da122SAdam Ford}; 222*063da122SAdam Ford 223*063da122SAdam Ford&omap3_pmx_wkup { 224*063da122SAdam Ford pinctrl-names = "default"; 225*063da122SAdam Ford pinctrl-0 = <&hsusb2_reset_pin>; 226*063da122SAdam Ford hsusb2_reset_pin: pinmux_hsusb1_reset_pin { 227*063da122SAdam Ford pinctrl-single,pins = < 228*063da122SAdam Ford OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4) /* sys_boot2.gpio_4 */ 229*063da122SAdam Ford >; 230*063da122SAdam Ford }; 231*063da122SAdam Ford}; 232*063da122SAdam Ford 233*063da122SAdam Ford&omap3_pmx_core2 { 234*063da122SAdam Ford pinctrl-names = "default"; 235*063da122SAdam Ford pinctrl-0 = <&hsusb2_2_pins>; 236*063da122SAdam Ford hsusb2_2_pins: pinmux_hsusb2_2_pins { 237*063da122SAdam Ford pinctrl-single,pins = < 238*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ 239*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ 240*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ 241*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ 242*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ 243*063da122SAdam Ford OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ 244*063da122SAdam Ford >; 245*063da122SAdam Ford }; 246*063da122SAdam Ford}; 247*063da122SAdam Ford 248*063da122SAdam Ford&uart2 { 249*063da122SAdam Ford interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; 250*063da122SAdam Ford pinctrl-names = "default"; 251*063da122SAdam Ford pinctrl-0 = <&uart2_pins>; 252*063da122SAdam Ford}; 253*063da122SAdam Ford 254*063da122SAdam Ford&mcspi1 { 255*063da122SAdam Ford pinctrl-names = "default"; 256*063da122SAdam Ford pinctrl-0 = <&mcspi1_pins>; 257*063da122SAdam Ford}; 258*063da122SAdam Ford 259*063da122SAdam Ford#include "twl4030.dtsi" 260*063da122SAdam Ford#include "twl4030_omap3.dtsi" 261*063da122SAdam Ford 262*063da122SAdam Ford&twl { 263*063da122SAdam Ford twl_power: power { 264*063da122SAdam Ford compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle"; 265*063da122SAdam Ford ti,use_poweroff; 266*063da122SAdam Ford }; 267*063da122SAdam Ford}; 268*063da122SAdam Ford 269*063da122SAdam Ford&twl_gpio { 270*063da122SAdam Ford ti,use-leds; 271*063da122SAdam Ford}; 272