]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/boot/dts/am57xx-beagle-x15.dts
ARM: dts: am57xx-beagle-x15: Remove pinmux configurations for erratum i869
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / am57xx-beagle-x15.dts
CommitLineData
5a0f93c6
NM
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 "dra74x.dtsi"
266e62f9 11#include "am57xx-commercial-grade.dtsi"
5a0f93c6
NM
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14
15/ {
16 model = "TI AM5728 BeagleBoard-X15";
17 compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
18
19 aliases {
20 rtc0 = &mcp_rtc;
21 rtc1 = &tps659038_rtc;
00edd317 22 rtc2 = &rtc;
0c534938 23 display0 = &hdmi0;
5a0f93c6
NM
24 };
25
0b086802 26 memory@0 {
5a0f93c6 27 device_type = "memory";
dae320ec 28 reg = <0x0 0x80000000 0x0 0x80000000>;
5a0f93c6
NM
29 };
30
31 vdd_3v3: fixedregulator-vdd_3v3 {
32 compatible = "regulator-fixed";
33 regulator-name = "vdd_3v3";
34 vin-supply = <&regen1>;
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
37 };
38
d929e8bb
PU
39 aic_dvdd: fixedregulator-aic_dvdd {
40 compatible = "regulator-fixed";
41 regulator-name = "aic_dvdd_fixed";
42 vin-supply = <&vdd_3v3>;
43 regulator-min-microvolt = <1800000>;
44 regulator-max-microvolt = <1800000>;
45 };
46
5a0f93c6
NM
47 vtt_fixed: fixedregulator-vtt {
48 /* TPS51200 */
49 compatible = "regulator-fixed";
50 regulator-name = "vtt_fixed";
51 vin-supply = <&smps3_reg>;
52 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
54 regulator-always-on;
55 regulator-boot-on;
56 enable-active-high;
57 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
58 };
59
60 leds {
61 compatible = "gpio-leds";
5a0f93c6 62
c731abd9 63 led0 {
5a0f93c6
NM
64 label = "beagle-x15:usr0";
65 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
66 linux,default-trigger = "heartbeat";
67 default-state = "off";
68 };
69
c731abd9 70 led1 {
5a0f93c6
NM
71 label = "beagle-x15:usr1";
72 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
73 linux,default-trigger = "cpu0";
74 default-state = "off";
75 };
76
c731abd9 77 led2 {
5a0f93c6
NM
78 label = "beagle-x15:usr2";
79 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
80 linux,default-trigger = "mmc0";
81 default-state = "off";
82 };
83
c731abd9 84 led3 {
5a0f93c6
NM
85 label = "beagle-x15:usr3";
86 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
e5808227 87 linux,default-trigger = "disk-activity";
5a0f93c6
NM
88 default-state = "off";
89 };
90 };
7a03f2c0
NM
91
92 gpio_fan: gpio_fan {
93 /* Based on 5v 500mA AFB02505HHB */
94 compatible = "gpio-fan";
ed12f102 95 gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
7a03f2c0
NM
96 gpio-fan,speed-map = <0 0>,
97 <13000 1>;
d723cfea 98 #cooling-cells = <2>;
7a03f2c0 99 };
f60db98e 100
0c534938
TV
101 hdmi0: connector {
102 compatible = "hdmi-connector";
103 label = "hdmi";
104
105 type = "a";
106
107 port {
108 hdmi_connector_in: endpoint {
109 remote-endpoint = <&tpd12s015_out>;
110 };
111 };
112 };
113
114 tpd12s015: encoder {
115 compatible = "ti,tpd12s015";
116
0c534938
TV
117 gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>, /* gpio7_10, CT CP HPD */
118 <&gpio6 28 GPIO_ACTIVE_HIGH>, /* gpio6_28, LS OE */
119 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
120
121 ports {
122 #address-cells = <1>;
123 #size-cells = <0>;
124
125 port@0 {
126 reg = <0>;
127
128 tpd12s015_in: endpoint {
129 remote-endpoint = <&hdmi_out>;
130 };
131 };
132
133 port@1 {
134 reg = <1>;
135
136 tpd12s015_out: endpoint {
137 remote-endpoint = <&hdmi_connector_in>;
138 };
139 };
140 };
141 };
a00e368c 142
4e8603ef 143 sound0: sound0 {
a00e368c
PU
144 compatible = "simple-audio-card";
145 simple-audio-card,name = "BeagleBoard-X15";
146 simple-audio-card,widgets =
147 "Line", "Line Out",
148 "Line", "Line In";
149 simple-audio-card,routing =
150 "Line Out", "LLOUT",
151 "Line Out", "RLOUT",
152 "MIC2L", "Line In",
153 "MIC2R", "Line In";
154 simple-audio-card,format = "dsp_b";
155 simple-audio-card,bitclock-master = <&sound0_master>;
156 simple-audio-card,frame-master = <&sound0_master>;
157 simple-audio-card,bitclock-inversion;
158
159 simple-audio-card,cpu {
160 sound-dai = <&mcasp3>;
161 };
162
163 sound0_master: simple-audio-card,codec {
164 sound-dai = <&tlv320aic3104>;
165 clocks = <&clkout2_clk>;
166 };
167 };
5a0f93c6
NM
168};
169
170&dra7_pmx_core {
5a0f93c6
NM
171 mmc1_pins_default: mmc1_pins_default {
172 pinctrl-single,pins = <
f70dfa66
JMC
173 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
174 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
175 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
176 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
177 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
178 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
179 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
5a0f93c6
NM
180 >;
181 };
182
183 mmc2_pins_default: mmc2_pins_default {
184 pinctrl-single,pins = <
f70dfa66
JMC
185 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
186 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
187 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
188 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
189 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
190 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
191 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
192 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
193 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
194 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
5a0f93c6
NM
195 >;
196 };
5a0f93c6 197};
5a0f93c6
NM
198&i2c1 {
199 status = "okay";
5a0f93c6
NM
200 clock-frequency = <400000>;
201
202 tps659038: tps659038@58 {
203 compatible = "ti,tps659038";
204 reg = <0x58>;
205 interrupt-parent = <&gpio1>;
206 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
207
5a0f93c6
NM
208 #interrupt-cells = <2>;
209 interrupt-controller;
210
211 ti,system-power-controller;
212
213 tps659038_pmic {
214 compatible = "ti,tps659038-pmic";
215
216 regulators {
217 smps12_reg: smps12 {
218 /* VDD_MPU */
219 regulator-name = "smps12";
220 regulator-min-microvolt = < 850000>;
221 regulator-max-microvolt = <1250000>;
222 regulator-always-on;
223 regulator-boot-on;
224 };
225
226 smps3_reg: smps3 {
227 /* VDD_DDR */
228 regulator-name = "smps3";
229 regulator-min-microvolt = <1350000>;
230 regulator-max-microvolt = <1350000>;
231 regulator-always-on;
232 regulator-boot-on;
233 };
234
235 smps45_reg: smps45 {
236 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
237 regulator-name = "smps45";
238 regulator-min-microvolt = < 850000>;
54d03c5d 239 regulator-max-microvolt = <1250000>;
5a0f93c6
NM
240 regulator-always-on;
241 regulator-boot-on;
242 };
243
244 smps6_reg: smps6 {
245 /* VDD_CORE */
246 regulator-name = "smps6";
247 regulator-min-microvolt = <850000>;
54d03c5d 248 regulator-max-microvolt = <1150000>;
5a0f93c6
NM
249 regulator-always-on;
250 regulator-boot-on;
251 };
252
253 /* SMPS7 unused */
254
255 smps8_reg: smps8 {
256 /* VDD_1V8 */
257 regulator-name = "smps8";
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <1800000>;
260 regulator-always-on;
261 regulator-boot-on;
262 };
263
264 /* SMPS9 unused */
265
266 ldo1_reg: ldo1 {
7e381ec6 267 /* VDD_SD / VDDSHV8 */
5a0f93c6
NM
268 regulator-name = "ldo1";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <3300000>;
271 regulator-boot-on;
7e381ec6 272 regulator-always-on;
5a0f93c6
NM
273 };
274
275 ldo2_reg: ldo2 {
276 /* VDD_SHV5 */
277 regulator-name = "ldo2";
278 regulator-min-microvolt = <3300000>;
279 regulator-max-microvolt = <3300000>;
280 regulator-always-on;
281 regulator-boot-on;
282 };
283
284 ldo3_reg: ldo3 {
5005296e 285 /* VDDA_1V8_PHYA */
5a0f93c6
NM
286 regulator-name = "ldo3";
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
289 regulator-always-on;
290 regulator-boot-on;
291 };
292
5005296e
NM
293 ldo4_reg: ldo4 {
294 /* VDDA_1V8_PHYB */
295 regulator-name = "ldo4";
296 regulator-min-microvolt = <1800000>;
297 regulator-max-microvolt = <1800000>;
298 regulator-always-on;
299 regulator-boot-on;
300 };
301
5a0f93c6
NM
302 ldo9_reg: ldo9 {
303 /* VDD_RTC */
304 regulator-name = "ldo9";
305 regulator-min-microvolt = <1050000>;
306 regulator-max-microvolt = <1050000>;
307 regulator-always-on;
308 regulator-boot-on;
309 };
310
311 ldoln_reg: ldoln {
312 /* VDDA_1V8_PLL */
313 regulator-name = "ldoln";
314 regulator-min-microvolt = <1800000>;
315 regulator-max-microvolt = <1800000>;
316 regulator-always-on;
317 regulator-boot-on;
318 };
319
320 ldousb_reg: ldousb {
321 /* VDDA_3V_USB: VDDA_USBHS33 */
322 regulator-name = "ldousb";
323 regulator-min-microvolt = <3300000>;
324 regulator-max-microvolt = <3300000>;
325 regulator-boot-on;
326 };
327
328 regen1: regen1 {
329 /* VDD_3V3_ON */
330 regulator-name = "regen1";
331 regulator-boot-on;
332 regulator-always-on;
333 };
334 };
335 };
336
337 tps659038_rtc: tps659038_rtc {
338 compatible = "ti,palmas-rtc";
339 interrupt-parent = <&tps659038>;
340 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
341 wakeup-source;
342 };
343
344 tps659038_pwr_button: tps659038_pwr_button {
345 compatible = "ti,palmas-pwrbutton";
346 interrupt-parent = <&tps659038>;
347 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
348 wakeup-source;
349 ti,palmas-long-press-seconds = <12>;
350 };
7a03f2c0
NM
351
352 tps659038_gpio: tps659038_gpio {
353 compatible = "ti,palmas-gpio";
354 gpio-controller;
355 #gpio-cells = <2>;
356 };
84ad1bab
RQ
357
358 extcon_usb2: tps659038_usb {
359 compatible = "ti,palmas-usb-vid";
360 ti,enable-vbus-detection;
0331966d 361 vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
84ad1bab
RQ
362 };
363
5a0f93c6
NM
364 };
365
366 tmp102: tmp102@48 {
367 compatible = "ti,tmp102";
368 reg = <0x48>;
5a0f93c6
NM
369 interrupt-parent = <&gpio7>;
370 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
d723cfea 371 #thermal-sensor-cells = <1>;
5a0f93c6 372 };
a00e368c
PU
373
374 tlv320aic3104: tlv320aic3104@18 {
375 #sound-dai-cells = <0>;
376 compatible = "ti,tlv320aic3104";
377 reg = <0x18>;
e80ab5c9
PU
378 assigned-clocks = <&clkoutmux2_clk_mux>;
379 assigned-clock-parents = <&sys_clk2_dclk_div>;
380
a00e368c
PU
381 status = "okay";
382 adc-settle-ms = <40>;
383
384 AVDD-supply = <&vdd_3v3>;
385 IOVDD-supply = <&vdd_3v3>;
386 DRVDD-supply = <&vdd_3v3>;
387 DVDD-supply = <&aic_dvdd>;
388 };
b9d3ec1d
NM
389
390 eeprom: eeprom@50 {
391 compatible = "at,24c32";
392 reg = <0x50>;
393 };
5a0f93c6
NM
394};
395
396&i2c3 {
397 status = "okay";
5a0f93c6
NM
398 clock-frequency = <400000>;
399
400 mcp_rtc: rtc@6f {
401 compatible = "microchip,mcp7941x";
402 reg = <0x6f>;
c22c7f3e
NM
403 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
404 <&dra7_pmx_core 0x424>;
51c4cfef 405 interrupt-names = "irq", "wakeup";
5a0f93c6 406
5a0f93c6
NM
407 vcc-supply = <&vdd_3v3>;
408 wakeup-source;
409 };
410};
411
412&gpio7 {
413 ti,no-reset-on-init;
414 ti,no-idle-on-init;
415};
416
417&cpu0 {
418 cpu0-supply = <&smps12_reg>;
419 voltage-tolerance = <1>;
420};
421
422&uart3 {
423 status = "okay";
783d3186 424 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
5eb67198 425 <&dra7_pmx_core 0x3f8>;
5a0f93c6
NM
426};
427
a75dacf8
FB
428&mac {
429 status = "okay";
a75dacf8
FB
430 dual_emac;
431};
432
433&cpsw_emac0 {
434 phy_id = <&davinci_mdio>, <1>;
435 phy-mode = "rgmii";
436 dual_emac_res_vlan = <1>;
437};
438
439&cpsw_emac1 {
440 phy_id = <&davinci_mdio>, <2>;
441 phy-mode = "rgmii";
442 dual_emac_res_vlan = <2>;
443};
444
5a0f93c6
NM
445&mmc1 {
446 status = "okay";
447
448 pinctrl-names = "default";
449 pinctrl-0 = <&mmc1_pins_default>;
450
451 vmmc-supply = <&ldo1_reg>;
5a0f93c6 452 bus-width = <4>;
267068d8 453 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
5a0f93c6
NM
454};
455
456&mmc2 {
457 status = "okay";
458
459 pinctrl-names = "default";
d20f997b 460 pinctrl-0 = <&mmc1_pins_default>;
5a0f93c6
NM
461
462 vmmc-supply = <&vdd_3v3>;
463 bus-width = <8>;
464 ti,non-removable;
465 cap-mmc-dual-data-rate;
466};
467
468&sata {
469 status = "okay";
470};
471
472&usb2_phy1 {
473 phy-supply = <&ldousb_reg>;
474};
475
9ab402ae
RQ
476&usb2_phy2 {
477 phy-supply = <&ldousb_reg>;
478};
479
5a0f93c6
NM
480&usb1 {
481 dr_mode = "host";
5a0f93c6 482};
f60db98e 483
a7b0aa19
RQ
484&omap_dwc3_2 {
485 extcon = <&extcon_usb2>;
486};
487
726806ad 488&usb2 {
84ad1bab
RQ
489 /*
490 * Stand alone usage is peripheral only.
491 * However, with some resistor modifications
492 * this port can be used via expansion connectors
493 * as "host" or "dual-role". If so, provide
494 * the necessary dr_mode override in the expansion
495 * board's DT.
496 */
726806ad
RQ
497 dr_mode = "peripheral";
498};
d723cfea
NM
499
500&cpu_trips {
501 cpu_alert1: cpu_alert1 {
502 temperature = <50000>; /* millicelsius */
503 hysteresis = <2000>; /* millicelsius */
504 type = "active";
505 };
506};
507
508&cpu_cooling_maps {
509 map1 {
510 trip = <&cpu_alert1>;
511 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
512 };
513};
514
515&thermal_zones {
516 board_thermal: board_thermal {
517 polling-delay-passive = <1250>; /* milliseconds */
518 polling-delay = <1500>; /* milliseconds */
519
520 /* sensor ID */
521 thermal-sensors = <&tmp102 0>;
522
523 board_trips: trips {
524 board_alert0: board_alert {
525 temperature = <40000>; /* millicelsius */
526 hysteresis = <2000>; /* millicelsius */
527 type = "active";
528 };
529
530 board_crit: board_crit {
531 temperature = <105000>; /* millicelsius */
532 hysteresis = <0>; /* millicelsius */
533 type = "critical";
534 };
535 };
536
537 board_cooling_maps: cooling-maps {
538 map0 {
539 trip = <&board_alert0>;
540 cooling-device =
541 <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
542 };
543 };
544 };
545};
0c534938
TV
546
547&dss {
548 status = "ok";
549
550 vdda_video-supply = <&ldoln_reg>;
551};
552
553&hdmi {
554 status = "ok";
5005296e 555 vdda-supply = <&ldo4_reg>;
0c534938 556
0c534938
TV
557 port {
558 hdmi_out: endpoint {
559 remote-endpoint = <&tpd12s015_in>;
560 };
561 };
562};
73c8f0cb
KVA
563
564&pcie1 {
565 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
566};
a00e368c
PU
567
568&mcasp3 {
569 #sound-dai-cells = <0>;
bf26927b
PU
570 assigned-clocks = <&mcasp3_ahclkx_mux>;
571 assigned-clock-parents = <&sys_clkin2>;
a00e368c
PU
572 status = "okay";
573
574 op-mode = <0>; /* MCASP_IIS_MODE */
575 tdm-slots = <2>;
576 /* 4 serializers */
577 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
578 1 2 0 0
579 >;
42b2274d
PU
580 tx-num-evt = <32>;
581 rx-num-evt = <32>;
a00e368c 582};
ebbf93f0
SA
583
584&mailbox5 {
585 status = "okay";
586 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
587 status = "okay";
588 };
589 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
590 status = "okay";
591 };
592};
593
594&mailbox6 {
595 status = "okay";
596 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
597 status = "okay";
598 };
599 mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
600 status = "okay";
601 };
602};