]>
Commit | Line | Data |
---|---|---|
687c2767 TL |
1 | /* |
2 | * This program is free software; you can redistribute it and/or modify | |
3 | * it under the terms of the GNU General Public License version 2 as | |
4 | * published by the Free Software Foundation. | |
5 | */ | |
6 | ||
7 | #include <dt-bindings/input/input.h> | |
8 | ||
9 | / { | |
10 | cpus { | |
11 | cpu@0 { | |
12 | cpu0-supply = <&vcc>; | |
13 | }; | |
14 | }; | |
15 | ||
766a1fe7 JMC |
16 | memory { |
17 | device_type = "memory"; | |
18 | reg = <0 0>; | |
19 | }; | |
20 | ||
687c2767 TL |
21 | leds { |
22 | compatible = "gpio-leds"; | |
23 | user0 { | |
24 | label = "user0"; | |
25 | gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* LEDA */ | |
26 | linux,default-trigger = "none"; | |
27 | }; | |
28 | }; | |
29 | ||
30 | wl12xx_vmmc: wl12xx_vmmc { | |
31 | compatible = "regulator-fixed"; | |
32 | regulator-name = "vwl1271"; | |
33 | regulator-min-microvolt = <1800000>; | |
34 | regulator-max-microvolt = <1800000>; | |
35 | gpio = <&gpio5 29 0>; /* gpio157 */ | |
36 | startup-delay-us = <70000>; | |
37 | enable-active-high; | |
38 | vin-supply = <&vmmc2>; | |
39 | }; | |
40 | }; | |
41 | ||
42 | &gpmc { | |
44e47164 | 43 | ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ |
687c2767 TL |
44 | |
45 | nand@0,0 { | |
44e47164 | 46 | compatible = "ti,omap2-nand"; |
687c2767 | 47 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
44e47164 RQ |
48 | interrupt-parent = <&gpmc>; |
49 | interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ | |
50 | <1 IRQ_TYPE_NONE>; /* termcount */ | |
51 | linux,mtd-name = "micron,mt29f4g16abbda3w"; | |
687c2767 TL |
52 | nand-bus-width = <16>; |
53 | ti,nand-ecc-opt = "bch8"; | |
a8771a6a | 54 | rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ |
687c2767 TL |
55 | gpmc,sync-clk-ps = <0>; |
56 | gpmc,cs-on-ns = <0>; | |
57 | gpmc,cs-rd-off-ns = <44>; | |
58 | gpmc,cs-wr-off-ns = <44>; | |
59 | gpmc,adv-on-ns = <6>; | |
60 | gpmc,adv-rd-off-ns = <34>; | |
61 | gpmc,adv-wr-off-ns = <44>; | |
62 | gpmc,we-off-ns = <40>; | |
63 | gpmc,oe-off-ns = <54>; | |
64 | gpmc,access-ns = <64>; | |
65 | gpmc,rd-cycle-ns = <82>; | |
66 | gpmc,wr-cycle-ns = <82>; | |
67 | gpmc,wr-access-ns = <40>; | |
68 | gpmc,wr-data-mux-bus-ns = <0>; | |
69 | gpmc,device-width = <2>; | |
70 | #address-cells = <1>; | |
71 | #size-cells = <1>; | |
72 | ||
73 | /* u-boot uses mtdparts=omap2-nand.0:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs) */ | |
74 | ||
75 | x-loader@0 { | |
76 | label = "x-loader"; | |
77 | reg = <0 0x80000>; | |
78 | }; | |
79 | ||
80 | bootloaders@80000 { | |
81 | label = "u-boot"; | |
82 | reg = <0x80000 0x1e0000>; | |
83 | }; | |
84 | ||
85 | bootloaders_env@260000 { | |
86 | label = "u-boot-env"; | |
87 | reg = <0x260000 0x20000>; | |
88 | }; | |
89 | ||
90 | kernel@280000 { | |
91 | label = "kernel"; | |
92 | reg = <0x280000 0x400000>; | |
93 | }; | |
94 | ||
95 | filesystem@680000 { | |
96 | label = "fs"; | |
97 | reg = <0x680000 0>; /* 0 = MTDPART_SIZ_FULL */ | |
98 | }; | |
99 | }; | |
100 | }; | |
101 | ||
102 | &i2c1 { | |
103 | clock-frequency = <2600000>; | |
104 | ||
105 | twl: twl@48 { | |
106 | reg = <0x48>; | |
107 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | |
108 | interrupt-parent = <&intc>; | |
f81902e4 AF |
109 | twl_audio: audio { |
110 | compatible = "ti,twl4030-audio"; | |
111 | codec { | |
112 | }; | |
113 | }; | |
687c2767 TL |
114 | }; |
115 | }; | |
116 | ||
6b3d42c6 AF |
117 | &i2c2 { |
118 | clock-frequency = <400000>; | |
119 | }; | |
120 | ||
121 | &i2c3 { | |
122 | clock-frequency = <400000>; | |
5e3447a2 AF |
123 | at24@50 { |
124 | compatible = "at24,24c02"; | |
125 | readonly; | |
126 | reg = <0x50>; | |
127 | }; | |
6b3d42c6 AF |
128 | }; |
129 | ||
687c2767 TL |
130 | /* |
131 | * Only found on the wireless SOM. For the SOM without wireless, the pins for | |
132 | * MMC3 can be routed with jumpers to the second MMC slot on the devkit and | |
133 | * gpio157 is not connected. So this should be OK to keep common for now, | |
134 | * probably device tree overlays is the way to go with the various SOM and | |
135 | * jumpering combinations for the long run. | |
136 | */ | |
137 | &mmc3 { | |
138 | interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>; | |
139 | pinctrl-0 = <&mmc3_pins &mmc3_core2_pins>; | |
140 | pinctrl-names = "default"; | |
141 | vmmc-supply = <&wl12xx_vmmc>; | |
142 | non-removable; | |
143 | bus-width = <4>; | |
144 | cap-power-off-card; | |
145 | #address-cells = <1>; | |
146 | #size-cells = <0>; | |
147 | wlcore: wlcore@2 { | |
148 | compatible = "ti,wl1283"; | |
149 | reg = <2>; | |
150 | interrupt-parent = <&gpio5>; | |
151 | interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; /* gpio 152 */ | |
152 | ref-clock-frequency = <26000000>; | |
0ea24daa | 153 | tcxo-clock-frequency = <26000000>; |
687c2767 TL |
154 | }; |
155 | }; | |
156 | ||
157 | &omap3_pmx_core { | |
158 | mmc3_pins: pinmux_mm3_pins { | |
159 | pinctrl-single,pins = < | |
160 | OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat4.sdmmc3_dat0 */ | |
161 | OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat5.sdmmc3_dat1 */ | |
162 | OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat2 */ | |
163 | OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat3 */ | |
164 | OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4) /* mcbsp4_clkx.gpio_152 */ | |
165 | OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* mcbsp1_fsr.gpio_157 */ | |
166 | >; | |
167 | }; | |
f81902e4 AF |
168 | mcbsp2_pins: pinmux_mcbsp2_pins { |
169 | pinctrl-single,pins = < | |
170 | OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */ | |
171 | OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */ | |
172 | OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */ | |
173 | OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */ | |
174 | >; | |
175 | }; | |
9ff502f5 AF |
176 | uart2_pins: pinmux_uart2_pins { |
177 | pinctrl-single,pins = < | |
178 | OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0) /* uart2_cts.uart2_cts */ | |
179 | OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts .uart2_rts*/ | |
180 | OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ | |
181 | OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ | |
182 | OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* GPIO_162,BT_EN */ | |
183 | >; | |
184 | }; | |
40d5cb20 AF |
185 | mcspi1_pins: pinmux_mcspi1_pins { |
186 | pinctrl-single,pins = < | |
187 | OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ | |
188 | OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ | |
189 | OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ | |
190 | OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ | |
191 | >; | |
192 | }; | |
b4cc2b75 AF |
193 | hsusb_otg_pins: pinmux_hsusb_otg_pins { |
194 | pinctrl-single,pins = < | |
195 | OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ | |
196 | OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ | |
197 | OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ | |
198 | OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ | |
199 | ||
200 | OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */ | |
201 | OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ | |
202 | OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ | |
203 | OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */ | |
204 | OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */ | |
205 | OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */ | |
206 | OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */ | |
207 | OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ | |
208 | >; | |
209 | }; | |
9ff502f5 AF |
210 | }; |
211 | ||
212 | &uart2 { | |
213 | interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; | |
214 | pinctrl-names = "default"; | |
215 | pinctrl-0 = <&uart2_pins>; | |
687c2767 TL |
216 | }; |
217 | ||
40d5cb20 AF |
218 | &mcspi1 { |
219 | pinctrl-names = "default"; | |
220 | pinctrl-0 = <&mcspi1_pins>; | |
221 | }; | |
222 | ||
687c2767 TL |
223 | &omap3_pmx_core2 { |
224 | mmc3_core2_pins: pinmux_mmc3_core2_pins { | |
225 | pinctrl-single,pins = < | |
226 | OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */ | |
227 | OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */ | |
228 | >; | |
229 | }; | |
230 | }; | |
231 | ||
232 | #include "twl4030.dtsi" | |
233 | #include "twl4030_omap3.dtsi" | |
234 | ||
235 | &twl { | |
236 | twl_power: power { | |
237 | compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle"; | |
238 | ti,use_poweroff; | |
239 | }; | |
240 | }; | |
241 | ||
242 | &twl_gpio { | |
243 | ti,use-leds; | |
244 | }; |