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