]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/da850-evm.dts
UBUNTU: Ubuntu-5.3.0-29.31
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / da850-evm.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3 * Device Tree for DA850 EVM board
4 *
5 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
6 */
7 /dts-v1/;
8 #include "da850.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
10
11 / {
12 compatible = "ti,da850-evm", "ti,da850";
13 model = "DA850/AM1808/OMAP-L138 EVM";
14
15 chosen {
16 stdout-path = &serial2;
17 };
18
19 aliases {
20 serial0 = &serial0;
21 serial1 = &serial1;
22 serial2 = &serial2;
23 ethernet0 = &eth0;
24 spi0 = &spi1;
25 };
26
27 backlight: backlight-pwm {
28 pinctrl-names = "default";
29 pinctrl-0 = <&ecap2_pins>;
30 power-supply = <&backlight_lcd>;
31 compatible = "pwm-backlight";
32 /*
33 * The PWM here corresponds to production hardware. The
34 * schematic needs to be 1015171 (15 March 2010), Rev A
35 * or newer.
36 */
37 pwms = <&ecap2 0 50000 0>;
38 brightness-levels = <0 10 20 30 40 50 60 70 80 90 99>;
39 default-brightness-level = <7>;
40 };
41
42 panel {
43 compatible = "ti,tilcdc,panel";
44 pinctrl-names = "default";
45 pinctrl-0 = <&lcd_pins>;
46 /*
47 * The vpif and the LCD are mutually exclusive.
48 * To enable VPIF, change the status below to 'disabled' then
49 * then change the status of the vpif below to 'okay'
50 */
51 status = "okay";
52 enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>; /* lcd_panel_pwr */
53
54 panel-info {
55 ac-bias = <255>;
56 ac-bias-intrpt = <0>;
57 dma-burst-sz = <16>;
58 bpp = <16>;
59 fdd = <0x80>;
60 sync-edge = <0>;
61 sync-ctrl = <1>;
62 raster-order = <0>;
63 fifo-th = <0>;
64 };
65
66 display-timings {
67 native-mode = <&timing0>;
68 timing0: 480x272 {
69 clock-frequency = <9000000>;
70 hactive = <480>;
71 vactive = <272>;
72 hfront-porch = <3>;
73 hback-porch = <2>;
74 hsync-len = <42>;
75 vback-porch = <3>;
76 vfront-porch = <4>;
77 vsync-len = <11>;
78 hsync-active = <0>;
79 vsync-active = <0>;
80 de-active = <1>;
81 pixelclk-active = <1>;
82 };
83 };
84 };
85
86 vbat: fixedregulator0 {
87 compatible = "regulator-fixed";
88 regulator-name = "vbat";
89 regulator-min-microvolt = <5000000>;
90 regulator-max-microvolt = <5000000>;
91 regulator-boot-on;
92 };
93
94 baseboard_3v3: fixedregulator-3v3 {
95 /* TPS73701DCQ */
96 compatible = "regulator-fixed";
97 regulator-name = "baseboard_3v3";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 vin-supply = <&vbat>;
101 regulator-always-on;
102 regulator-boot-on;
103 };
104
105 baseboard_1v8: fixedregulator-1v8 {
106 /* TPS73701DCQ */
107 compatible = "regulator-fixed";
108 regulator-name = "baseboard_1v8";
109 regulator-min-microvolt = <1800000>;
110 regulator-max-microvolt = <1800000>;
111 vin-supply = <&vbat>;
112 regulator-always-on;
113 regulator-boot-on;
114 };
115
116 backlight_lcd: backlight-regulator {
117 compatible = "regulator-fixed";
118 regulator-name = "lcd_backlight_pwr";
119 regulator-min-microvolt = <3300000>;
120 regulator-max-microvolt = <3300000>;
121 gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; /* lcd_backlight_pwr */
122 enable-active-high;
123 };
124
125 sound {
126 compatible = "simple-audio-card";
127 simple-audio-card,name = "DA850-OMAPL138 EVM";
128 simple-audio-card,widgets =
129 "Line", "Line In",
130 "Line", "Line Out";
131 simple-audio-card,routing =
132 "LINE1L", "Line In",
133 "LINE1R", "Line In",
134 "Line Out", "LLOUT",
135 "Line Out", "RLOUT";
136 simple-audio-card,format = "dsp_b";
137 simple-audio-card,bitclock-master = <&link0_codec>;
138 simple-audio-card,frame-master = <&link0_codec>;
139 simple-audio-card,bitclock-inversion;
140
141 simple-audio-card,cpu {
142 sound-dai = <&mcasp0>;
143 system-clock-frequency = <24576000>;
144 };
145
146 link0_codec: simple-audio-card,codec {
147 sound-dai = <&tlv320aic3106>;
148 system-clock-frequency = <24576000>;
149 };
150 };
151 };
152
153 &ecap2 {
154 status = "okay";
155 };
156
157 &ref_clk {
158 clock-frequency = <24000000>;
159 };
160
161 &pmx_core {
162 status = "okay";
163
164 mcasp0_pins: pinmux_mcasp0_pins {
165 pinctrl-single,bits = <
166 /*
167 * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
168 * AFSR, AMUTE
169 */
170 0x00 0x11111111 0xffffffff
171 /* AXR11, AXR12 */
172 0x04 0x00011000 0x000ff000
173 >;
174 };
175 nand_pins: nand_pins {
176 pinctrl-single,bits = <
177 /* EMA_WAIT[0], EMA_OE, EMA_WE, EMA_CS[4], EMA_CS[3] */
178 0x1c 0x10110110 0xf0ff0ff0
179 /*
180 * EMA_D[0], EMA_D[1], EMA_D[2],
181 * EMA_D[3], EMA_D[4], EMA_D[5],
182 * EMA_D[6], EMA_D[7]
183 */
184 0x24 0x11111111 0xffffffff
185 /* EMA_A[1], EMA_A[2] */
186 0x30 0x01100000 0x0ff00000
187 >;
188 };
189 };
190
191 &cpu {
192 cpu-supply = <&vdcdc3_reg>;
193 };
194
195 /*
196 * The standard da850-evm kits and SOM's are 375MHz so enable this operating
197 * point by default. Higher frequencies must be enabled for custom boards with
198 * other variants of the SoC.
199 */
200 &opp_375 {
201 status = "okay";
202 };
203
204 &sata {
205 status = "okay";
206 };
207
208 &serial0 {
209 status = "okay";
210 };
211
212 &serial1 {
213 status = "okay";
214 };
215
216 &serial2 {
217 status = "okay";
218 };
219
220 &rtc0 {
221 status = "okay";
222 };
223
224 &lcdc {
225 status = "okay";
226 };
227
228 &i2c0 {
229 status = "okay";
230 clock-frequency = <100000>;
231 pinctrl-names = "default";
232 pinctrl-0 = <&i2c0_pins>;
233
234 tps: tps@48 {
235 reg = <0x48>;
236 };
237 tlv320aic3106: tlv320aic3106@18 {
238 #sound-dai-cells = <0>;
239 compatible = "ti,tlv320aic3106";
240 reg = <0x18>;
241 status = "okay";
242
243 /* Regulators */
244 IOVDD-supply = <&vdcdc2_reg>;
245 AVDD-supply = <&baseboard_3v3>;
246 DRVDD-supply = <&baseboard_3v3>;
247 DVDD-supply = <&baseboard_1v8>;
248 };
249 tca6416: gpio@20 {
250 compatible = "ti,tca6416";
251 reg = <0x20>;
252 gpio-controller;
253 #gpio-cells = <2>;
254 };
255 tca6416_bb: gpio@21 {
256 compatible = "ti,tca6416";
257 reg = <0x21>;
258 gpio-controller;
259 #gpio-cells = <2>;
260 };
261 };
262
263 &wdt {
264 status = "okay";
265 };
266
267 &mmc0 {
268 max-frequency = <50000000>;
269 bus-width = <4>;
270 status = "okay";
271 pinctrl-names = "default";
272 pinctrl-0 = <&mmc0_pins>;
273 cd-gpios = <&gpio 64 GPIO_ACTIVE_LOW>;
274 wp-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>;
275 };
276
277 &spi1 {
278 status = "okay";
279 pinctrl-names = "default";
280 pinctrl-0 = <&spi1_pins &spi1_cs0_pin>;
281 flash: m25p80@0 {
282 #address-cells = <1>;
283 #size-cells = <1>;
284 compatible = "m25p64";
285 spi-max-frequency = <30000000>;
286 m25p,fast-read;
287 reg = <0>;
288 partition@0 {
289 label = "U-Boot-SPL";
290 reg = <0x00000000 0x00010000>;
291 read-only;
292 };
293 partition@1 {
294 label = "U-Boot";
295 reg = <0x00010000 0x00080000>;
296 read-only;
297 };
298 partition@2 {
299 label = "U-Boot-Env";
300 reg = <0x00090000 0x00010000>;
301 read-only;
302 };
303 partition@3 {
304 label = "Kernel";
305 reg = <0x000a0000 0x00280000>;
306 };
307 partition@4 {
308 label = "Filesystem";
309 reg = <0x00320000 0x00400000>;
310 };
311 partition@5 {
312 label = "MAC-Address";
313 reg = <0x007f0000 0x00010000>;
314 read-only;
315 };
316 };
317 };
318
319 &mdio {
320 status = "okay";
321 pinctrl-names = "default";
322 pinctrl-0 = <&mdio_pins>;
323 bus_freq = <2200000>;
324 };
325
326 &eth0 {
327 status = "okay";
328 pinctrl-names = "default";
329 pinctrl-0 = <&mii_pins>;
330 };
331
332 &gpio {
333 status = "okay";
334 };
335
336 /include/ "tps6507x.dtsi"
337
338 &tps {
339 vdcdc1_2-supply = <&vbat>;
340 vdcdc3-supply = <&vbat>;
341 vldo1_2-supply = <&vbat>;
342
343 regulators {
344 vdcdc1_reg: regulator@0 {
345 regulator-name = "VDCDC1_3.3V";
346 regulator-min-microvolt = <3150000>;
347 regulator-max-microvolt = <3450000>;
348 regulator-always-on;
349 regulator-boot-on;
350 };
351
352 vdcdc2_reg: regulator@1 {
353 regulator-name = "VDCDC2_3.3V";
354 regulator-min-microvolt = <1710000>;
355 regulator-max-microvolt = <3450000>;
356 regulator-always-on;
357 regulator-boot-on;
358 ti,defdcdc_default = <1>;
359 };
360
361 vdcdc3_reg: regulator@2 {
362 regulator-name = "VDCDC3_1.2V";
363 regulator-min-microvolt = <950000>;
364 regulator-max-microvolt = <1350000>;
365 regulator-always-on;
366 regulator-boot-on;
367 ti,defdcdc_default = <1>;
368 };
369
370 ldo1_reg: regulator@3 {
371 regulator-name = "LDO1_1.8V";
372 regulator-min-microvolt = <1710000>;
373 regulator-max-microvolt = <1890000>;
374 regulator-always-on;
375 regulator-boot-on;
376 };
377
378 ldo2_reg: regulator@4 {
379 regulator-name = "LDO2_1.2V";
380 regulator-min-microvolt = <1140000>;
381 regulator-max-microvolt = <1320000>;
382 regulator-always-on;
383 regulator-boot-on;
384 };
385 };
386 };
387
388 &mcasp0 {
389 #sound-dai-cells = <0>;
390 status = "okay";
391 pinctrl-names = "default";
392 pinctrl-0 = <&mcasp0_pins>;
393
394 op-mode = <0>; /* MCASP_IIS_MODE */
395 tdm-slots = <2>;
396 /* 4 serializer */
397 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
398 0 0 0 0
399 0 0 0 0
400 0 0 0 1
401 2 0 0 0
402 >;
403 tx-num-evt = <32>;
404 rx-num-evt = <32>;
405 };
406
407 &edma0 {
408 ti,edma-reserved-slot-ranges = <32 50>;
409 };
410
411 &edma1 {
412 ti,edma-reserved-slot-ranges = <32 90>;
413 };
414
415 &aemif {
416 pinctrl-names = "default";
417 pinctrl-0 = <&nand_pins>;
418 status = "ok";
419 cs3 {
420 #address-cells = <2>;
421 #size-cells = <1>;
422 clock-ranges;
423 ranges;
424
425 ti,cs-chipselect = <3>;
426
427 nand@2000000,0 {
428 compatible = "ti,davinci-nand";
429 #address-cells = <1>;
430 #size-cells = <1>;
431 reg = <0 0x02000000 0x02000000
432 1 0x00000000 0x00008000>;
433
434 ti,davinci-chipselect = <1>;
435 ti,davinci-mask-ale = <0>;
436 ti,davinci-mask-cle = <0>;
437 ti,davinci-mask-chipsel = <0>;
438 ti,davinci-ecc-mode = "hw";
439 ti,davinci-ecc-bits = <4>;
440 ti,davinci-nand-use-bbt;
441 };
442 };
443 };
444
445 &usb_phy {
446 status = "okay";
447 };
448
449 &usb0 {
450 status = "okay";
451 };
452
453 &usb1 {
454 status = "okay";
455 };
456
457 &vpif {
458 pinctrl-names = "default";
459 pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
460 /*
461 * The vpif and the LCD are mutually exclusive.
462 * To enable VPIF, disable the ti,tilcdc,panel then
463 * change the status below to 'okay'
464 */
465 status = "disabled";
466 };