7e865bb467b27ce47a462d87f008d4eb1938fecc
[platform/kernel/u-boot.git] / arch / arm / 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 - https://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 &sata {
192         status = "okay";
193 };
194
195 &serial0 {
196         status = "okay";
197 };
198
199 &serial1 {
200         status = "okay";
201 };
202
203 &serial2 {
204         status = "okay";
205 };
206
207 &rtc0 {
208         status = "okay";
209 };
210
211 &lcdc {
212         status = "okay";
213 };
214
215 &i2c0 {
216         status = "okay";
217         clock-frequency = <100000>;
218         pinctrl-names = "default";
219         pinctrl-0 = <&i2c0_pins>;
220
221         tps: tps@48 {
222                 reg = <0x48>;
223         };
224         tlv320aic3106: tlv320aic3106@18 {
225                 #sound-dai-cells = <0>;
226                 compatible = "ti,tlv320aic3106";
227                 reg = <0x18>;
228                 status = "okay";
229
230                 /* Regulators */
231                 IOVDD-supply = <&vdcdc2_reg>;
232                 AVDD-supply = <&baseboard_3v3>;
233                 DRVDD-supply = <&baseboard_3v3>;
234                 DVDD-supply = <&baseboard_1v8>;
235         };
236         tca6416: gpio@20 {
237                 compatible = "ti,tca6416";
238                 reg = <0x20>;
239                 gpio-controller;
240                 #gpio-cells = <2>;
241         };
242         tca6416_bb: gpio@21 {
243                 compatible = "ti,tca6416";
244                 reg = <0x21>;
245                 gpio-controller;
246                 #gpio-cells = <2>;
247         };
248 };
249
250 &wdt {
251         status = "okay";
252 };
253
254 &mmc0 {
255         max-frequency = <50000000>;
256         bus-width = <4>;
257         status = "okay";
258         pinctrl-names = "default";
259         pinctrl-0 = <&mmc0_pins>;
260         cd-gpios = <&gpio 64 GPIO_ACTIVE_LOW>;
261         wp-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>;
262 };
263
264 &spi1 {
265         status = "okay";
266         pinctrl-names = "default";
267         pinctrl-0 = <&spi1_pins &spi1_cs0_pin>;
268         flash: m25p80@0 {
269                 #address-cells = <1>;
270                 #size-cells = <1>;
271                 compatible = "m25p64";
272                 spi-max-frequency = <30000000>;
273                 m25p,fast-read;
274                 reg = <0>;
275                 partition@0 {
276                         label = "U-Boot-SPL";
277                         reg = <0x00000000 0x00010000>;
278                         read-only;
279                 };
280                 partition@1 {
281                         label = "U-Boot";
282                         reg = <0x00010000 0x00080000>;
283                         read-only;
284                 };
285                 partition@2 {
286                         label = "U-Boot-Env";
287                         reg = <0x00090000 0x00010000>;
288                         read-only;
289                 };
290                 partition@3 {
291                         label = "Kernel";
292                         reg = <0x000a0000 0x00280000>;
293                 };
294                 partition@4 {
295                         label = "Filesystem";
296                         reg = <0x00320000 0x00400000>;
297                 };
298                 partition@5 {
299                         label = "MAC-Address";
300                         reg = <0x007f0000 0x00010000>;
301                         read-only;
302                 };
303         };
304 };
305
306 &mdio {
307         status = "okay";
308         pinctrl-names = "default";
309         pinctrl-0 = <&mdio_pins>;
310         bus_freq = <2200000>;
311 };
312
313 &eth0 {
314         status = "okay";
315         pinctrl-names = "default";
316         pinctrl-0 = <&mii_pins>;
317 };
318
319 &gpio {
320         status = "okay";
321 };
322
323 /include/ "tps6507x.dtsi"
324
325 &tps {
326         vdcdc1_2-supply = <&vbat>;
327         vdcdc3-supply = <&vbat>;
328         vldo1_2-supply = <&vbat>;
329
330         regulators {
331                 vdcdc1_reg: regulator@0 {
332                         regulator-name = "VDCDC1_3.3V";
333                         regulator-min-microvolt = <3150000>;
334                         regulator-max-microvolt = <3450000>;
335                         regulator-always-on;
336                         regulator-boot-on;
337                 };
338
339                 vdcdc2_reg: regulator@1 {
340                         regulator-name = "VDCDC2_3.3V";
341                         regulator-min-microvolt = <1710000>;
342                         regulator-max-microvolt = <3450000>;
343                         regulator-always-on;
344                         regulator-boot-on;
345                         ti,defdcdc_default = <1>;
346                 };
347
348                 vdcdc3_reg: regulator@2 {
349                         regulator-name = "VDCDC3_1.2V";
350                         regulator-min-microvolt = <950000>;
351                         regulator-max-microvolt = <1350000>;
352                         regulator-always-on;
353                         regulator-boot-on;
354                         ti,defdcdc_default = <1>;
355                 };
356
357                 ldo1_reg: regulator@3 {
358                         regulator-name = "LDO1_1.8V";
359                         regulator-min-microvolt = <1710000>;
360                         regulator-max-microvolt = <1890000>;
361                         regulator-always-on;
362                         regulator-boot-on;
363                 };
364
365                 ldo2_reg: regulator@4 {
366                         regulator-name = "LDO2_1.2V";
367                         regulator-min-microvolt = <1140000>;
368                         regulator-max-microvolt = <1320000>;
369                         regulator-always-on;
370                         regulator-boot-on;
371                 };
372         };
373 };
374
375 &mcasp0 {
376         #sound-dai-cells = <0>;
377         status = "okay";
378         pinctrl-names = "default";
379         pinctrl-0 = <&mcasp0_pins>;
380
381         op-mode = <0>;          /* MCASP_IIS_MODE */
382         tdm-slots = <2>;
383         /* 4 serializer */
384         serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
385                 0 0 0 0
386                 0 0 0 0
387                 0 0 0 1
388                 2 0 0 0
389         >;
390         tx-num-evt = <32>;
391         rx-num-evt = <32>;
392 };
393
394 &edma0 {
395         ti,edma-reserved-slot-ranges = <32 50>;
396 };
397
398 &edma1 {
399         ti,edma-reserved-slot-ranges = <32 90>;
400 };
401
402 &aemif {
403         pinctrl-names = "default";
404         pinctrl-0 = <&nand_pins>;
405         status = "okay";
406         cs3 {
407                 #address-cells = <2>;
408                 #size-cells = <1>;
409                 clock-ranges;
410                 ranges;
411
412                 ti,cs-chipselect = <3>;
413
414                 nand@2000000,0 {
415                         compatible = "ti,davinci-nand";
416                         #address-cells = <1>;
417                         #size-cells = <1>;
418                         reg = <0 0x02000000 0x02000000
419                                1 0x00000000 0x00008000>;
420
421                         ti,davinci-chipselect = <1>;
422                         ti,davinci-mask-ale = <0>;
423                         ti,davinci-mask-cle = <0>;
424                         ti,davinci-mask-chipsel = <0>;
425                         ti,davinci-ecc-mode = "hw";
426                         ti,davinci-ecc-bits = <4>;
427                         ti,davinci-nand-use-bbt;
428                 };
429         };
430 };
431
432 &usb_phy {
433         status = "okay";
434 };
435
436 &usb0 {
437         status = "okay";
438 };
439
440 &usb1 {
441         status = "okay";
442 };
443
444 &vpif {
445         pinctrl-names = "default";
446         pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
447         /*
448          * The vpif and the LCD are mutually exclusive.
449          * To enable VPIF, disable the ti,tilcdc,panel then
450          * change the status below to 'okay'
451          */
452         status = "disabled";
453 };