Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * Copyright (C) 2014 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 "dra72x.dtsi"
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/clk/ti-dra7-atl.h>
13
14/ {
15 model = "TI DRA722";
16 compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7";
17
18 memory {
19 device_type = "memory";
20 reg = <0x80000000 0x40000000>; /* 1024 MB */
21 };
22
23 aliases {
24 display0 = &hdmi0;
25 };
26
27 evm_3v3: fixedregulator-evm_3v3 {
28 compatible = "regulator-fixed";
29 regulator-name = "evm_3v3";
30 regulator-min-microvolt = <3300000>;
31 regulator-max-microvolt = <3300000>;
32 };
33
34 aic_dvdd: fixedregulator-aic_dvdd {
35 /* TPS77018DBVT */
36 compatible = "regulator-fixed";
37 regulator-name = "aic_dvdd";
38 vin-supply = <&evm_3v3>;
39 regulator-min-microvolt = <1800000>;
40 regulator-max-microvolt = <1800000>;
41 };
42
43 evm_3v3_sd: fixedregulator-sd {
44 compatible = "regulator-fixed";
45 regulator-name = "evm_3v3_sd";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48 enable-active-high;
49 gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
50 };
51
52 extcon_usb1: extcon_usb1 {
53 compatible = "linux,extcon-usb-gpio";
54 id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
55 };
56
57 extcon_usb2: extcon_usb2 {
58 compatible = "linux,extcon-usb-gpio";
59 id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
60 };
61
62 hdmi0: connector {
63 compatible = "hdmi-connector";
64 label = "hdmi";
65
66 type = "a";
67
68 port {
69 hdmi_connector_in: endpoint {
70 remote-endpoint = <&tpd12s015_out>;
71 };
72 };
73 };
74
75 tpd12s015: encoder {
76 compatible = "ti,tpd12s015";
77
78 pinctrl-names = "default";
79 pinctrl-0 = <&tpd12s015_pins>;
80
81 gpios = <&pcf_hdmi 4 GPIO_ACTIVE_HIGH>, /* P4, CT CP HPD */
82 <&pcf_hdmi 5 GPIO_ACTIVE_HIGH>, /* P5, LS OE */
83 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
84
85 ports {
86 #address-cells = <1>;
87 #size-cells = <0>;
88
89 port@0 {
90 reg = <0>;
91
92 tpd12s015_in: endpoint {
93 remote-endpoint = <&hdmi_out>;
94 };
95 };
96
97 port@1 {
98 reg = <1>;
99
100 tpd12s015_out: endpoint {
101 remote-endpoint = <&hdmi_connector_in>;
102 };
103 };
104 };
105 };
106
107 sound0: sound@0 {
108 compatible = "simple-audio-card";
109 simple-audio-card,name = "DRA7xx-EVM";
110 simple-audio-card,widgets =
111 "Headphone", "Headphone Jack",
112 "Line", "Line Out",
113 "Microphone", "Mic Jack",
114 "Line", "Line In";
115 simple-audio-card,routing =
116 "Headphone Jack", "HPLOUT",
117 "Headphone Jack", "HPROUT",
118 "Line Out", "LLOUT",
119 "Line Out", "RLOUT",
120 "MIC3L", "Mic Jack",
121 "MIC3R", "Mic Jack",
122 "Mic Jack", "Mic Bias",
123 "LINE1L", "Line In",
124 "LINE1R", "Line In";
125 simple-audio-card,format = "dsp_b";
126 simple-audio-card,bitclock-master = <&sound0_master>;
127 simple-audio-card,frame-master = <&sound0_master>;
128 simple-audio-card,bitclock-inversion;
129
130 sound0_master: simple-audio-card,cpu {
131 sound-dai = <&mcasp3>;
132 system-clock-frequency = <5644800>;
133 };
134
135 simple-audio-card,codec {
136 sound-dai = <&tlv320aic3106>;
137 clocks = <&atl_clkin2_ck>;
138 };
139 };
140};
141
142&dra7_pmx_core {
143 i2c1_pins: pinmux_i2c1_pins {
144 pinctrl-single,pins = <
145 DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */
146 DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */
147 >;
148 };
149
150 i2c5_pins: pinmux_i2c5_pins {
151 pinctrl-single,pins = <
152 DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT | MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
153 DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT | MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
154 >;
155 };
156
157 i2c5_pins: pinmux_i2c5_pins {
158 pinctrl-single,pins = <
159 DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT | MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
160 DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT | MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
161 >;
162 };
163
164 nand_default: nand_default {
165 pinctrl-single,pins = <
166 DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
167 DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
168 DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
169 DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
170 DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
171 DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
172 DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
173 DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
174 DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
175 DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
176 DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
177 DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
178 DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
179 DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
180 DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
181 DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
182 DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT | MUX_MODE0) /* gpmc_cs0 */
183 DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
184 DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
185 DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
186 DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ben0 */
187 DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT | MUX_MODE0) /* gpmc_wait0 */
188 >;
189 };
190
191 usb1_pins: pinmux_usb1_pins {
192 pinctrl-single,pins = <
193 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
194 >;
195 };
196
197 usb2_pins: pinmux_usb2_pins {
198 pinctrl-single,pins = <
199 DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
200 >;
201 };
202
203 tps65917_pins_default: tps65917_pins_default {
204 pinctrl-single,pins = <
205 DRA7XX_CORE_IOPAD(0x3824, PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */
206 >;
207 };
208
209 mmc1_pins_default: mmc1_pins_default {
210 pinctrl-single,pins = <
211 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
212 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
213 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
214 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
215 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
216 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
217 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
218 >;
219 };
220
221 mmc2_pins_default: mmc2_pins_default {
222 pinctrl-single,pins = <
223 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
224 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
225 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
226 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
227 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
228 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
229 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
230 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
231 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
232 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
233 >;
234 };
235
236 dcan1_pins_default: dcan1_pins_default {
237 pinctrl-single,pins = <
238 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
239 DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
240 >;
241 };
242
243 dcan1_pins_sleep: dcan1_pins_sleep {
244 pinctrl-single,pins = <
245 DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
246 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */
247 >;
248 };
249
250 qspi1_pins: pinmux_qspi1_pins {
251 pinctrl-single,pins = <
252 DRA7XX_CORE_IOPAD(0x3474, PIN_OUTPUT | MUX_MODE1) /* gpmc_a13.qspi1_rtclk */
253 DRA7XX_CORE_IOPAD(0x3478, PIN_INPUT | MUX_MODE1) /* gpmc_a14.qspi1_d3 */
254 DRA7XX_CORE_IOPAD(0x347c, PIN_INPUT | MUX_MODE1) /* gpmc_a15.qspi1_d2 */
255 DRA7XX_CORE_IOPAD(0x3480, PIN_INPUT | MUX_MODE1) /* gpmc_a16.qspi1_d1 */
256 DRA7XX_CORE_IOPAD(0x3484, PIN_INPUT | MUX_MODE1) /* gpmc_a17.qspi1_d0 */
257 DRA7XX_CORE_IOPAD(0x3488, PIN_OUTPUT | MUX_MODE1) /* qpmc_a18.qspi1_sclk */
258 DRA7XX_CORE_IOPAD(0x34b8, PIN_OUTPUT | MUX_MODE1) /* gpmc_cs2.qspi1_cs0 */
259 >;
260 };
261
262 hdmi_pins: pinmux_hdmi_pins {
263 pinctrl-single,pins = <
264 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
265 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
266 >;
267 };
268
269 tpd12s015_pins: pinmux_tpd12s015_pins {
270 pinctrl-single,pins = <
271 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpio7_12 HPD */
272 >;
273 };
274
275 atl_pins: pinmux_atl_pins {
276 pinctrl-single,pins = <
277 DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5) /* xref_clk1.atl_clk1 */
278 DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5) /* xref_clk2.atl_clk2 */
279 >;
280 };
281
282 mcasp3_pins: pinmux_mcasp3_pins {
283 pinctrl-single,pins = <
284 DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
285 DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */
286 DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */
287 DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1 */
288 >;
289 };
290
291 mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
292 pinctrl-single,pins = <
293 DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | MUX_MODE15)
294 DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | MUX_MODE15)
295 DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT_PULLDOWN | MUX_MODE15)
296 DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE15)
297 >;
298 };
299};
300
301&i2c1 {
302 status = "okay";
303 pinctrl-names = "default";
304 pinctrl-0 = <&i2c1_pins>;
305 clock-frequency = <400000>;
306
307 tps65917: tps65917@58 {
308 compatible = "ti,tps65917";
309 reg = <0x58>;
310
311 pinctrl-names = "default";
312 pinctrl-0 = <&tps65917_pins_default>;
313
314 interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
315 interrupt-controller;
316 #interrupt-cells = <2>;
317
318 ti,system-power-controller;
319
320 tps65917_pmic {
321 compatible = "ti,tps65917-pmic";
322
323 regulators {
324 smps1_reg: smps1 {
325 /* VDD_MPU */
326 regulator-name = "smps1";
327 regulator-min-microvolt = <850000>;
328 regulator-max-microvolt = <1250000>;
329 regulator-always-on;
330 regulator-boot-on;
331 };
332
333 smps2_reg: smps2 {
334 /* VDD_CORE */
335 regulator-name = "smps2";
336 regulator-min-microvolt = <850000>;
337 regulator-max-microvolt = <1060000>;
338 regulator-boot-on;
339 regulator-always-on;
340 };
341
342 smps3_reg: smps3 {
343 /* VDD_GPU IVA DSPEVE */
344 regulator-name = "smps3";
345 regulator-min-microvolt = <850000>;
346 regulator-max-microvolt = <1250000>;
347 regulator-boot-on;
348 regulator-always-on;
349 };
350
351 smps4_reg: smps4 {
352 /* VDDS1V8 */
353 regulator-name = "smps4";
354 regulator-min-microvolt = <1800000>;
355 regulator-max-microvolt = <1800000>;
356 regulator-always-on;
357 regulator-boot-on;
358 };
359
360 smps5_reg: smps5 {
361 /* VDD_DDR */
362 regulator-name = "smps5";
363 regulator-min-microvolt = <1350000>;
364 regulator-max-microvolt = <1350000>;
365 regulator-boot-on;
366 regulator-always-on;
367 };
368
369 ldo1_reg: ldo1 {
370 /* LDO1_OUT --> SDIO */
371 regulator-name = "ldo1";
372 regulator-min-microvolt = <1800000>;
373 regulator-max-microvolt = <3300000>;
374 regulator-always-on;
375 regulator-boot-on;
376 regulator-allow-bypass;
377 };
378
379 ldo2_reg: ldo2 {
380 /* LDO2_OUT --> TP1017 (UNUSED) */
381 regulator-name = "ldo2";
382 regulator-min-microvolt = <1800000>;
383 regulator-max-microvolt = <3300000>;
384 regulator-allow-bypass;
385 };
386
387 ldo3_reg: ldo3 {
388 /* VDDA_1V8_PHY */
389 regulator-name = "ldo3";
390 regulator-min-microvolt = <1800000>;
391 regulator-max-microvolt = <1800000>;
392 regulator-boot-on;
393 regulator-always-on;
394 };
395
396 ldo5_reg: ldo5 {
397 /* VDDA_1V8_PLL */
398 regulator-name = "ldo5";
399 regulator-min-microvolt = <1800000>;
400 regulator-max-microvolt = <1800000>;
401 regulator-always-on;
402 regulator-boot-on;
403 };
404
405 ldo4_reg: ldo4 {
406 /* VDDA_3V_USB: VDDA_USBHS33 */
407 regulator-name = "ldo4";
408 regulator-min-microvolt = <3300000>;
409 regulator-max-microvolt = <3300000>;
410 regulator-boot-on;
411 };
412 };
413 };
414
415 tps65917_power_button {
416 compatible = "ti,palmas-pwrbutton";
417 interrupt-parent = <&tps65917>;
418 interrupts = <1 IRQ_TYPE_NONE>;
419 wakeup-source;
420 ti,palmas-long-press-seconds = <6>;
421 };
422 };
423
424 pcf_gpio_21: gpio@21 {
425 compatible = "ti,pcf8575";
426 reg = <0x21>;
427 lines-initial-states = <0x1408>;
428 gpio-controller;
429 #gpio-cells = <2>;
430 interrupt-parent = <&gpio6>;
431 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
432 interrupt-controller;
433 #interrupt-cells = <2>;
434 };
435
436 tlv320aic3106: tlv320aic3106@19 {
437 #sound-dai-cells = <0>;
438 compatible = "ti,tlv320aic3106";
439 reg = <0x19>;
440 adc-settle-ms = <40>;
441 ai3x-micbias-vg = <1>; /* 2.0V */
442 status = "okay";
443
444 /* Regulators */
445 AVDD-supply = <&evm_3v3>;
446 IOVDD-supply = <&evm_3v3>;
447 DRVDD-supply = <&evm_3v3>;
448 DVDD-supply = <&aic_dvdd>;
449 };
450};
451
452&i2c5 {
453 status = "okay";
454 pinctrl-names = "default";
455 pinctrl-0 = <&i2c5_pins>;
456 clock-frequency = <400000>;
457
458 pcf_hdmi: pcf8575@26 {
459 compatible = "nxp,pcf8575";
460 reg = <0x26>;
461 gpio-controller;
462 #gpio-cells = <2>;
463 /*
464 * initial state is used here to keep the mdio interface
465 * selected on RU89 through SEL_VIN4_MUX_S0, VIN2_S1 and
466 * VIN2_S0 driven high otherwise Ethernet stops working
467 * VIN6_SEL_S0 is low, thus selecting McASP3 over VIN6
468 */
469 lines-initial-states = <0x0f2b>;
470
471 p1 {
472 /* vin6_sel_s0: high: VIN6, low: audio */
473 gpio-hog;
474 gpios = <1 GPIO_ACTIVE_HIGH>;
475 output-low;
476 line-name = "vin6_sel_s0";
477 };
478 };
479};
480
481&uart1 {
482 status = "okay";
483 interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
484 <&dra7_pmx_core 0x3e0>;
485};
486
487&elm {
488 status = "okay";
489};
490
491&gpmc {
492 status = "okay";
493 pinctrl-names = "default";
494 pinctrl-0 = <&nand_default>;
495 ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */
496 nand@0,0 {
497 /* To use NAND, DIP switch SW5 must be set like so:
498 * SW5.1 (NAND_SELn) = ON (LOW)
499 * SW5.9 (GPMC_WPN) = OFF (HIGH)
500 */
501 reg = <0 0 4>; /* device IO registers */
502 ti,nand-ecc-opt = "bch8";
503 ti,elm-id = <&elm>;
504 nand-bus-width = <16>;
505 gpmc,device-width = <2>;
506 gpmc,sync-clk-ps = <0>;
507 gpmc,cs-on-ns = <0>;
508 gpmc,cs-rd-off-ns = <80>;
509 gpmc,cs-wr-off-ns = <80>;
510 gpmc,adv-on-ns = <0>;
511 gpmc,adv-rd-off-ns = <60>;
512 gpmc,adv-wr-off-ns = <60>;
513 gpmc,we-on-ns = <10>;
514 gpmc,we-off-ns = <50>;
515 gpmc,oe-on-ns = <4>;
516 gpmc,oe-off-ns = <40>;
517 gpmc,access-ns = <40>;
518 gpmc,wr-access-ns = <80>;
519 gpmc,rd-cycle-ns = <80>;
520 gpmc,wr-cycle-ns = <80>;
521 gpmc,bus-turnaround-ns = <0>;
522 gpmc,cycle2cycle-delay-ns = <0>;
523 gpmc,clk-activation-ns = <0>;
524 gpmc,wait-monitoring-ns = <0>;
525 gpmc,wr-data-mux-bus-ns = <0>;
526 /* MTD partition table */
527 /* All SPL-* partitions are sized to minimal length
528 * which can be independently programmable. For
529 * NAND flash this is equal to size of erase-block */
530 #address-cells = <1>;
531 #size-cells = <1>;
532 partition@0 {
533 label = "NAND.SPL";
534 reg = <0x00000000 0x000020000>;
535 };
536 partition@1 {
537 label = "NAND.SPL.backup1";
538 reg = <0x00020000 0x00020000>;
539 };
540 partition@2 {
541 label = "NAND.SPL.backup2";
542 reg = <0x00040000 0x00020000>;
543 };
544 partition@3 {
545 label = "NAND.SPL.backup3";
546 reg = <0x00060000 0x00020000>;
547 };
548 partition@4 {
549 label = "NAND.u-boot-spl-os";
550 reg = <0x00080000 0x00040000>;
551 };
552 partition@5 {
553 label = "NAND.u-boot";
554 reg = <0x000c0000 0x00100000>;
555 };
556 partition@6 {
557 label = "NAND.u-boot-env";
558 reg = <0x001c0000 0x00020000>;
559 };
560 partition@7 {
561 label = "NAND.u-boot-env.backup1";
562 reg = <0x001e0000 0x00020000>;
563 };
564 partition@8 {
565 label = "NAND.kernel";
566 reg = <0x00200000 0x00800000>;
567 };
568 partition@9 {
569 label = "NAND.file-system";
570 reg = <0x00a00000 0x0f600000>;
571 };
572 };
573};
574
575&usb2_phy1 {
576 phy-supply = <&ldo4_reg>;
577};
578
579&usb2_phy2 {
580 phy-supply = <&ldo4_reg>;
581};
582
583&omap_dwc3_1 {
584 extcon = <&extcon_usb1>;
585};
586
587&omap_dwc3_2 {
588 extcon = <&extcon_usb2>;
589};
590
591&usb1 {
592 dr_mode = "peripheral";
593 pinctrl-names = "default";
594 pinctrl-0 = <&usb1_pins>;
595};
596
597&usb2 {
598 dr_mode = "host";
599 pinctrl-names = "default";
600 pinctrl-0 = <&usb2_pins>;
601};
602
603&mmc1 {
604 status = "okay";
605 pinctrl-names = "default";
606 pinctrl-0 = <&mmc1_pins_default>;
607 vmmc-supply = <&evm_3v3_sd>;
608 vmmc_aux-supply = <&ldo1_reg>;
609 bus-width = <4>;
610 /*
611 * SDCD signal is not being used here - using the fact that GPIO mode
612 * is a viable alternative
613 */
614 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
615 max-frequency = <192000000>;
616};
617
618&mmc2 {
619 /* SW5-3 in ON position */
620 status = "okay";
621 pinctrl-names = "default";
622 pinctrl-0 = <&mmc2_pins_default>;
623
624 vmmc-supply = <&evm_3v3>;
625 bus-width = <8>;
626 ti,non-removable;
627 max-frequency = <192000000>;
628};
629
630&dra7_pmx_core {
631 cpsw_default: cpsw_default {
632 pinctrl-single,pins = <
633 /* Slave 2 */
634 DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
635 DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
636 DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
637 DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
638 DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
639 DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
640 DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
641 DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
642 DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
643 DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
644 DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
645 DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
646 >;
647
648 };
649
650 cpsw_sleep: cpsw_sleep {
651 pinctrl-single,pins = <
652 /* Slave 2 */
653 DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
654 DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
655 DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
656 DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
657 DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
658 DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
659 DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
660 DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
661 DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
662 DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
663 DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
664 DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
665 >;
666 };
667
668 davinci_mdio_default: davinci_mdio_default {
669 pinctrl-single,pins = <
670 /* MDIO */
671 DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
672 DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
673 >;
674 };
675
676 davinci_mdio_sleep: davinci_mdio_sleep {
677 pinctrl-single,pins = <
678 DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
679 DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
680 >;
681 };
682};
683
684&mac {
685 status = "okay";
686 pinctrl-names = "default", "sleep";
687 pinctrl-0 = <&cpsw_default>;
688 pinctrl-1 = <&cpsw_sleep>;
689 slaves = <1>;
690 mode-gpios = <&pcf_gpio_21 4 GPIO_ACTIVE_HIGH>;
691};
692
693&cpsw_emac0 {
694 phy_id = <&davinci_mdio>, <3>;
695 phy-mode = "rgmii";
696};
697
698&davinci_mdio {
699 pinctrl-names = "default", "sleep";
700 pinctrl-0 = <&davinci_mdio_default>;
701 pinctrl-1 = <&davinci_mdio_sleep>;
702};
703
704&dcan1 {
705 status = "ok"
706 pinctrl-names = "default", "sleep", "active";
707 pinctrl-0 = <&dcan1_pins_sleep>;
708 pinctrl-1 = <&dcan1_pins_sleep>;
709 pinctrl-2 = <&dcan1_pins_default>;
710};
711
712&qspi {
713 status = "okay";
714 pinctrl-names = "default";
715 pinctrl-0 = <&qspi1_pins>;
716
717 spi-max-frequency = <48000000>;
718 m25p80@0 {
719 compatible = "s25fl256s1";
720 spi-max-frequency = <48000000>;
721 reg = <0>;
722 spi-tx-bus-width = <1>;
723 spi-rx-bus-width = <4>;
724 spi-cpol;
725 spi-cpha;
726 #address-cells = <1>;
727 #size-cells = <1>;
728
729 /* MTD partition table.
730 * The ROM checks the first four physical blocks
731 * for a valid file to boot and the flash here is
732 * 64KiB block size.
733 */
734 partition@0 {
735 label = "QSPI.SPL";
736 reg = <0x00000000 0x000010000>;
737 };
738 partition@1 {
739 label = "QSPI.SPL.backup1";
740 reg = <0x00010000 0x00010000>;
741 };
742 partition@2 {
743 label = "QSPI.SPL.backup2";
744 reg = <0x00020000 0x00010000>;
745 };
746 partition@3 {
747 label = "QSPI.SPL.backup3";
748 reg = <0x00030000 0x00010000>;
749 };
750 partition@4 {
751 label = "QSPI.u-boot";
752 reg = <0x00040000 0x00100000>;
753 };
754 partition@5 {
755 label = "QSPI.u-boot-spl-os";
756 reg = <0x00140000 0x00080000>;
757 };
758 partition@6 {
759 label = "QSPI.u-boot-env";
760 reg = <0x001c0000 0x00010000>;
761 };
762 partition@7 {
763 label = "QSPI.u-boot-env.backup1";
764 reg = <0x001d0000 0x0010000>;
765 };
766 partition@8 {
767 label = "QSPI.kernel";
768 reg = <0x001e0000 0x0800000>;
769 };
770 partition@9 {
771 label = "QSPI.file-system";
772 reg = <0x009e0000 0x01620000>;
773 };
774 };
775};
776
777&dss {
778 status = "ok"
779
780 vdda_video-supply = <&ldo5_reg>;
781};
782
783&hdmi {
784 status = "ok"
785 vdda-supply = <&ldo3_reg>;
786
787 pinctrl-names = "default";
788 pinctrl-0 = <&hdmi_pins>;
789
790 port {
791 hdmi_out: endpoint {
792 remote-endpoint = <&tpd12s015_in>;
793 };
794 };
795};
796
797&atl {
798 pinctrl-names = "default";
799 pinctrl-0 = <&atl_pins>;
800
801 assigned-clocks = <&abe_dpll_sys_clk_mux>,
802 <&atl_gfclk_mux>,
803 <&dpll_abe_ck>,
804 <&dpll_abe_m2x2_ck>,
805 <&atl_clkin2_ck>;
806 assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
807 assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
808
809 status = "okay";
810
811 atl2 {
812 bws = <DRA7_ATL_WS_MCASP2_FSX>;
813 aws = <DRA7_ATL_WS_MCASP3_FSX>;
814 };
815};
816
817&mcasp3 {
818 #sound-dai-cells = <0>;
819 pinctrl-names = "default", "sleep";
820 pinctrl-0 = <&mcasp3_pins>;
821 pinctrl-1 = <&mcasp3_sleep_pins>;
822
823 assigned-clocks = <&mcasp3_ahclkx_mux>;
824 assigned-clock-parents = <&atl_clkin2_ck>;
825
826 status = "okay";
827
828 op-mode = <0>; /* MCASP_IIS_MODE */
829 tdm-slots = <2>;
830 /* 4 serializer */
831 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
832 1 2 0 0
833 >;
834};
835
836&mailbox5 {
837 status = "okay";
838 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
839 status = "okay";
840 };
841 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
842 status = "okay";
843 };
844};
845
846&mailbox6 {
847 status = "okay";
848 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
849 status = "okay";
850 };
851};