]>
Commit | Line | Data |
---|---|---|
4bfe6341 AK |
1 | /* |
2 | * Author: Anil Kumar <anilk4.v@gmail.com> | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | */ | |
8 | /dts-v1/; | |
9 | ||
ab00639e AB |
10 | #include <dt-bindings/input/input.h> |
11 | ||
98ef7957 | 12 | #include "omap34xx.dtsi" |
4bfe6341 AK |
13 | / { |
14 | model = "TimLL OMAP3 Devkit8000"; | |
15 | compatible = "timll,omap3-devkit8000", "ti,omap3"; | |
16 | ||
17 | memory { | |
18 | device_type = "memory"; | |
19 | reg = <0x80000000 0x10000000>; /* 256 MB */ | |
20 | }; | |
21 | ||
22 | leds { | |
23 | compatible = "gpio-leds"; | |
24 | ||
25 | heartbeat { | |
26 | label = "devkit8000::led1"; | |
6d624eab | 27 | gpios = <&gpio6 26 GPIO_ACTIVE_HIGH>; /* 186 -> LED1 */ |
4bfe6341 AK |
28 | default-state = "on"; |
29 | linux,default-trigger = "heartbeat"; | |
30 | }; | |
31 | ||
32 | mmc { | |
33 | label = "devkit8000::led2"; | |
6d624eab | 34 | gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 -> LED2 */ |
4bfe6341 AK |
35 | default-state = "on"; |
36 | linux,default-trigger = "none"; | |
37 | }; | |
38 | ||
39 | usr { | |
40 | label = "devkit8000::led3"; | |
6d624eab | 41 | gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* 164 -> LED3 */ |
4bfe6341 AK |
42 | default-state = "on"; |
43 | linux,default-trigger = "usr"; | |
f6787907 | 44 | }; |
4bfe6341 | 45 | |
f6787907 AB |
46 | pmu_stat { |
47 | label = "devkit8000::pmu_stat"; | |
48 | gpios = <&twl_gpio 19 GPIO_ACTIVE_HIGH>; /* LEDB */ | |
49 | }; | |
4bfe6341 | 50 | }; |
e82be16b AK |
51 | |
52 | sound { | |
53 | compatible = "ti,omap-twl4030"; | |
54 | ti,model = "devkit8000"; | |
55 | ||
56 | ti,mcbsp = <&mcbsp2>; | |
e82be16b AK |
57 | ti,audio-routing = |
58 | "Ext Spk", "PREDRIVEL", | |
59 | "Ext Spk", "PREDRIVER", | |
60 | "MAINMIC", "Main Mic", | |
61 | "Main Mic", "Mic Bias 1"; | |
62 | }; | |
ab00639e AB |
63 | |
64 | gpio_keys { | |
65 | compatible = "gpio-keys"; | |
66 | ||
67 | user { | |
68 | label = "user"; | |
69 | gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; | |
70 | linux,code = <BTN_EXTRA>; | |
71 | gpio-key,wakeup; | |
72 | }; | |
73 | }; | |
f1022b9c | 74 | |
b02f46b9 AB |
75 | tfp410: encoder@0 { |
76 | compatible = "ti,tfp410"; | |
77 | powerdown-gpios = <&twl_gpio 7 GPIO_ACTIVE_LOW>; | |
78 | ||
79 | ports { | |
80 | #address-cells = <1>; | |
81 | #size-cells = <0>; | |
82 | ||
83 | port@0 { | |
84 | reg = <0>; | |
85 | ||
86 | tfp410_in: endpoint@0 { | |
87 | remote-endpoint = <&dpi_dvi_out>; | |
88 | }; | |
89 | }; | |
90 | ||
91 | port@1 { | |
92 | reg = <1>; | |
93 | ||
94 | tfp410_out: endpoint@0 { | |
95 | remote-endpoint = <&dvi_connector_in>; | |
96 | }; | |
97 | }; | |
98 | }; | |
99 | }; | |
100 | ||
101 | dvi0: connector@0 { | |
102 | compatible = "dvi-connector"; | |
103 | label = "dvi"; | |
104 | ||
105 | digital; | |
106 | ||
107 | ddc-i2c-bus = <&i2c2>; | |
108 | ||
109 | port { | |
110 | dvi_connector_in: endpoint { | |
111 | remote-endpoint = <&tfp410_out>; | |
112 | }; | |
113 | }; | |
114 | }; | |
115 | ||
f1022b9c AB |
116 | tv0: connector@1 { |
117 | compatible = "svideo-connector"; | |
118 | label = "tv"; | |
119 | ||
120 | port { | |
121 | tv_connector_in: endpoint { | |
122 | remote-endpoint = <&venc_out>; | |
123 | }; | |
124 | }; | |
125 | }; | |
4bfe6341 AK |
126 | }; |
127 | ||
128 | &i2c1 { | |
129 | clock-frequency = <2600000>; | |
130 | ||
131 | twl: twl@48 { | |
132 | reg = <0x48>; | |
133 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | |
e82be16b AK |
134 | |
135 | twl_audio: audio { | |
136 | compatible = "ti,twl4030-audio"; | |
137 | codec { | |
138 | }; | |
139 | }; | |
4bfe6341 AK |
140 | }; |
141 | }; | |
142 | ||
143 | &i2c2 { | |
b02f46b9 | 144 | clock-frequency = <400000>; |
4bfe6341 AK |
145 | }; |
146 | ||
147 | &i2c3 { | |
148 | status = "disabled"; | |
149 | }; | |
150 | ||
98ef7957 | 151 | #include "twl4030.dtsi" |
f9688457 | 152 | #include "twl4030_omap3.dtsi" |
4bfe6341 AK |
153 | |
154 | &mmc1 { | |
155 | vmmc-supply = <&vmmc1>; | |
156 | vmmc_aux-supply = <&vsim>; | |
157 | bus-width = <8>; | |
158 | }; | |
159 | ||
160 | &mmc2 { | |
161 | status = "disabled"; | |
162 | }; | |
163 | ||
164 | &mmc3 { | |
165 | status = "disabled"; | |
166 | }; | |
167 | ||
f6787907 AB |
168 | &twl_gpio { |
169 | ti,use-leds; | |
170 | /* | |
171 | * pulldowns: | |
172 | * BIT(1), BIT(2), BIT(6), BIT(7), BIT(8), BIT(13) | |
173 | * BIT(15), BIT(16), BIT(17) | |
174 | */ | |
175 | ti,pulldowns = <0x03a1c6>; | |
176 | }; | |
177 | ||
26fa8923 AB |
178 | &twl_keypad { |
179 | linux,keymap = <MATRIX_KEY(0, 0, KEY_1) | |
180 | MATRIX_KEY(1, 0, KEY_2) | |
181 | MATRIX_KEY(2, 0, KEY_3) | |
182 | MATRIX_KEY(0, 1, KEY_4) | |
183 | MATRIX_KEY(1, 1, KEY_5) | |
184 | MATRIX_KEY(2, 1, KEY_6) | |
185 | MATRIX_KEY(3, 1, KEY_F5) | |
186 | MATRIX_KEY(0, 2, KEY_7) | |
187 | MATRIX_KEY(1, 2, KEY_8) | |
188 | MATRIX_KEY(2, 2, KEY_9) | |
189 | MATRIX_KEY(3, 2, KEY_F6) | |
190 | MATRIX_KEY(0, 3, KEY_F7) | |
191 | MATRIX_KEY(1, 3, KEY_0) | |
192 | MATRIX_KEY(2, 3, KEY_F8) | |
193 | MATRIX_KEY(4, 5, KEY_RESERVED) | |
194 | MATRIX_KEY(4, 4, KEY_VOLUMEUP) | |
195 | MATRIX_KEY(5, 5, KEY_VOLUMEDOWN) | |
196 | >; | |
197 | }; | |
198 | ||
4bfe6341 AK |
199 | &wdt2 { |
200 | status = "disabled"; | |
201 | }; | |
202 | ||
726322ce PU |
203 | &mcbsp2 { |
204 | status = "okay"; | |
4bfe6341 | 205 | }; |
2f3bb9c4 AK |
206 | |
207 | &gpmc { | |
e2c5eb78 | 208 | ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ |
2f3bb9c4 AK |
209 | |
210 | nand@0,0 { | |
e2c5eb78 | 211 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
2f3bb9c4 | 212 | nand-bus-width = <16>; |
ed38c657 AB |
213 | gpmc,device-width = <2>; |
214 | ti,nand-ecc-opt = "sw"; | |
2f3bb9c4 | 215 | |
6283513b | 216 | gpmc,sync-clk-ps = <0>; |
49423500 FV |
217 | gpmc,cs-on-ns = <0>; |
218 | gpmc,cs-rd-off-ns = <44>; | |
219 | gpmc,cs-wr-off-ns = <44>; | |
220 | gpmc,adv-on-ns = <6>; | |
221 | gpmc,adv-rd-off-ns = <34>; | |
222 | gpmc,adv-wr-off-ns = <44>; | |
223 | gpmc,we-off-ns = <40>; | |
224 | gpmc,oe-off-ns = <54>; | |
225 | gpmc,access-ns = <64>; | |
226 | gpmc,rd-cycle-ns = <82>; | |
227 | gpmc,wr-cycle-ns = <82>; | |
228 | gpmc,wr-access-ns = <40>; | |
229 | gpmc,wr-data-mux-bus-ns = <0>; | |
2f3bb9c4 AK |
230 | |
231 | #address-cells = <1>; | |
232 | #size-cells = <1>; | |
233 | ||
234 | x-loader@0 { | |
235 | label = "X-Loader"; | |
236 | reg = <0 0x80000>; | |
237 | }; | |
238 | ||
239 | bootloaders@80000 { | |
240 | label = "U-Boot"; | |
241 | reg = <0x80000 0x1e0000>; | |
242 | }; | |
243 | ||
244 | bootloaders_env@260000 { | |
245 | label = "U-Boot Env"; | |
246 | reg = <0x260000 0x20000>; | |
247 | }; | |
248 | ||
249 | kernel@280000 { | |
250 | label = "Kernel"; | |
251 | reg = <0x280000 0x400000>; | |
252 | }; | |
253 | ||
254 | filesystem@680000 { | |
255 | label = "File System"; | |
256 | reg = <0x680000 0xf980000>; | |
257 | }; | |
258 | }; | |
259 | }; | |
e04beeb7 AB |
260 | |
261 | &gpmc { | |
262 | ranges = <6 0 0x2c000000 0x1000000>; /* CS6: 16MB for DM9000 */ | |
263 | ||
264 | ethernet@0,0 { | |
265 | compatible = "davicom,dm9000"; | |
266 | reg = <6 0x000 2 | |
267 | 6 0x400 2>; /* CS6, offset 0 and 0x400, IO size 2 */ | |
268 | bank-width = <2>; | |
269 | interrupt-parent = <&gpio1>; | |
270 | interrupts = <25 IRQ_TYPE_LEVEL_LOW>; | |
271 | davicom,no-eeprom; | |
272 | ||
273 | gpmc,mux-add-data = <0>; | |
274 | gpmc,device-width = <1>; | |
275 | gpmc,wait-pin = <0>; | |
276 | gpmc,cycle2cycle-samecsen = <1>; | |
277 | gpmc,cycle2cycle-diffcsen = <1>; | |
278 | ||
279 | gpmc,cs-on-ns = <6>; | |
280 | gpmc,cs-rd-off-ns = <180>; | |
281 | gpmc,cs-wr-off-ns = <180>; | |
282 | gpmc,adv-on-ns = <0>; | |
283 | gpmc,adv-rd-off-ns = <18>; | |
284 | gpmc,adv-wr-off-ns = <48>; | |
285 | gpmc,oe-on-ns = <54>; | |
286 | gpmc,oe-off-ns = <168>; | |
287 | gpmc,we-on-ns = <54>; | |
288 | gpmc,we-off-ns = <168>; | |
289 | gpmc,rd-cycle-ns = <186>; | |
290 | gpmc,wr-cycle-ns = <186>; | |
291 | gpmc,access-ns = <144>; | |
292 | gpmc,page-burst-access-ns = <24>; | |
293 | gpmc,bus-turnaround-ns = <90>; | |
294 | gpmc,cycle2cycle-delay-ns = <90>; | |
295 | gpmc,wait-monitoring-ns = <0>; | |
296 | gpmc,clk-activation-ns = <0>; | |
297 | gpmc,wr-data-mux-bus-ns = <0>; | |
298 | gpmc,wr-access-ns = <0>; | |
299 | }; | |
300 | }; | |
f1022b9c | 301 | |
b02f46b9 AB |
302 | &omap3_pmx_core { |
303 | dss_dpi_pins: pinmux_dss_dpi_pins { | |
304 | pinctrl-single,pins = < | |
305 | OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ | |
306 | OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ | |
307 | OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ | |
308 | OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ | |
309 | OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ | |
310 | OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ | |
311 | OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ | |
312 | OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ | |
313 | OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ | |
314 | OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ | |
315 | OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ | |
316 | OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ | |
317 | OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ | |
318 | OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ | |
319 | OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ | |
320 | OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ | |
321 | OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ | |
322 | OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ | |
323 | OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ | |
324 | OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ | |
325 | OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ | |
326 | OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ | |
327 | OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ | |
328 | OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ | |
329 | OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ | |
330 | OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ | |
331 | OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ | |
332 | OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ | |
333 | >; | |
334 | }; | |
335 | }; | |
336 | ||
337 | &vpll1 { | |
338 | /* Needed for DSS */ | |
339 | regulator-name = "vdds_dsi"; | |
340 | ||
341 | regulator-min-microvolt = <1800000>; | |
342 | regulator-max-microvolt = <1800000>; | |
343 | }; | |
344 | ||
345 | &dss { | |
346 | status = "ok"; | |
347 | ||
348 | pinctrl-names = "default"; | |
349 | pinctrl-0 = <&dss_dpi_pins>; | |
350 | ||
351 | vdds_dsi-supply = <&vpll1>; | |
352 | vdda_dac-supply = <&vdac>; | |
353 | ||
354 | port { | |
355 | dpi_dvi_out: endpoint@0 { | |
356 | remote-endpoint = <&tfp410_in>; | |
357 | data-lines = <24>; | |
358 | }; | |
359 | }; | |
360 | }; | |
361 | ||
f1022b9c AB |
362 | &venc { |
363 | status = "ok"; | |
364 | ||
365 | vdda-supply = <&vdac>; | |
366 | ||
367 | port { | |
368 | venc_out: endpoint { | |
369 | remote-endpoint = <&tv_connector_in>; | |
370 | ti,channels = <2>; | |
371 | }; | |
372 | }; | |
373 | }; |