GNU Linux-libre 4.4.283-gnu1
[releases.git] / arch / arm / boot / dts / dra7-evm.dts
1 /*
2  * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.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
10 #include "dra74x.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/clk/ti-dra7-atl.h>
13 #include <dt-bindings/input/input.h>
14
15 / {
16         model = "TI DRA742";
17         compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
18
19         memory {
20                 device_type = "memory";
21                 reg = <0x80000000 0x60000000>; /* 1536 MB */
22         };
23
24         evm_3v3_sd: fixedregulator-sd {
25                 compatible = "regulator-fixed";
26                 regulator-name = "evm_3v3_sd";
27                 regulator-min-microvolt = <3300000>;
28                 regulator-max-microvolt = <3300000>;
29                 enable-active-high;
30                 gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
31         };
32
33         evm_3v3_sw: fixedregulator-evm_3v3_sw {
34                 compatible = "regulator-fixed";
35                 regulator-name = "evm_3v3_sw";
36                 regulator-min-microvolt = <3300000>;
37                 regulator-max-microvolt = <3300000>;
38         };
39
40         aic_dvdd: fixedregulator-aic_dvdd {
41                 /* TPS77018DBVT */
42                 compatible = "regulator-fixed";
43                 regulator-name = "aic_dvdd";
44                 vin-supply = <&evm_3v3_sw>;
45                 regulator-min-microvolt = <1800000>;
46                 regulator-max-microvolt = <1800000>;
47         };
48
49         extcon_usb1: extcon_usb1 {
50                 compatible = "linux,extcon-usb-gpio";
51                 id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
52         };
53
54         extcon_usb2: extcon_usb2 {
55                 compatible = "linux,extcon-usb-gpio";
56                 id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
57         };
58
59         vtt_fixed: fixedregulator-vtt {
60                 compatible = "regulator-fixed";
61                 regulator-name = "vtt_fixed";
62                 regulator-min-microvolt = <1350000>;
63                 regulator-max-microvolt = <1350000>;
64                 regulator-always-on;
65                 regulator-boot-on;
66                 enable-active-high;
67                 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
68         };
69
70         sound0: sound@0 {
71                 compatible = "simple-audio-card";
72                 simple-audio-card,name = "DRA7xx-EVM";
73                 simple-audio-card,widgets =
74                         "Headphone", "Headphone Jack",
75                         "Line", "Line Out",
76                         "Microphone", "Mic Jack",
77                         "Line", "Line In";
78                 simple-audio-card,routing =
79                         "Headphone Jack",       "HPLOUT",
80                         "Headphone Jack",       "HPROUT",
81                         "Line Out",             "LLOUT",
82                         "Line Out",             "RLOUT",
83                         "MIC3L",                "Mic Jack",
84                         "MIC3R",                "Mic Jack",
85                         "Mic Jack",             "Mic Bias",
86                         "LINE1L",               "Line In",
87                         "LINE1R",               "Line In";
88                 simple-audio-card,format = "dsp_b";
89                 simple-audio-card,bitclock-master = <&sound0_master>;
90                 simple-audio-card,frame-master = <&sound0_master>;
91                 simple-audio-card,bitclock-inversion;
92
93                 sound0_master: simple-audio-card,cpu {
94                         sound-dai = <&mcasp3>;
95                         system-clock-frequency = <5644800>;
96                 };
97
98                 simple-audio-card,codec {
99                         sound-dai = <&tlv320aic3106>;
100                         clocks = <&atl_clkin2_ck>;
101                 };
102         };
103
104         leds {
105                 compatible = "gpio-leds";
106                 led@0 {
107                         label = "dra7:usr1";
108                         gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
109                         default-state = "off";
110                 };
111
112                 led@1 {
113                         label = "dra7:usr2";
114                         gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
115                         default-state = "off";
116                 };
117
118                 led@2 {
119                         label = "dra7:usr3";
120                         gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
121                         default-state = "off";
122                 };
123
124                 led@3 {
125                         label = "dra7:usr4";
126                         gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
127                         default-state = "off";
128                 };
129         };
130
131         gpio_keys {
132                 compatible = "gpio-keys";
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135                 autorepeat;
136
137                 USER1 {
138                         label = "btnUser1";
139                         linux,code = <BTN_0>;
140                         gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
141                 };
142
143                 USER2 {
144                         label = "btnUser2";
145                         linux,code = <BTN_1>;
146                         gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
147                 };
148         };
149 };
150
151 &dra7_pmx_core {
152         pinctrl-names = "default";
153         pinctrl-0 = <&vtt_pin>;
154
155         vtt_pin: pinmux_vtt_pin {
156                 pinctrl-single,pins = <
157                         0x3b4 (PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
158                 >;
159         };
160
161         i2c1_pins: pinmux_i2c1_pins {
162                 pinctrl-single,pins = <
163                         0x400 (PIN_INPUT | MUX_MODE0) /* i2c1_sda */
164                         0x404 (PIN_INPUT | MUX_MODE0) /* i2c1_scl */
165                 >;
166         };
167
168         i2c2_pins: pinmux_i2c2_pins {
169                 pinctrl-single,pins = <
170                         0x408 (PIN_INPUT | MUX_MODE0) /* i2c2_sda */
171                         0x40c (PIN_INPUT | MUX_MODE0) /* i2c2_scl */
172                 >;
173         };
174
175         i2c3_pins: pinmux_i2c3_pins {
176                 pinctrl-single,pins = <
177                         0x288 (PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
178                         0x28c (PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
179                 >;
180         };
181
182         mcspi1_pins: pinmux_mcspi1_pins {
183                 pinctrl-single,pins = <
184                         0x3a4 (PIN_INPUT | MUX_MODE0) /* spi1_sclk */
185                         0x3a8 (PIN_INPUT | MUX_MODE0) /* spi1_d1 */
186                         0x3ac (PIN_INPUT | MUX_MODE0) /* spi1_d0 */
187                         0x3b0 (PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
188                         0x3b8 (PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
189                         0x3bc (PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
190                 >;
191         };
192
193         mcspi2_pins: pinmux_mcspi2_pins {
194                 pinctrl-single,pins = <
195                         0x3c0 (PIN_INPUT | MUX_MODE0) /* spi2_sclk */
196                         0x3c4 (PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
197                         0x3c8 (PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
198                         0x3cc (PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
199                 >;
200         };
201
202         uart1_pins: pinmux_uart1_pins {
203                 pinctrl-single,pins = <
204                         0x3e0 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
205                         0x3e4 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
206                         0x3e8 (PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
207                         0x3ec (PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
208                 >;
209         };
210
211         uart2_pins: pinmux_uart2_pins {
212                 pinctrl-single,pins = <
213                         0x3f0 (PIN_INPUT | MUX_MODE0) /* uart2_rxd */
214                         0x3f4 (PIN_INPUT | MUX_MODE0) /* uart2_txd */
215                         0x3f8 (PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
216                         0x3fc (PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
217                 >;
218         };
219
220         uart3_pins: pinmux_uart3_pins {
221                 pinctrl-single,pins = <
222                         0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
223                         0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
224                 >;
225         };
226
227         qspi1_pins: pinmux_qspi1_pins {
228                 pinctrl-single,pins = <
229                         0x4c (PIN_INPUT | MUX_MODE1)  /* gpmc_a3.qspi1_cs2 */
230                         0x50 (PIN_INPUT | MUX_MODE1)  /* gpmc_a4.qspi1_cs3 */
231                         0x74 (PIN_INPUT | MUX_MODE1)  /* gpmc_a13.qspi1_rtclk */
232                         0x78 (PIN_INPUT | MUX_MODE1)  /* gpmc_a14.qspi1_d3 */
233                         0x7c (PIN_INPUT | MUX_MODE1)  /* gpmc_a15.qspi1_d2 */
234                         0x80 (PIN_INPUT | MUX_MODE1) /* gpmc_a16.qspi1_d1 */
235                         0x84 (PIN_INPUT | MUX_MODE1)  /* gpmc_a17.qspi1_d0 */
236                         0x88 (PIN_INPUT | MUX_MODE1)  /* qpmc_a18.qspi1_sclk */
237                         0xb8 (PIN_INPUT_PULLUP | MUX_MODE1)  /* gpmc_cs2.qspi1_cs0 */
238                         0xbc (PIN_INPUT_PULLUP | MUX_MODE1)  /* gpmc_cs3.qspi1_cs1 */
239                 >;
240         };
241
242         usb1_pins: pinmux_usb1_pins {
243                 pinctrl-single,pins = <
244                         0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
245                 >;
246         };
247
248         usb2_pins: pinmux_usb2_pins {
249                 pinctrl-single,pins = <
250                         0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
251                 >;
252         };
253
254         nand_flash_x16: nand_flash_x16 {
255                 /* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
256                  * So NAND flash requires following switch settings:
257                  * SW5.9 (GPMC_WPN) = LOW
258                  * SW5.1 (NAND_BOOTn) = HIGH */
259                 pinctrl-single,pins = <
260                         0x0     (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad0     */
261                         0x4     (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad1     */
262                         0x8     (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad2     */
263                         0xc     (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad3     */
264                         0x10    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad4     */
265                         0x14    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad5     */
266                         0x18    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad6     */
267                         0x1c    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad7     */
268                         0x20    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad8     */
269                         0x24    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad9     */
270                         0x28    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad10    */
271                         0x2c    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad11    */
272                         0x30    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad12    */
273                         0x34    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad13    */
274                         0x38    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad14    */
275                         0x3c    (PIN_INPUT  | MUX_MODE0)        /* gpmc_ad15    */
276                         0xd8    (PIN_INPUT_PULLUP  | MUX_MODE0) /* gpmc_wait0   */
277                         0xcc    (PIN_OUTPUT | MUX_MODE0)        /* gpmc_wen     */
278                         0xb4    (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0    */
279                         0xc4    (PIN_OUTPUT | MUX_MODE0)        /* gpmc_advn_ale */
280                         0xc8    (PIN_OUTPUT | MUX_MODE0)        /* gpmc_oen_ren  */
281                         0xd0    (PIN_OUTPUT | MUX_MODE0)        /* gpmc_be0n_cle */
282                 >;
283         };
284
285         cpsw_default: cpsw_default {
286                 pinctrl-single,pins = <
287                         /* Slave 1 */
288                         0x250 (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_txc.rgmii0_txc */
289                         0x254 (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_txctl.rgmii0_txctl */
290                         0x258 (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_td3.rgmii0_txd3 */
291                         0x25c (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_txd2.rgmii0_txd2 */
292                         0x260 (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_txd1.rgmii0_txd1 */
293                         0x264 (PIN_OUTPUT | MUX_MODE0)  /* rgmii0_txd0.rgmii0_txd0 */
294                         0x268 (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxc.rgmii0_rxc */
295                         0x26c (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxctl.rgmii0_rxctl */
296                         0x270 (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxd3.rgmii0_rxd3 */
297                         0x274 (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxd2.rgmii0_rxd2 */
298                         0x278 (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxd1.rgmii0_rxd1 */
299                         0x27c (PIN_INPUT | MUX_MODE0)   /* rgmii0_rxd0.rgmii0_rxd0 */
300
301                         /* Slave 2 */
302                         0x198 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d12.rgmii1_txc */
303                         0x19c (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d13.rgmii1_tctl */
304                         0x1a0 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d14.rgmii1_td3 */
305                         0x1a4 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d15.rgmii1_td2 */
306                         0x1a8 (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d16.rgmii1_td1 */
307                         0x1ac (PIN_OUTPUT | MUX_MODE3)  /* vin2a_d17.rgmii1_td0 */
308                         0x1b0 (PIN_INPUT | MUX_MODE3)   /* vin2a_d18.rgmii1_rclk */
309                         0x1b4 (PIN_INPUT | MUX_MODE3)   /* vin2a_d19.rgmii1_rctl */
310                         0x1b8 (PIN_INPUT | MUX_MODE3)   /* vin2a_d20.rgmii1_rd3 */
311                         0x1bc (PIN_INPUT | MUX_MODE3)   /* vin2a_d21.rgmii1_rd2 */
312                         0x1c0 (PIN_INPUT | MUX_MODE3)   /* vin2a_d22.rgmii1_rd1 */
313                         0x1c4 (PIN_INPUT | MUX_MODE3)   /* vin2a_d23.rgmii1_rd0 */
314                 >;
315
316         };
317
318         cpsw_sleep: cpsw_sleep {
319                 pinctrl-single,pins = <
320                         /* Slave 1 */
321                         0x250 (MUX_MODE15)
322                         0x254 (MUX_MODE15)
323                         0x258 (MUX_MODE15)
324                         0x25c (MUX_MODE15)
325                         0x260 (MUX_MODE15)
326                         0x264 (MUX_MODE15)
327                         0x268 (MUX_MODE15)
328                         0x26c (MUX_MODE15)
329                         0x270 (MUX_MODE15)
330                         0x274 (MUX_MODE15)
331                         0x278 (MUX_MODE15)
332                         0x27c (MUX_MODE15)
333
334                         /* Slave 2 */
335                         0x198 (MUX_MODE15)
336                         0x19c (MUX_MODE15)
337                         0x1a0 (MUX_MODE15)
338                         0x1a4 (MUX_MODE15)
339                         0x1a8 (MUX_MODE15)
340                         0x1ac (MUX_MODE15)
341                         0x1b0 (MUX_MODE15)
342                         0x1b4 (MUX_MODE15)
343                         0x1b8 (MUX_MODE15)
344                         0x1bc (MUX_MODE15)
345                         0x1c0 (MUX_MODE15)
346                         0x1c4 (MUX_MODE15)
347                 >;
348         };
349
350         davinci_mdio_default: davinci_mdio_default {
351                 pinctrl-single,pins = <
352                         0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0)   /* mdio_d.mdio_d */
353                         0x240 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mdio_clk.mdio_clk */
354                 >;
355         };
356
357         davinci_mdio_sleep: davinci_mdio_sleep {
358                 pinctrl-single,pins = <
359                         0x23c (MUX_MODE15)
360                         0x240 (MUX_MODE15)
361                 >;
362         };
363
364         dcan1_pins_default: dcan1_pins_default {
365                 pinctrl-single,pins = <
366                         0x3d0   (PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
367                         0x418   (PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
368                 >;
369         };
370
371         dcan1_pins_sleep: dcan1_pins_sleep {
372                 pinctrl-single,pins = <
373                         0x3d0   (MUX_MODE15 | PULL_UP)  /* dcan1_tx.off */
374                         0x418   (MUX_MODE15 | PULL_UP)  /* wakeup0.off */
375                 >;
376         };
377
378         atl_pins: pinmux_atl_pins {
379                 pinctrl-single,pins = <
380                         0x298 (PIN_OUTPUT | MUX_MODE5)  /* xref_clk1.atl_clk1 */
381                         0x29c (PIN_OUTPUT | MUX_MODE5)  /* xref_clk2.atl_clk2 */
382                 >;
383         };
384
385         mcasp3_pins: pinmux_mcasp3_pins {
386                 pinctrl-single,pins = <
387                         0x324 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
388                         0x328 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */
389                         0x32c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */
390                         0x330 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp3_axr1 */
391                 >;
392         };
393
394         mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
395                 pinctrl-single,pins = <
396                         0x324 (MUX_MODE15)
397                         0x328 (MUX_MODE15)
398                         0x32c (MUX_MODE15)
399                         0x330 (MUX_MODE15)
400                 >;
401         };
402 };
403
404 &i2c1 {
405         status = "okay";
406         pinctrl-names = "default";
407         pinctrl-0 = <&i2c1_pins>;
408         clock-frequency = <400000>;
409
410         tps659038: tps659038@58 {
411                 compatible = "ti,tps659038";
412                 reg = <0x58>;
413                 ti,palmas-override-powerhold;
414                 ti,system-power-controller;
415
416                 tps659038_pmic {
417                         compatible = "ti,tps659038-pmic";
418
419                         regulators {
420                                 smps123_reg: smps123 {
421                                         /* VDD_MPU */
422                                         regulator-name = "smps123";
423                                         regulator-min-microvolt = < 850000>;
424                                         regulator-max-microvolt = <1250000>;
425                                         regulator-always-on;
426                                         regulator-boot-on;
427                                 };
428
429                                 smps45_reg: smps45 {
430                                         /* VDD_DSPEVE */
431                                         regulator-name = "smps45";
432                                         regulator-min-microvolt = < 850000>;
433                                         regulator-max-microvolt = <1150000>;
434                                         regulator-always-on;
435                                         regulator-boot-on;
436                                 };
437
438                                 smps6_reg: smps6 {
439                                         /* VDD_GPU - over VDD_SMPS6 */
440                                         regulator-name = "smps6";
441                                         regulator-min-microvolt = <850000>;
442                                         regulator-max-microvolt = <1250000>;
443                                         regulator-always-on;
444                                         regulator-boot-on;
445                                 };
446
447                                 smps7_reg: smps7 {
448                                         /* CORE_VDD */
449                                         regulator-name = "smps7";
450                                         regulator-min-microvolt = <850000>;
451                                         regulator-max-microvolt = <1060000>;
452                                         regulator-always-on;
453                                         regulator-boot-on;
454                                 };
455
456                                 smps8_reg: smps8 {
457                                         /* VDD_IVAHD */
458                                         regulator-name = "smps8";
459                                         regulator-min-microvolt = < 850000>;
460                                         regulator-max-microvolt = <1250000>;
461                                         regulator-always-on;
462                                         regulator-boot-on;
463                                 };
464
465                                 smps9_reg: smps9 {
466                                         /* VDDS1V8 */
467                                         regulator-name = "smps9";
468                                         regulator-min-microvolt = <1800000>;
469                                         regulator-max-microvolt = <1800000>;
470                                         regulator-always-on;
471                                         regulator-boot-on;
472                                 };
473
474                                 ldo1_reg: ldo1 {
475                                         /* LDO1_OUT --> SDIO  */
476                                         regulator-name = "ldo1";
477                                         regulator-min-microvolt = <1800000>;
478                                         regulator-max-microvolt = <3300000>;
479                                         regulator-always-on;
480                                         regulator-boot-on;
481                                 };
482
483                                 ldo2_reg: ldo2 {
484                                         /* VDD_RTCIO */
485                                         /* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
486                                         regulator-name = "ldo2";
487                                         regulator-min-microvolt = <3300000>;
488                                         regulator-max-microvolt = <3300000>;
489                                         regulator-always-on;
490                                         regulator-boot-on;
491                                 };
492
493                                 ldo3_reg: ldo3 {
494                                         /* VDDA_1V8_PHY */
495                                         regulator-name = "ldo3";
496                                         regulator-min-microvolt = <1800000>;
497                                         regulator-max-microvolt = <1800000>;
498                                         regulator-always-on;
499                                         regulator-boot-on;
500                                 };
501
502                                 ldo9_reg: ldo9 {
503                                         /* VDD_RTC */
504                                         regulator-name = "ldo9";
505                                         regulator-min-microvolt = <1050000>;
506                                         regulator-max-microvolt = <1050000>;
507                                         regulator-always-on;
508                                         regulator-boot-on;
509                                 };
510
511                                 ldoln_reg: ldoln {
512                                         /* VDDA_1V8_PLL */
513                                         regulator-name = "ldoln";
514                                         regulator-min-microvolt = <1800000>;
515                                         regulator-max-microvolt = <1800000>;
516                                         regulator-always-on;
517                                         regulator-boot-on;
518                                 };
519
520                                 ldousb_reg: ldousb {
521                                         /* VDDA_3V_USB: VDDA_USBHS33 */
522                                         regulator-name = "ldousb";
523                                         regulator-min-microvolt = <3300000>;
524                                         regulator-max-microvolt = <3300000>;
525                                         regulator-boot-on;
526                                 };
527                         };
528                 };
529         };
530
531         pcf_lcd: gpio@20 {
532                 compatible = "nxp,pcf8575";
533                 reg = <0x20>;
534                 gpio-controller;
535                 #gpio-cells = <2>;
536                 interrupt-parent = <&gpio6>;
537                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
538                 interrupt-controller;
539                 #interrupt-cells = <2>;
540         };
541
542         pcf_gpio_21: gpio@21 {
543                 compatible = "ti,pcf8575";
544                 reg = <0x21>;
545                 lines-initial-states = <0x1408>;
546                 gpio-controller;
547                 #gpio-cells = <2>;
548                 interrupt-parent = <&gpio6>;
549                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
550                 interrupt-controller;
551                 #interrupt-cells = <2>;
552         };
553
554         tlv320aic3106: tlv320aic3106@19 {
555                 #sound-dai-cells = <0>;
556                 compatible = "ti,tlv320aic3106";
557                 reg = <0x19>;
558                 adc-settle-ms = <40>;
559                 ai3x-micbias-vg = <1>;          /* 2.0V */
560                 status = "okay";
561
562                 /* Regulators */
563                 AVDD-supply = <&evm_3v3_sw>;
564                 IOVDD-supply = <&evm_3v3_sw>;
565                 DRVDD-supply = <&evm_3v3_sw>;
566                 DVDD-supply = <&aic_dvdd>;
567         };
568 };
569
570 &i2c2 {
571         status = "okay";
572         pinctrl-names = "default";
573         pinctrl-0 = <&i2c2_pins>;
574         clock-frequency = <400000>;
575
576         pcf_hdmi: gpio@26 {
577                 compatible = "nxp,pcf8575";
578                 reg = <0x26>;
579                 gpio-controller;
580                 #gpio-cells = <2>;
581                 p1 {
582                         /* vin6_sel_s0: high: VIN6, low: audio */
583                         gpio-hog;
584                         gpios = <1 GPIO_ACTIVE_HIGH>;
585                         output-low;
586                         line-name = "vin6_sel_s0";
587                 };
588         };
589 };
590
591 &i2c3 {
592         status = "okay";
593         pinctrl-names = "default";
594         pinctrl-0 = <&i2c3_pins>;
595         clock-frequency = <400000>;
596 };
597
598 &mcspi1 {
599         status = "okay";
600         pinctrl-names = "default";
601         pinctrl-0 = <&mcspi1_pins>;
602 };
603
604 &mcspi2 {
605         status = "okay";
606         pinctrl-names = "default";
607         pinctrl-0 = <&mcspi2_pins>;
608 };
609
610 &uart1 {
611         status = "okay";
612         pinctrl-names = "default";
613         pinctrl-0 = <&uart1_pins>;
614         interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
615                               <&dra7_pmx_core 0x3e0>;
616 };
617
618 &uart2 {
619         status = "okay";
620         pinctrl-names = "default";
621         pinctrl-0 = <&uart2_pins>;
622 };
623
624 &uart3 {
625         status = "okay";
626         pinctrl-names = "default";
627         pinctrl-0 = <&uart3_pins>;
628 };
629
630 &mmc1 {
631         status = "okay";
632         vmmc-supply = <&evm_3v3_sd>;
633         vmmc_aux-supply = <&ldo1_reg>;
634         bus-width = <4>;
635         /*
636          * SDCD signal is not being used here - using the fact that GPIO mode
637          * is always hardwired.
638          */
639         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
640 };
641
642 &mmc2 {
643         status = "okay";
644         vmmc-supply = <&evm_3v3_sw>;
645         bus-width = <8>;
646 };
647
648 &cpu0 {
649         cpu0-supply = <&smps123_reg>;
650 };
651
652 &qspi {
653         status = "okay";
654         pinctrl-names = "default";
655         pinctrl-0 = <&qspi1_pins>;
656
657         spi-max-frequency = <48000000>;
658         m25p80@0 {
659                 compatible = "s25fl256s1";
660                 spi-max-frequency = <48000000>;
661                 reg = <0>;
662                 spi-tx-bus-width = <1>;
663                 spi-rx-bus-width = <4>;
664                 spi-cpol;
665                 spi-cpha;
666                 #address-cells = <1>;
667                 #size-cells = <1>;
668
669                 /* MTD partition table.
670                  * The ROM checks the first four physical blocks
671                  * for a valid file to boot and the flash here is
672                  * 64KiB block size.
673                  */
674                 partition@0 {
675                         label = "QSPI.SPL";
676                         reg = <0x00000000 0x000010000>;
677                 };
678                 partition@1 {
679                         label = "QSPI.SPL.backup1";
680                         reg = <0x00010000 0x00010000>;
681                 };
682                 partition@2 {
683                         label = "QSPI.SPL.backup2";
684                         reg = <0x00020000 0x00010000>;
685                 };
686                 partition@3 {
687                         label = "QSPI.SPL.backup3";
688                         reg = <0x00030000 0x00010000>;
689                 };
690                 partition@4 {
691                         label = "QSPI.u-boot";
692                         reg = <0x00040000 0x00100000>;
693                 };
694                 partition@5 {
695                         label = "QSPI.u-boot-spl-os";
696                         reg = <0x00140000 0x00080000>;
697                 };
698                 partition@6 {
699                         label = "QSPI.u-boot-env";
700                         reg = <0x001c0000 0x00010000>;
701                 };
702                 partition@7 {
703                         label = "QSPI.u-boot-env.backup1";
704                         reg = <0x001d0000 0x0010000>;
705                 };
706                 partition@8 {
707                         label = "QSPI.kernel";
708                         reg = <0x001e0000 0x0800000>;
709                 };
710                 partition@9 {
711                         label = "QSPI.file-system";
712                         reg = <0x009e0000 0x01620000>;
713                 };
714         };
715 };
716
717 &omap_dwc3_1 {
718         extcon = <&extcon_usb1>;
719 };
720
721 &omap_dwc3_2 {
722         extcon = <&extcon_usb2>;
723 };
724
725 &usb1 {
726         dr_mode = "peripheral";
727         pinctrl-names = "default";
728         pinctrl-0 = <&usb1_pins>;
729 };
730
731 &usb2 {
732         dr_mode = "host";
733         pinctrl-names = "default";
734         pinctrl-0 = <&usb2_pins>;
735 };
736
737 &elm {
738         status = "okay";
739 };
740
741 &gpmc {
742         status = "okay";
743         pinctrl-names = "default";
744         pinctrl-0 = <&nand_flash_x16>;
745         ranges = <0 0 0 0x01000000>;    /* minimum GPMC partition = 16MB */
746         nand@0,0 {
747                 reg = <0 0 4>;          /* device IO registers */
748                 ti,nand-ecc-opt = "bch8";
749                 ti,elm-id = <&elm>;
750                 nand-bus-width = <16>;
751                 gpmc,device-width = <2>;
752                 gpmc,sync-clk-ps = <0>;
753                 gpmc,cs-on-ns = <0>;
754                 gpmc,cs-rd-off-ns = <80>;
755                 gpmc,cs-wr-off-ns = <80>;
756                 gpmc,adv-on-ns = <0>;
757                 gpmc,adv-rd-off-ns = <60>;
758                 gpmc,adv-wr-off-ns = <60>;
759                 gpmc,we-on-ns = <10>;
760                 gpmc,we-off-ns = <50>;
761                 gpmc,oe-on-ns = <4>;
762                 gpmc,oe-off-ns = <40>;
763                 gpmc,access-ns = <40>;
764                 gpmc,wr-access-ns = <80>;
765                 gpmc,rd-cycle-ns = <80>;
766                 gpmc,wr-cycle-ns = <80>;
767                 gpmc,bus-turnaround-ns = <0>;
768                 gpmc,cycle2cycle-delay-ns = <0>;
769                 gpmc,clk-activation-ns = <0>;
770                 gpmc,wait-monitoring-ns = <0>;
771                 gpmc,wr-data-mux-bus-ns = <0>;
772                 /* MTD partition table */
773                 /* All SPL-* partitions are sized to minimal length
774                  * which can be independently programmable. For
775                  * NAND flash this is equal to size of erase-block */
776                 #address-cells = <1>;
777                 #size-cells = <1>;
778                 partition@0 {
779                         label = "NAND.SPL";
780                         reg = <0x00000000 0x000020000>;
781                 };
782                 partition@1 {
783                         label = "NAND.SPL.backup1";
784                         reg = <0x00020000 0x00020000>;
785                 };
786                 partition@2 {
787                         label = "NAND.SPL.backup2";
788                         reg = <0x00040000 0x00020000>;
789                 };
790                 partition@3 {
791                         label = "NAND.SPL.backup3";
792                         reg = <0x00060000 0x00020000>;
793                 };
794                 partition@4 {
795                         label = "NAND.u-boot-spl-os";
796                         reg = <0x00080000 0x00040000>;
797                 };
798                 partition@5 {
799                         label = "NAND.u-boot";
800                         reg = <0x000c0000 0x00100000>;
801                 };
802                 partition@6 {
803                         label = "NAND.u-boot-env";
804                         reg = <0x001c0000 0x00020000>;
805                 };
806                 partition@7 {
807                         label = "NAND.u-boot-env.backup1";
808                         reg = <0x001e0000 0x00020000>;
809                 };
810                 partition@8 {
811                         label = "NAND.kernel";
812                         reg = <0x00200000 0x00800000>;
813                 };
814                 partition@9 {
815                         label = "NAND.file-system";
816                         reg = <0x00a00000 0x0f600000>;
817                 };
818         };
819 };
820
821 &usb2_phy1 {
822         phy-supply = <&ldousb_reg>;
823 };
824
825 &usb2_phy2 {
826         phy-supply = <&ldousb_reg>;
827 };
828
829 &gpio7 {
830         ti,no-reset-on-init;
831         ti,no-idle-on-init;
832 };
833
834 &mac {
835         status = "okay";
836         pinctrl-names = "default", "sleep";
837         pinctrl-0 = <&cpsw_default>;
838         pinctrl-1 = <&cpsw_sleep>;
839         dual_emac;
840 };
841
842 &cpsw_emac0 {
843         phy_id = <&davinci_mdio>, <2>;
844         phy-mode = "rgmii";
845         dual_emac_res_vlan = <1>;
846 };
847
848 &cpsw_emac1 {
849         phy_id = <&davinci_mdio>, <3>;
850         phy-mode = "rgmii";
851         dual_emac_res_vlan = <2>;
852 };
853
854 &davinci_mdio {
855         pinctrl-names = "default", "sleep";
856         pinctrl-0 = <&davinci_mdio_default>;
857         pinctrl-1 = <&davinci_mdio_sleep>;
858 };
859
860 &dcan1 {
861         status = "ok";
862         pinctrl-names = "default", "sleep", "active";
863         pinctrl-0 = <&dcan1_pins_sleep>;
864         pinctrl-1 = <&dcan1_pins_sleep>;
865         pinctrl-2 = <&dcan1_pins_default>;
866 };
867
868 &atl {
869         pinctrl-names = "default";
870         pinctrl-0 = <&atl_pins>;
871
872         assigned-clocks = <&abe_dpll_sys_clk_mux>,
873                           <&atl_gfclk_mux>,
874                           <&dpll_abe_ck>,
875                           <&dpll_abe_m2x2_ck>,
876                           <&atl_clkin2_ck>;
877         assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
878         assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
879
880         status = "okay";
881
882         atl2 {
883                 bws = <DRA7_ATL_WS_MCASP2_FSX>;
884                 aws = <DRA7_ATL_WS_MCASP3_FSX>;
885         };
886 };
887
888 &mcasp3 {
889         #sound-dai-cells = <0>;
890         pinctrl-names = "default", "sleep";
891         pinctrl-0 = <&mcasp3_pins>;
892         pinctrl-1 = <&mcasp3_sleep_pins>;
893
894         assigned-clocks = <&mcasp3_ahclkx_mux>;
895         assigned-clock-parents = <&atl_clkin2_ck>;
896
897         status = "okay";
898
899         op-mode = <0>;          /* MCASP_IIS_MODE */
900         tdm-slots = <2>;
901         /* 4 serializer */
902         serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
903                 1 2 0 0
904         >;
905 };
906
907 &mailbox5 {
908         status = "okay";
909         mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
910                 status = "okay";
911         };
912         mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
913                 status = "okay";
914         };
915 };
916
917 &mailbox6 {
918         status = "okay";
919         mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
920                 status = "okay";
921         };
922         mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
923                 status = "okay";
924         };
925 };