Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
4 */
5/dts-v1/;
6
7#include "dra74x.dtsi"
8#include "dra7-evm-common.dtsi"
9#include "dra74x-mmc-iodelay.dtsi"
10
11/ {
12 model = "TI DRA742";
13 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
14
15 memory@0 {
16 device_type = "memory";
17 reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
18 };
19
20 evm_12v0: fixedregulator-evm_12v0 {
21 /* main supply */
22 compatible = "regulator-fixed";
23 regulator-name = "evm_12v0";
24 regulator-min-microvolt = <12000000>;
25 regulator-max-microvolt = <12000000>;
26 regulator-always-on;
27 regulator-boot-on;
28 };
29
30 evm_1v8_sw: fixedregulator-evm_1v8 {
31 compatible = "regulator-fixed";
32 regulator-name = "evm_1v8";
33 vin-supply = <&smps9_reg>;
34 regulator-min-microvolt = <1800000>;
35 regulator-max-microvolt = <1800000>;
36 };
37
38 reserved-memory {
39 #address-cells = <2>;
40 #size-cells = <2>;
41 ranges;
42
43 ipu2_memory_region: ipu2-memory@95800000 {
44 compatible = "shared-dma-pool";
45 reg = <0x0 0x95800000 0x0 0x3800000>;
46 reusable;
47 status = "okay";
48 };
49
50 dsp1_memory_region: dsp1-memory@99000000 {
51 compatible = "shared-dma-pool";
52 reg = <0x0 0x99000000 0x0 0x4000000>;
53 reusable;
54 status = "okay";
55 };
56
57 ipu1_memory_region: ipu1-memory@9d000000 {
58 compatible = "shared-dma-pool";
59 reg = <0x0 0x9d000000 0x0 0x2000000>;
60 reusable;
61 status = "okay";
62 };
63
64 dsp2_memory_region: dsp2-memory@9f000000 {
65 compatible = "shared-dma-pool";
66 reg = <0x0 0x9f000000 0x0 0x800000>;
67 reusable;
68 status = "okay";
69 };
70 };
71
72 evm_3v3_sd: fixedregulator-sd {
73 compatible = "regulator-fixed";
74 regulator-name = "evm_3v3_sd";
75 regulator-min-microvolt = <3300000>;
76 regulator-max-microvolt = <3300000>;
77 enable-active-high;
78 gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
79 };
80
81 evm_3v3_sw: fixedregulator-evm_3v3_sw {
82 compatible = "regulator-fixed";
83 regulator-name = "evm_3v3_sw";
84 vin-supply = <&sysen1>;
85 regulator-min-microvolt = <3300000>;
86 regulator-max-microvolt = <3300000>;
87 };
88
89 aic_dvdd: fixedregulator-aic_dvdd {
90 /* TPS77018DBVT */
91 compatible = "regulator-fixed";
92 regulator-name = "aic_dvdd";
93 vin-supply = <&evm_3v3_sw>;
94 regulator-min-microvolt = <1800000>;
95 regulator-max-microvolt = <1800000>;
96 };
97
98 vsys_3v3: fixedregulator-vsys3v3 {
99 /* Output of Cntlr A of TPS43351-Q1 on dra7-evm */
100 compatible = "regulator-fixed";
101 regulator-name = "vsys_3v3";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
104 vin-supply = <&evm_12v0>;
105 regulator-always-on;
106 regulator-boot-on;
107 };
108
109 evm_5v0: fixedregulator-evm_5v0 {
110 /* Output of Cntlr B of TPS43351-Q1 on dra7-evm */
111 compatible = "regulator-fixed";
112 regulator-name = "evm_5v0";
113 regulator-min-microvolt = <5000000>;
114 regulator-max-microvolt = <5000000>;
115 vin-supply = <&evm_12v0>;
116 regulator-always-on;
117 regulator-boot-on;
118 };
119
120 evm_3v6: fixedregulator-evm_3v6 {
121 compatible = "regulator-fixed";
122 regulator-name = "evm_3v6";
123 regulator-min-microvolt = <3600000>;
124 regulator-max-microvolt = <3600000>;
125 vin-supply = <&evm_5v0>;
126 regulator-always-on;
127 regulator-boot-on;
128 };
129
130 vmmcwl_fixed: fixedregulator-mmcwl {
131 compatible = "regulator-fixed";
132 regulator-name = "vmmcwl_fixed";
133 regulator-min-microvolt = <1800000>;
134 regulator-max-microvolt = <1800000>;
135 gpio = <&gpio5 8 0>;
136 startup-delay-us = <70000>;
137 enable-active-high;
138 };
139
140 vtt_fixed: fixedregulator-vtt {
141 compatible = "regulator-fixed";
142 regulator-name = "vtt_fixed";
143 regulator-min-microvolt = <1350000>;
144 regulator-max-microvolt = <1350000>;
145 regulator-always-on;
146 regulator-boot-on;
147 enable-active-high;
148 vin-supply = <&sysen2>;
149 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
150 };
151
152};
153
154&dra7_pmx_core {
155 dcan1_pins_default: dcan1_pins_default {
156 pinctrl-single,pins = <
157 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
158 DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
159 >;
160 };
161
162 dcan1_pins_sleep: dcan1_pins_sleep {
163 pinctrl-single,pins = <
164 DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
165 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */
166 >;
167 };
168};
169
170&i2c1 {
171 status = "okay";
172 clock-frequency = <400000>;
173
174 tps659038: tps659038@58 {
175 compatible = "ti,tps659038";
176 reg = <0x58>;
177 ti,palmas-override-powerhold;
178 ti,system-power-controller;
179
180 tps659038_pmic {
181 compatible = "ti,tps659038-pmic";
182
183 regulators {
184 smps123_reg: smps123 {
185 /* VDD_MPU */
186 regulator-name = "smps123";
187 regulator-min-microvolt = < 850000>;
188 regulator-max-microvolt = <1250000>;
189 regulator-always-on;
190 regulator-boot-on;
191 };
192
193 smps45_reg: smps45 {
194 /* VDD_DSPEVE */
195 regulator-name = "smps45";
196 regulator-min-microvolt = < 850000>;
197 regulator-max-microvolt = <1250000>;
198 regulator-always-on;
199 regulator-boot-on;
200 };
201
202 smps6_reg: smps6 {
203 /* VDD_GPU - over VDD_SMPS6 */
204 regulator-name = "smps6";
205 regulator-min-microvolt = <850000>;
206 regulator-max-microvolt = <1250000>;
207 regulator-always-on;
208 regulator-boot-on;
209 };
210
211 smps7_reg: smps7 {
212 /* CORE_VDD */
213 regulator-name = "smps7";
214 regulator-min-microvolt = <850000>;
215 regulator-max-microvolt = <1150000>;
216 regulator-always-on;
217 regulator-boot-on;
218 };
219
220 smps8_reg: smps8 {
221 /* VDD_IVAHD */
222 regulator-name = "smps8";
223 regulator-min-microvolt = < 850000>;
224 regulator-max-microvolt = <1250000>;
225 regulator-always-on;
226 regulator-boot-on;
227 };
228
229 smps9_reg: smps9 {
230 /* VDDS1V8 */
231 regulator-name = "smps9";
232 regulator-min-microvolt = <1800000>;
233 regulator-max-microvolt = <1800000>;
234 regulator-always-on;
235 regulator-boot-on;
236 };
237
238 ldo1_reg: ldo1 {
239 /* LDO1_OUT --> SDIO */
240 regulator-name = "ldo1";
241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <3300000>;
243 regulator-always-on;
244 regulator-boot-on;
245 };
246
247 ldo2_reg: ldo2 {
248 /* VDD_RTCIO */
249 /* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
250 regulator-name = "ldo2";
251 regulator-min-microvolt = <3300000>;
252 regulator-max-microvolt = <3300000>;
253 regulator-always-on;
254 regulator-boot-on;
255 };
256
257 ldo3_reg: ldo3 {
258 /* VDDA_1V8_PHY */
259 regulator-name = "ldo3";
260 regulator-min-microvolt = <1800000>;
261 regulator-max-microvolt = <1800000>;
262 regulator-always-on;
263 regulator-boot-on;
264 };
265
266 ldo9_reg: ldo9 {
267 /* VDD_RTC */
268 regulator-name = "ldo9";
269 regulator-min-microvolt = <1050000>;
270 regulator-max-microvolt = <1050000>;
271 regulator-always-on;
272 regulator-boot-on;
273 regulator-allow-bypass;
274 };
275
276 ldoln_reg: ldoln {
277 /* VDDA_1V8_PLL */
278 regulator-name = "ldoln";
279 regulator-min-microvolt = <1800000>;
280 regulator-max-microvolt = <1800000>;
281 regulator-always-on;
282 regulator-boot-on;
283 };
284
285 ldousb_reg: ldousb {
286 /* VDDA_3V_USB: VDDA_USBHS33 */
287 regulator-name = "ldousb";
288 regulator-min-microvolt = <3300000>;
289 regulator-max-microvolt = <3300000>;
290 regulator-boot-on;
291 };
292
293 /* REGEN1 is unused */
294
295 regen2: regen2 {
296 /* Needed for PMIC internal resources */
297 regulator-name = "regen2";
298 regulator-boot-on;
299 regulator-always-on;
300 };
301
302 /* REGEN3 is unused */
303
304 sysen1: sysen1 {
305 /* PMIC_REGEN_3V3 */
306 regulator-name = "sysen1";
307 regulator-boot-on;
308 regulator-always-on;
309 };
310
311 sysen2: sysen2 {
312 /* PMIC_REGEN_DDR */
313 regulator-name = "sysen2";
314 regulator-boot-on;
315 regulator-always-on;
316 };
317 };
318 };
319 };
320
321 pcf_lcd: gpio@20 {
322 compatible = "nxp,pcf8575";
323 reg = <0x20>;
324 gpio-controller;
325 #gpio-cells = <2>;
326 interrupt-parent = <&gpio6>;
327 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
328 interrupt-controller;
329 #interrupt-cells = <2>;
330 };
331
332 pcf_gpio_21: gpio@21 {
333 compatible = "nxp,pcf8575";
334 reg = <0x21>;
335 lines-initial-states = <0x1408>;
336 gpio-controller;
337 #gpio-cells = <2>;
338 interrupt-parent = <&gpio6>;
339 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
340 interrupt-controller;
341 #interrupt-cells = <2>;
342 };
343
344 tlv320aic3106: tlv320aic3106@19 {
345 #sound-dai-cells = <0>;
346 compatible = "ti,tlv320aic3106";
347 reg = <0x19>;
348 adc-settle-ms = <40>;
349 ai3x-micbias-vg = <1>; /* 2.0V */
350 status = "okay";
351
352 /* Regulators */
353 AVDD-supply = <&evm_3v3_sw>;
354 IOVDD-supply = <&evm_3v3_sw>;
355 DRVDD-supply = <&evm_3v3_sw>;
356 DVDD-supply = <&aic_dvdd>;
357 };
358};
359
360&i2c2 {
361 status = "okay";
362 clock-frequency = <400000>;
363
364 pcf_hdmi: gpio@26 {
365 compatible = "nxp,pcf8575";
366 reg = <0x26>;
367 gpio-controller;
368 #gpio-cells = <2>;
369 hdmi-audio-hog {
370 /* vin6_sel_s0: high: VIN6, low: audio */
371 gpio-hog;
372 gpios = <1 GPIO_ACTIVE_HIGH>;
373 output-low;
374 line-name = "vin6_sel_s0";
375 };
376 };
377};
378
379&mmc1 {
380 status = "okay";
381 vmmc-supply = <&evm_3v3_sd>;
382 vqmmc-supply = <&ldo1_reg>;
383 bus-width = <4>;
384 /*
385 * SDCD signal is not being used here - using the fact that GPIO mode
386 * is always hardwired.
387 */
388 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
389 pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104";
390 pinctrl-0 = <&mmc1_pins_default>;
391 pinctrl-1 = <&mmc1_pins_hs>;
392 pinctrl-2 = <&mmc1_pins_sdr12>;
393 pinctrl-3 = <&mmc1_pins_sdr25>;
394 pinctrl-4 = <&mmc1_pins_sdr50>;
395 pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
396 pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
397 pinctrl-7 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
398 pinctrl-8 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
399};
400
401&mmc2 {
402 status = "okay";
403 vmmc-supply = <&evm_1v8_sw>;
404 vqmmc-supply = <&evm_1v8_sw>;
405 bus-width = <8>;
406 non-removable;
407 pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v";
408 pinctrl-0 = <&mmc2_pins_default>;
409 pinctrl-1 = <&mmc2_pins_hs>;
410 pinctrl-2 = <&mmc2_pins_ddr_1_8v_rev11 &mmc2_iodelay_ddr_1_8v_rev11_conf>;
411 pinctrl-3 = <&mmc2_pins_ddr_rev20>;
412 pinctrl-4 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev11_conf>;
413 pinctrl-5 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
414};
415
416&mmc4 {
417 status = "okay";
418 vmmc-supply = <&evm_3v6>;
419 vqmmc-supply = <&vmmcwl_fixed>;
420 pinctrl-names = "default-rev11", "default", "hs-rev11", "hs", "sdr12-rev11", "sdr12", "sdr25-rev11", "sdr25";
421 pinctrl-0 = <&mmc4_pins_default &mmc4_iodelay_ds_rev11_conf>;
422 pinctrl-1 = <&mmc4_pins_default &mmc4_iodelay_ds_rev20_conf>;
423 pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
424 pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
425 pinctrl-4 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
426 pinctrl-5 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
427 pinctrl-6 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
428 pinctrl-7 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
429};
430
431&cpu0 {
432 vdd-supply = <&smps123_reg>;
433};
434
435&elm {
436 status = "okay";
437};
438
439&gpmc {
440 /*
441 * For the existing IOdelay configuration via U-Boot we don't
442 * support NAND on dra7-evm. Keep it disabled. Enabling it
443 * requires a different configuration by U-Boot.
444 */
445 status = "disabled";
446 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
447 nand@0,0 {
448 compatible = "ti,omap2-nand";
449 reg = <0 0 4>; /* device IO registers */
450 interrupt-parent = <&gpmc>;
451 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
452 <1 IRQ_TYPE_NONE>; /* termcount */
453 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
454 ti,nand-xfer-type = "prefetch-dma";
455 ti,nand-ecc-opt = "bch8";
456 ti,elm-id = <&elm>;
457 nand-bus-width = <16>;
458 gpmc,device-width = <2>;
459 gpmc,sync-clk-ps = <0>;
460 gpmc,cs-on-ns = <0>;
461 gpmc,cs-rd-off-ns = <80>;
462 gpmc,cs-wr-off-ns = <80>;
463 gpmc,adv-on-ns = <0>;
464 gpmc,adv-rd-off-ns = <60>;
465 gpmc,adv-wr-off-ns = <60>;
466 gpmc,we-on-ns = <10>;
467 gpmc,we-off-ns = <50>;
468 gpmc,oe-on-ns = <4>;
469 gpmc,oe-off-ns = <40>;
470 gpmc,access-ns = <40>;
471 gpmc,wr-access-ns = <80>;
472 gpmc,rd-cycle-ns = <80>;
473 gpmc,wr-cycle-ns = <80>;
474 gpmc,bus-turnaround-ns = <0>;
475 gpmc,cycle2cycle-delay-ns = <0>;
476 gpmc,clk-activation-ns = <0>;
477 gpmc,wr-data-mux-bus-ns = <0>;
478 /* MTD partition table */
479 /* All SPL-* partitions are sized to minimal length
480 * which can be independently programmable. For
481 * NAND flash this is equal to size of erase-block */
482 #address-cells = <1>;
483 #size-cells = <1>;
484 partition@0 {
485 label = "NAND.SPL";
486 reg = <0x00000000 0x00020000>;
487 };
488 partition@1 {
489 label = "NAND.SPL.backup1";
490 reg = <0x00020000 0x00020000>;
491 };
492 partition@2 {
493 label = "NAND.SPL.backup2";
494 reg = <0x00040000 0x00020000>;
495 };
496 partition@3 {
497 label = "NAND.SPL.backup3";
498 reg = <0x00060000 0x00020000>;
499 };
500 partition@4 {
501 label = "NAND.u-boot-spl-os";
502 reg = <0x00080000 0x00040000>;
503 };
504 partition@5 {
505 label = "NAND.u-boot";
506 reg = <0x000c0000 0x00100000>;
507 };
508 partition@6 {
509 label = "NAND.u-boot-env";
510 reg = <0x001c0000 0x00020000>;
511 };
512 partition@7 {
513 label = "NAND.u-boot-env.backup1";
514 reg = <0x001e0000 0x00020000>;
515 };
516 partition@8 {
517 label = "NAND.kernel";
518 reg = <0x00200000 0x00800000>;
519 };
520 partition@9 {
521 label = "NAND.file-system";
522 reg = <0x00a00000 0x0f600000>;
523 };
524 };
525};
526
527&usb2_phy1 {
528 phy-supply = <&ldousb_reg>;
529};
530
531&usb2_phy2 {
532 phy-supply = <&ldousb_reg>;
533};
534
535&gpio7_target {
536 ti,no-reset-on-init;
537 ti,no-idle-on-init;
538};
539
540&mac_sw {
541 status = "okay";
542};
543
544&cpsw_port1 {
545 phy-handle = <ðphy0>;
546 phy-mode = "rgmii";
547 ti,dual-emac-pvid = <1>;
548};
549
550&cpsw_port2 {
551 phy-handle = <ðphy1>;
552 phy-mode = "rgmii";
553 ti,dual-emac-pvid = <2>;
554};
555
556&davinci_mdio_sw {
557 ethphy0: ethernet-phy@2 {
558 reg = <2>;
559 };
560
561 ethphy1: ethernet-phy@3 {
562 reg = <3>;
563 };
564};
565
566&dcan1 {
567 status = "okay";
568 pinctrl-names = "default", "sleep", "active";
569 pinctrl-0 = <&dcan1_pins_sleep>;
570 pinctrl-1 = <&dcan1_pins_sleep>;
571 pinctrl-2 = <&dcan1_pins_default>;
572};
573
574&ipu2 {
575 status = "okay";
576 memory-region = <&ipu2_memory_region>;
577};
578
579&ipu1 {
580 status = "okay";
581 memory-region = <&ipu1_memory_region>;
582};
583
584&dsp1 {
585 status = "okay";
586 memory-region = <&dsp1_memory_region>;
587};
588
589&dsp2 {
590 status = "okay";
591 memory-region = <&dsp2_memory_region>;
592};
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@0 {
20 device_type = "memory";
21 reg = <0x0 0x80000000 0x0 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 vin-supply = <&sysen1>;
37 regulator-min-microvolt = <3300000>;
38 regulator-max-microvolt = <3300000>;
39 };
40
41 aic_dvdd: fixedregulator-aic_dvdd {
42 /* TPS77018DBVT */
43 compatible = "regulator-fixed";
44 regulator-name = "aic_dvdd";
45 vin-supply = <&evm_3v3_sw>;
46 regulator-min-microvolt = <1800000>;
47 regulator-max-microvolt = <1800000>;
48 };
49
50 extcon_usb1: extcon_usb1 {
51 compatible = "linux,extcon-usb-gpio";
52 id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
53 };
54
55 extcon_usb2: extcon_usb2 {
56 compatible = "linux,extcon-usb-gpio";
57 id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
58 };
59
60 vtt_fixed: fixedregulator-vtt {
61 compatible = "regulator-fixed";
62 regulator-name = "vtt_fixed";
63 regulator-min-microvolt = <1350000>;
64 regulator-max-microvolt = <1350000>;
65 regulator-always-on;
66 regulator-boot-on;
67 enable-active-high;
68 vin-supply = <&sysen2>;
69 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
70 };
71
72 sound0: sound0 {
73 compatible = "simple-audio-card";
74 simple-audio-card,name = "DRA7xx-EVM";
75 simple-audio-card,widgets =
76 "Headphone", "Headphone Jack",
77 "Line", "Line Out",
78 "Microphone", "Mic Jack",
79 "Line", "Line In";
80 simple-audio-card,routing =
81 "Headphone Jack", "HPLOUT",
82 "Headphone Jack", "HPROUT",
83 "Line Out", "LLOUT",
84 "Line Out", "RLOUT",
85 "MIC3L", "Mic Jack",
86 "MIC3R", "Mic Jack",
87 "Mic Jack", "Mic Bias",
88 "LINE1L", "Line In",
89 "LINE1R", "Line In";
90 simple-audio-card,format = "dsp_b";
91 simple-audio-card,bitclock-master = <&sound0_master>;
92 simple-audio-card,frame-master = <&sound0_master>;
93 simple-audio-card,bitclock-inversion;
94
95 sound0_master: simple-audio-card,cpu {
96 sound-dai = <&mcasp3>;
97 system-clock-frequency = <5644800>;
98 };
99
100 simple-audio-card,codec {
101 sound-dai = <&tlv320aic3106>;
102 clocks = <&atl_clkin2_ck>;
103 };
104 };
105
106 leds {
107 compatible = "gpio-leds";
108 led0 {
109 label = "dra7:usr1";
110 gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
111 default-state = "off";
112 };
113
114 led1 {
115 label = "dra7:usr2";
116 gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
117 default-state = "off";
118 };
119
120 led2 {
121 label = "dra7:usr3";
122 gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
123 default-state = "off";
124 };
125
126 led3 {
127 label = "dra7:usr4";
128 gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
129 default-state = "off";
130 };
131 };
132
133 gpio_keys {
134 compatible = "gpio-keys";
135 #address-cells = <1>;
136 #size-cells = <0>;
137 autorepeat;
138
139 USER1 {
140 label = "btnUser1";
141 linux,code = <BTN_0>;
142 gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
143 };
144
145 USER2 {
146 label = "btnUser2";
147 linux,code = <BTN_1>;
148 gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
149 };
150 };
151};
152
153&dra7_pmx_core {
154 pinctrl-names = "default";
155 pinctrl-0 = <&vtt_pin>;
156
157 vtt_pin: pinmux_vtt_pin {
158 pinctrl-single,pins = <
159 DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
160 >;
161 };
162
163 i2c1_pins: pinmux_i2c1_pins {
164 pinctrl-single,pins = <
165 DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
166 DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
167 >;
168 };
169
170 i2c2_pins: pinmux_i2c2_pins {
171 pinctrl-single,pins = <
172 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
173 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
174 >;
175 };
176
177 i2c3_pins: pinmux_i2c3_pins {
178 pinctrl-single,pins = <
179 DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
180 DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
181 >;
182 };
183
184 mcspi1_pins: pinmux_mcspi1_pins {
185 pinctrl-single,pins = <
186 DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
187 DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
188 DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
189 DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
190 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
191 DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
192 >;
193 };
194
195 mcspi2_pins: pinmux_mcspi2_pins {
196 pinctrl-single,pins = <
197 DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
198 DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
199 DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
200 DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
201 >;
202 };
203
204 uart1_pins: pinmux_uart1_pins {
205 pinctrl-single,pins = <
206 DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
207 DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
208 DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
209 DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
210 >;
211 };
212
213 uart2_pins: pinmux_uart2_pins {
214 pinctrl-single,pins = <
215 DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
216 DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
217 DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
218 DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
219 >;
220 };
221
222 uart3_pins: pinmux_uart3_pins {
223 pinctrl-single,pins = <
224 DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
225 DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
226 >;
227 };
228
229 usb1_pins: pinmux_usb1_pins {
230 pinctrl-single,pins = <
231 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
232 >;
233 };
234
235 usb2_pins: pinmux_usb2_pins {
236 pinctrl-single,pins = <
237 DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
238 >;
239 };
240
241 nand_flash_x16: nand_flash_x16 {
242 /* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
243 * So NAND flash requires following switch settings:
244 * SW5.1 (NAND_BOOTn) = ON (LOW)
245 * SW5.9 (GPMC_WPN) = OFF (HIGH)
246 */
247 pinctrl-single,pins = <
248 DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
249 DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
250 DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
251 DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
252 DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
253 DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
254 DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
255 DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
256 DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
257 DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
258 DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
259 DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
260 DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
261 DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
262 DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
263 DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
264 DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
265 DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
266 DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
267 DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
268 DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
269 DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
270 >;
271 };
272
273 cpsw_default: cpsw_default {
274 pinctrl-single,pins = <
275 /* Slave 1 */
276 DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */
277 DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */
278 DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */
279 DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */
280 DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */
281 DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */
282 DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */
283 DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */
284 DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */
285 DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */
286 DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */
287 DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */
288
289 /* Slave 2 */
290 DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
291 DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
292 DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
293 DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
294 DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
295 DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
296 DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
297 DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
298 DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
299 DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
300 DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
301 DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
302 >;
303
304 };
305
306 cpsw_sleep: cpsw_sleep {
307 pinctrl-single,pins = <
308 /* Slave 1 */
309 DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
310 DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
311 DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
312 DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
313 DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
314 DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
315 DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
316 DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
317 DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
318 DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
319 DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
320 DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
321
322 /* Slave 2 */
323 DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
324 DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
325 DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
326 DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
327 DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
328 DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
329 DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
330 DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
331 DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
332 DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
333 DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
334 DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
335 >;
336 };
337
338 davinci_mdio_default: davinci_mdio_default {
339 pinctrl-single,pins = <
340 DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
341 DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
342 >;
343 };
344
345 davinci_mdio_sleep: davinci_mdio_sleep {
346 pinctrl-single,pins = <
347 DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
348 DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
349 >;
350 };
351
352 dcan1_pins_default: dcan1_pins_default {
353 pinctrl-single,pins = <
354 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
355 DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
356 >;
357 };
358
359 dcan1_pins_sleep: dcan1_pins_sleep {
360 pinctrl-single,pins = <
361 DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
362 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */
363 >;
364 };
365
366 atl_pins: pinmux_atl_pins {
367 pinctrl-single,pins = <
368 DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5) /* xref_clk1.atl_clk1 */
369 DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5) /* xref_clk2.atl_clk2 */
370 >;
371 };
372
373 mcasp3_pins: pinmux_mcasp3_pins {
374 pinctrl-single,pins = <
375 DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
376 DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */
377 DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */
378 DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1 */
379 >;
380 };
381
382 mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
383 pinctrl-single,pins = <
384 DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15)
385 DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15)
386 DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15)
387 DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15)
388 >;
389 };
390};
391
392&i2c1 {
393 status = "okay";
394 pinctrl-names = "default";
395 pinctrl-0 = <&i2c1_pins>;
396 clock-frequency = <400000>;
397
398 tps659038: tps659038@58 {
399 compatible = "ti,tps659038";
400 reg = <0x58>;
401
402 tps659038_pmic {
403 compatible = "ti,tps659038-pmic";
404
405 regulators {
406 smps123_reg: smps123 {
407 /* VDD_MPU */
408 regulator-name = "smps123";
409 regulator-min-microvolt = < 850000>;
410 regulator-max-microvolt = <1250000>;
411 regulator-always-on;
412 regulator-boot-on;
413 };
414
415 smps45_reg: smps45 {
416 /* VDD_DSPEVE */
417 regulator-name = "smps45";
418 regulator-min-microvolt = < 850000>;
419 regulator-max-microvolt = <1250000>;
420 regulator-always-on;
421 regulator-boot-on;
422 };
423
424 smps6_reg: smps6 {
425 /* VDD_GPU - over VDD_SMPS6 */
426 regulator-name = "smps6";
427 regulator-min-microvolt = <850000>;
428 regulator-max-microvolt = <1250000>;
429 regulator-always-on;
430 regulator-boot-on;
431 };
432
433 smps7_reg: smps7 {
434 /* CORE_VDD */
435 regulator-name = "smps7";
436 regulator-min-microvolt = <850000>;
437 regulator-max-microvolt = <1150000>;
438 regulator-always-on;
439 regulator-boot-on;
440 };
441
442 smps8_reg: smps8 {
443 /* VDD_IVAHD */
444 regulator-name = "smps8";
445 regulator-min-microvolt = < 850000>;
446 regulator-max-microvolt = <1250000>;
447 regulator-always-on;
448 regulator-boot-on;
449 };
450
451 smps9_reg: smps9 {
452 /* VDDS1V8 */
453 regulator-name = "smps9";
454 regulator-min-microvolt = <1800000>;
455 regulator-max-microvolt = <1800000>;
456 regulator-always-on;
457 regulator-boot-on;
458 };
459
460 ldo1_reg: ldo1 {
461 /* LDO1_OUT --> SDIO */
462 regulator-name = "ldo1";
463 regulator-min-microvolt = <1800000>;
464 regulator-max-microvolt = <3300000>;
465 regulator-always-on;
466 regulator-boot-on;
467 };
468
469 ldo2_reg: ldo2 {
470 /* VDD_RTCIO */
471 /* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
472 regulator-name = "ldo2";
473 regulator-min-microvolt = <3300000>;
474 regulator-max-microvolt = <3300000>;
475 regulator-always-on;
476 regulator-boot-on;
477 };
478
479 ldo3_reg: ldo3 {
480 /* VDDA_1V8_PHY */
481 regulator-name = "ldo3";
482 regulator-min-microvolt = <1800000>;
483 regulator-max-microvolt = <1800000>;
484 regulator-always-on;
485 regulator-boot-on;
486 };
487
488 ldo9_reg: ldo9 {
489 /* VDD_RTC */
490 regulator-name = "ldo9";
491 regulator-min-microvolt = <1050000>;
492 regulator-max-microvolt = <1050000>;
493 regulator-always-on;
494 regulator-boot-on;
495 regulator-allow-bypass;
496 };
497
498 ldoln_reg: ldoln {
499 /* VDDA_1V8_PLL */
500 regulator-name = "ldoln";
501 regulator-min-microvolt = <1800000>;
502 regulator-max-microvolt = <1800000>;
503 regulator-always-on;
504 regulator-boot-on;
505 };
506
507 ldousb_reg: ldousb {
508 /* VDDA_3V_USB: VDDA_USBHS33 */
509 regulator-name = "ldousb";
510 regulator-min-microvolt = <3300000>;
511 regulator-max-microvolt = <3300000>;
512 regulator-boot-on;
513 };
514
515 /* REGEN1 is unused */
516
517 regen2: regen2 {
518 /* Needed for PMIC internal resources */
519 regulator-name = "regen2";
520 regulator-boot-on;
521 regulator-always-on;
522 };
523
524 /* REGEN3 is unused */
525
526 sysen1: sysen1 {
527 /* PMIC_REGEN_3V3 */
528 regulator-name = "sysen1";
529 regulator-boot-on;
530 regulator-always-on;
531 };
532
533 sysen2: sysen2 {
534 /* PMIC_REGEN_DDR */
535 regulator-name = "sysen2";
536 regulator-boot-on;
537 regulator-always-on;
538 };
539 };
540 };
541 };
542
543 pcf_lcd: gpio@20 {
544 compatible = "ti,pcf8575", "nxp,pcf8575";
545 reg = <0x20>;
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 pcf_gpio_21: gpio@21 {
555 compatible = "ti,pcf8575", "nxp,pcf8575";
556 reg = <0x21>;
557 lines-initial-states = <0x1408>;
558 gpio-controller;
559 #gpio-cells = <2>;
560 interrupt-parent = <&gpio6>;
561 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
562 interrupt-controller;
563 #interrupt-cells = <2>;
564 };
565
566 tlv320aic3106: tlv320aic3106@19 {
567 #sound-dai-cells = <0>;
568 compatible = "ti,tlv320aic3106";
569 reg = <0x19>;
570 adc-settle-ms = <40>;
571 ai3x-micbias-vg = <1>; /* 2.0V */
572 status = "okay";
573
574 /* Regulators */
575 AVDD-supply = <&evm_3v3_sw>;
576 IOVDD-supply = <&evm_3v3_sw>;
577 DRVDD-supply = <&evm_3v3_sw>;
578 DVDD-supply = <&aic_dvdd>;
579 };
580};
581
582&i2c2 {
583 status = "okay";
584 pinctrl-names = "default";
585 pinctrl-0 = <&i2c2_pins>;
586 clock-frequency = <400000>;
587
588 pcf_hdmi: gpio@26 {
589 compatible = "ti,pcf8575", "nxp,pcf8575";
590 reg = <0x26>;
591 gpio-controller;
592 #gpio-cells = <2>;
593 p1 {
594 /* vin6_sel_s0: high: VIN6, low: audio */
595 gpio-hog;
596 gpios = <1 GPIO_ACTIVE_HIGH>;
597 output-low;
598 line-name = "vin6_sel_s0";
599 };
600 };
601};
602
603&i2c3 {
604 status = "okay";
605 pinctrl-names = "default";
606 pinctrl-0 = <&i2c3_pins>;
607 clock-frequency = <400000>;
608};
609
610&mcspi1 {
611 status = "okay";
612 pinctrl-names = "default";
613 pinctrl-0 = <&mcspi1_pins>;
614};
615
616&mcspi2 {
617 status = "okay";
618 pinctrl-names = "default";
619 pinctrl-0 = <&mcspi2_pins>;
620};
621
622&uart1 {
623 status = "okay";
624 pinctrl-names = "default";
625 pinctrl-0 = <&uart1_pins>;
626 interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
627 <&dra7_pmx_core 0x3e0>;
628};
629
630&uart2 {
631 status = "okay";
632 pinctrl-names = "default";
633 pinctrl-0 = <&uart2_pins>;
634};
635
636&uart3 {
637 status = "okay";
638 pinctrl-names = "default";
639 pinctrl-0 = <&uart3_pins>;
640};
641
642&mmc1 {
643 status = "okay";
644 vmmc-supply = <&evm_3v3_sd>;
645 vmmc_aux-supply = <&ldo1_reg>;
646 bus-width = <4>;
647 /*
648 * SDCD signal is not being used here - using the fact that GPIO mode
649 * is always hardwired.
650 */
651 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
652};
653
654&mmc2 {
655 status = "okay";
656 vmmc-supply = <&evm_3v3_sw>;
657 bus-width = <8>;
658};
659
660&cpu0 {
661 cpu0-supply = <&smps123_reg>;
662};
663
664&qspi {
665 status = "okay";
666
667 spi-max-frequency = <76800000>;
668 m25p80@0 {
669 compatible = "s25fl256s1";
670 spi-max-frequency = <76800000>;
671 reg = <0>;
672 spi-tx-bus-width = <1>;
673 spi-rx-bus-width = <4>;
674 #address-cells = <1>;
675 #size-cells = <1>;
676
677 /* MTD partition table.
678 * The ROM checks the first four physical blocks
679 * for a valid file to boot and the flash here is
680 * 64KiB block size.
681 */
682 partition@0 {
683 label = "QSPI.SPL";
684 reg = <0x00000000 0x000010000>;
685 };
686 partition@1 {
687 label = "QSPI.SPL.backup1";
688 reg = <0x00010000 0x00010000>;
689 };
690 partition@2 {
691 label = "QSPI.SPL.backup2";
692 reg = <0x00020000 0x00010000>;
693 };
694 partition@3 {
695 label = "QSPI.SPL.backup3";
696 reg = <0x00030000 0x00010000>;
697 };
698 partition@4 {
699 label = "QSPI.u-boot";
700 reg = <0x00040000 0x00100000>;
701 };
702 partition@5 {
703 label = "QSPI.u-boot-spl-os";
704 reg = <0x00140000 0x00080000>;
705 };
706 partition@6 {
707 label = "QSPI.u-boot-env";
708 reg = <0x001c0000 0x00010000>;
709 };
710 partition@7 {
711 label = "QSPI.u-boot-env.backup1";
712 reg = <0x001d0000 0x0010000>;
713 };
714 partition@8 {
715 label = "QSPI.kernel";
716 reg = <0x001e0000 0x0800000>;
717 };
718 partition@9 {
719 label = "QSPI.file-system";
720 reg = <0x009e0000 0x01620000>;
721 };
722 };
723};
724
725&omap_dwc3_1 {
726 extcon = <&extcon_usb1>;
727};
728
729&omap_dwc3_2 {
730 extcon = <&extcon_usb2>;
731};
732
733&usb1 {
734 dr_mode = "peripheral";
735 pinctrl-names = "default";
736 pinctrl-0 = <&usb1_pins>;
737};
738
739&usb2 {
740 dr_mode = "host";
741 pinctrl-names = "default";
742 pinctrl-0 = <&usb2_pins>;
743};
744
745&elm {
746 status = "okay";
747};
748
749&gpmc {
750 status = "okay";
751 pinctrl-names = "default";
752 pinctrl-0 = <&nand_flash_x16>;
753 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
754 nand@0,0 {
755 compatible = "ti,omap2-nand";
756 reg = <0 0 4>; /* device IO registers */
757 interrupt-parent = <&gpmc>;
758 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
759 <1 IRQ_TYPE_NONE>; /* termcount */
760 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
761 ti,nand-ecc-opt = "bch8";
762 ti,elm-id = <&elm>;
763 nand-bus-width = <16>;
764 gpmc,device-width = <2>;
765 gpmc,sync-clk-ps = <0>;
766 gpmc,cs-on-ns = <0>;
767 gpmc,cs-rd-off-ns = <80>;
768 gpmc,cs-wr-off-ns = <80>;
769 gpmc,adv-on-ns = <0>;
770 gpmc,adv-rd-off-ns = <60>;
771 gpmc,adv-wr-off-ns = <60>;
772 gpmc,we-on-ns = <10>;
773 gpmc,we-off-ns = <50>;
774 gpmc,oe-on-ns = <4>;
775 gpmc,oe-off-ns = <40>;
776 gpmc,access-ns = <40>;
777 gpmc,wr-access-ns = <80>;
778 gpmc,rd-cycle-ns = <80>;
779 gpmc,wr-cycle-ns = <80>;
780 gpmc,bus-turnaround-ns = <0>;
781 gpmc,cycle2cycle-delay-ns = <0>;
782 gpmc,clk-activation-ns = <0>;
783 gpmc,wr-data-mux-bus-ns = <0>;
784 /* MTD partition table */
785 /* All SPL-* partitions are sized to minimal length
786 * which can be independently programmable. For
787 * NAND flash this is equal to size of erase-block */
788 #address-cells = <1>;
789 #size-cells = <1>;
790 partition@0 {
791 label = "NAND.SPL";
792 reg = <0x00000000 0x000020000>;
793 };
794 partition@1 {
795 label = "NAND.SPL.backup1";
796 reg = <0x00020000 0x00020000>;
797 };
798 partition@2 {
799 label = "NAND.SPL.backup2";
800 reg = <0x00040000 0x00020000>;
801 };
802 partition@3 {
803 label = "NAND.SPL.backup3";
804 reg = <0x00060000 0x00020000>;
805 };
806 partition@4 {
807 label = "NAND.u-boot-spl-os";
808 reg = <0x00080000 0x00040000>;
809 };
810 partition@5 {
811 label = "NAND.u-boot";
812 reg = <0x000c0000 0x00100000>;
813 };
814 partition@6 {
815 label = "NAND.u-boot-env";
816 reg = <0x001c0000 0x00020000>;
817 };
818 partition@7 {
819 label = "NAND.u-boot-env.backup1";
820 reg = <0x001e0000 0x00020000>;
821 };
822 partition@8 {
823 label = "NAND.kernel";
824 reg = <0x00200000 0x00800000>;
825 };
826 partition@9 {
827 label = "NAND.file-system";
828 reg = <0x00a00000 0x0f600000>;
829 };
830 };
831};
832
833&usb2_phy1 {
834 phy-supply = <&ldousb_reg>;
835};
836
837&usb2_phy2 {
838 phy-supply = <&ldousb_reg>;
839};
840
841&gpio7 {
842 ti,no-reset-on-init;
843 ti,no-idle-on-init;
844};
845
846&mac {
847 status = "okay";
848 pinctrl-names = "default", "sleep";
849 pinctrl-0 = <&cpsw_default>;
850 pinctrl-1 = <&cpsw_sleep>;
851 dual_emac;
852};
853
854&cpsw_emac0 {
855 phy_id = <&davinci_mdio>, <2>;
856 phy-mode = "rgmii";
857 dual_emac_res_vlan = <1>;
858};
859
860&cpsw_emac1 {
861 phy_id = <&davinci_mdio>, <3>;
862 phy-mode = "rgmii";
863 dual_emac_res_vlan = <2>;
864};
865
866&davinci_mdio {
867 pinctrl-names = "default", "sleep";
868 pinctrl-0 = <&davinci_mdio_default>;
869 pinctrl-1 = <&davinci_mdio_sleep>;
870};
871
872&dcan1 {
873 status = "ok";
874 pinctrl-names = "default", "sleep", "active";
875 pinctrl-0 = <&dcan1_pins_sleep>;
876 pinctrl-1 = <&dcan1_pins_sleep>;
877 pinctrl-2 = <&dcan1_pins_default>;
878};
879
880&atl {
881 pinctrl-names = "default";
882 pinctrl-0 = <&atl_pins>;
883
884 assigned-clocks = <&abe_dpll_sys_clk_mux>,
885 <&atl_gfclk_mux>,
886 <&dpll_abe_ck>,
887 <&dpll_abe_m2x2_ck>,
888 <&atl_clkin2_ck>;
889 assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
890 assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
891
892 status = "okay";
893
894 atl2 {
895 bws = <DRA7_ATL_WS_MCASP2_FSX>;
896 aws = <DRA7_ATL_WS_MCASP3_FSX>;
897 };
898};
899
900&mcasp3 {
901 #sound-dai-cells = <0>;
902 pinctrl-names = "default", "sleep";
903 pinctrl-0 = <&mcasp3_pins>;
904 pinctrl-1 = <&mcasp3_sleep_pins>;
905
906 assigned-clocks = <&mcasp3_ahclkx_mux>;
907 assigned-clock-parents = <&atl_clkin2_ck>;
908
909 status = "okay";
910
911 op-mode = <0>; /* MCASP_IIS_MODE */
912 tdm-slots = <2>;
913 /* 4 serializer */
914 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
915 1 2 0 0
916 >;
917 tx-num-evt = <32>;
918 rx-num-evt = <32>;
919};
920
921&mailbox5 {
922 status = "okay";
923 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
924 status = "okay";
925 };
926 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
927 status = "okay";
928 };
929};
930
931&mailbox6 {
932 status = "okay";
933 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
934 status = "okay";
935 };
936 mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
937 status = "okay";
938 };
939};