14c8a9f23SAdam Ford/* 24c8a9f23SAdam Ford * This program is free software; you can redistribute it and/or modify 34c8a9f23SAdam Ford * it under the terms of the GNU General Public License version 2 as 44c8a9f23SAdam Ford * published by the Free Software Foundation. 54c8a9f23SAdam Ford */ 64c8a9f23SAdam Ford 74c8a9f23SAdam Ford#include <dt-bindings/input/input.h> 84c8a9f23SAdam Ford 94c8a9f23SAdam Ford/ { 10*e6ea2390SAdam Ford chosen { 11*e6ea2390SAdam Ford stdout-path = &uart1; 12*e6ea2390SAdam Ford }; 13*e6ea2390SAdam Ford 144c8a9f23SAdam Ford cpus { 154c8a9f23SAdam Ford cpu@0 { 164c8a9f23SAdam Ford cpu0-supply = <&vcc>; 174c8a9f23SAdam Ford }; 184c8a9f23SAdam Ford }; 194c8a9f23SAdam Ford 204c8a9f23SAdam Ford memory@80000000 { 214c8a9f23SAdam Ford device_type = "memory"; 224c8a9f23SAdam Ford reg = <0x80000000 0>; 234c8a9f23SAdam Ford }; 244c8a9f23SAdam Ford 254c8a9f23SAdam Ford leds { 264c8a9f23SAdam Ford compatible = "gpio-leds"; 274c8a9f23SAdam Ford user0 { 284c8a9f23SAdam Ford label = "user0"; 294c8a9f23SAdam Ford gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* LEDA */ 304c8a9f23SAdam Ford linux,default-trigger = "none"; 314c8a9f23SAdam Ford }; 324c8a9f23SAdam Ford }; 334c8a9f23SAdam Ford 34*e6ea2390SAdam Ford /* fixed 26MHz oscillator */ 35*e6ea2390SAdam Ford hfclk_26m: oscillator { 36*e6ea2390SAdam Ford #clock-cells = <0>; 37*e6ea2390SAdam Ford compatible = "fixed-clock"; 38*e6ea2390SAdam Ford clock-frequency = <26000000>; 394c8a9f23SAdam Ford }; 404c8a9f23SAdam Ford}; 414c8a9f23SAdam Ford 424c8a9f23SAdam Ford&gpmc { 434c8a9f23SAdam Ford ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ 444c8a9f23SAdam Ford 454c8a9f23SAdam Ford nand@0,0 { 464c8a9f23SAdam Ford compatible = "ti,omap2-nand"; 474c8a9f23SAdam Ford reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 484c8a9f23SAdam Ford interrupt-parent = <&gpmc>; 494c8a9f23SAdam Ford interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 504c8a9f23SAdam Ford <1 IRQ_TYPE_NONE>; /* termcount */ 514c8a9f23SAdam Ford linux,mtd-name = "micron,mt29f4g16abbda3w"; 524c8a9f23SAdam Ford nand-bus-width = <16>; 534c8a9f23SAdam Ford ti,nand-ecc-opt = "bch8"; 544c8a9f23SAdam Ford rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 554c8a9f23SAdam Ford gpmc,sync-clk-ps = <0>; 564c8a9f23SAdam Ford gpmc,cs-on-ns = <0>; 574c8a9f23SAdam Ford gpmc,cs-rd-off-ns = <44>; 584c8a9f23SAdam Ford gpmc,cs-wr-off-ns = <44>; 594c8a9f23SAdam Ford gpmc,adv-on-ns = <6>; 604c8a9f23SAdam Ford gpmc,adv-rd-off-ns = <34>; 614c8a9f23SAdam Ford gpmc,adv-wr-off-ns = <44>; 624c8a9f23SAdam Ford gpmc,we-off-ns = <40>; 634c8a9f23SAdam Ford gpmc,oe-off-ns = <54>; 644c8a9f23SAdam Ford gpmc,access-ns = <64>; 654c8a9f23SAdam Ford gpmc,rd-cycle-ns = <82>; 664c8a9f23SAdam Ford gpmc,wr-cycle-ns = <82>; 674c8a9f23SAdam Ford gpmc,wr-access-ns = <40>; 684c8a9f23SAdam Ford gpmc,wr-data-mux-bus-ns = <0>; 694c8a9f23SAdam Ford gpmc,device-width = <2>; 704c8a9f23SAdam Ford #address-cells = <1>; 714c8a9f23SAdam Ford #size-cells = <1>; 724c8a9f23SAdam Ford }; 734c8a9f23SAdam Ford}; 744c8a9f23SAdam Ford 754c8a9f23SAdam Ford&i2c1 { 76*e6ea2390SAdam Ford pinctrl-names = "default"; 77*e6ea2390SAdam Ford pinctrl-0 = <&i2c1_pins>; 78*e6ea2390SAdam Ford clock-frequency = <2600000>; 794c8a9f23SAdam Ford 804c8a9f23SAdam Ford twl: twl@48 { 814c8a9f23SAdam Ford reg = <0x48>; 824c8a9f23SAdam Ford interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 834c8a9f23SAdam Ford interrupt-parent = <&intc>; 84*e6ea2390SAdam Ford clocks = <&hfclk_26m>; 85*e6ea2390SAdam Ford clock-names = "fck"; 86*e6ea2390SAdam Ford 874c8a9f23SAdam Ford twl_audio: audio { 884c8a9f23SAdam Ford compatible = "ti,twl4030-audio"; 894c8a9f23SAdam Ford codec { 904c8a9f23SAdam Ford }; 914c8a9f23SAdam Ford }; 924c8a9f23SAdam Ford }; 934c8a9f23SAdam Ford}; 944c8a9f23SAdam Ford 954c8a9f23SAdam Ford&i2c2 { 96*e6ea2390SAdam Ford pinctrl-names = "default"; 97*e6ea2390SAdam Ford pinctrl-0 = <&i2c2_pins>; 984c8a9f23SAdam Ford clock-frequency = <400000>; 994c8a9f23SAdam Ford}; 1004c8a9f23SAdam Ford 1014c8a9f23SAdam Ford&i2c3 { 102*e6ea2390SAdam Ford pinctrl-names = "default"; 103*e6ea2390SAdam Ford pinctrl-0 = <&i2c3_pins>; 1044c8a9f23SAdam Ford clock-frequency = <400000>; 1054c8a9f23SAdam Ford at24@50 { 106*e6ea2390SAdam Ford compatible = "atmel,24c64"; 1074c8a9f23SAdam Ford readonly; 1084c8a9f23SAdam Ford reg = <0x50>; 1094c8a9f23SAdam Ford }; 1104c8a9f23SAdam Ford}; 1114c8a9f23SAdam Ford 1124c8a9f23SAdam Ford&omap3_pmx_core { 1134c8a9f23SAdam Ford mcbsp2_pins: pinmux_mcbsp2_pins { 1144c8a9f23SAdam Ford pinctrl-single,pins = < 1154c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */ 1164c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */ 1174c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */ 1184c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */ 1194c8a9f23SAdam Ford >; 1204c8a9f23SAdam Ford }; 1214c8a9f23SAdam Ford uart2_pins: pinmux_uart2_pins { 1224c8a9f23SAdam Ford pinctrl-single,pins = < 1234c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0) /* uart2_cts.uart2_cts */ 1244c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts .uart2_rts*/ 1254c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ 1264c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ 1274c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* GPIO_162,BT_EN */ 1284c8a9f23SAdam Ford >; 1294c8a9f23SAdam Ford }; 1304c8a9f23SAdam Ford mcspi1_pins: pinmux_mcspi1_pins { 1314c8a9f23SAdam Ford pinctrl-single,pins = < 1324c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ 1334c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 1344c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 1354c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 1364c8a9f23SAdam Ford >; 1374c8a9f23SAdam Ford }; 1384c8a9f23SAdam Ford hsusb_otg_pins: pinmux_hsusb_otg_pins { 1394c8a9f23SAdam Ford pinctrl-single,pins = < 1404c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ 1414c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ 1424c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ 1434c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ 1444c8a9f23SAdam Ford 1454c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */ 1464c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ 1474c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ 1484c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */ 1494c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */ 1504c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */ 1514c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */ 1524c8a9f23SAdam Ford OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ 1534c8a9f23SAdam Ford >; 1544c8a9f23SAdam Ford }; 155*e6ea2390SAdam Ford i2c1_pins: pinmux_i2c1_pins { 156*e6ea2390SAdam Ford pinctrl-single,pins = < 157*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ 158*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */ 159*e6ea2390SAdam Ford >; 160*e6ea2390SAdam Ford }; 161*e6ea2390SAdam Ford i2c2_pins: pinmux_i2c2_pins { 162*e6ea2390SAdam Ford pinctrl-single,pins = < 163*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0) /* i2c2_scl */ 164*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0) /* i2c2_sda */ 165*e6ea2390SAdam Ford >; 166*e6ea2390SAdam Ford }; 167*e6ea2390SAdam Ford i2c3_pins: pinmux_i2c3_pins { 168*e6ea2390SAdam Ford pinctrl-single,pins = < 169*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl */ 170*e6ea2390SAdam Ford OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda */ 171*e6ea2390SAdam Ford >; 172*e6ea2390SAdam Ford }; 1734c8a9f23SAdam Ford}; 1744c8a9f23SAdam Ford 1754c8a9f23SAdam Ford&uart2 { 1764c8a9f23SAdam Ford interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; 1774c8a9f23SAdam Ford pinctrl-names = "default"; 1784c8a9f23SAdam Ford pinctrl-0 = <&uart2_pins>; 1794c8a9f23SAdam Ford}; 1804c8a9f23SAdam Ford 1814c8a9f23SAdam Ford&mcspi1 { 1824c8a9f23SAdam Ford pinctrl-names = "default"; 1834c8a9f23SAdam Ford pinctrl-0 = <&mcspi1_pins>; 1844c8a9f23SAdam Ford}; 1854c8a9f23SAdam Ford 1864c8a9f23SAdam Ford#include "twl4030.dtsi" 1874c8a9f23SAdam Ford#include "twl4030_omap3.dtsi" 1884c8a9f23SAdam Ford 1894c8a9f23SAdam Ford&twl { 1904c8a9f23SAdam Ford twl_power: power { 1914c8a9f23SAdam Ford compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle"; 1924c8a9f23SAdam Ford ti,use_poweroff; 1934c8a9f23SAdam Ford }; 1944c8a9f23SAdam Ford}; 1954c8a9f23SAdam Ford 1964c8a9f23SAdam Ford&twl_gpio { 1974c8a9f23SAdam Ford ti,use-leds; 1984c8a9f23SAdam Ford}; 199