2 * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
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.
10 #include "dra74x.dtsi"
11 #include "am57xx-commercial-grade.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
16 compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
20 rtc1 = &tps659038_rtc;
26 device_type = "memory";
27 reg = <0x0 0x80000000 0x0 0x80000000>;
30 main_12v0: fixedregulator-main_12v0 {
32 compatible = "regulator-fixed";
33 regulator-name = "main_12v0";
34 regulator-min-microvolt = <12000000>;
35 regulator-max-microvolt = <12000000>;
40 evm_5v0: fixedregulator-evm_5v0 {
41 /* Output of TPS54531D */
42 compatible = "regulator-fixed";
43 regulator-name = "evm_5v0";
44 regulator-min-microvolt = <5000000>;
45 regulator-max-microvolt = <5000000>;
46 vin-supply = <&main_12v0>;
51 vdd_3v3: fixedregulator-vdd_3v3 {
52 compatible = "regulator-fixed";
53 regulator-name = "vdd_3v3";
54 vin-supply = <®en1>;
55 regulator-min-microvolt = <3300000>;
56 regulator-max-microvolt = <3300000>;
59 aic_dvdd: fixedregulator-aic_dvdd {
60 compatible = "regulator-fixed";
61 regulator-name = "aic_dvdd_fixed";
62 vin-supply = <&vdd_3v3>;
63 regulator-min-microvolt = <1800000>;
64 regulator-max-microvolt = <1800000>;
67 vtt_fixed: fixedregulator-vtt {
69 compatible = "regulator-fixed";
70 regulator-name = "vtt_fixed";
71 vin-supply = <&smps3_reg>;
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
77 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
81 compatible = "gpio-leds";
84 label = "beagle-x15:usr0";
85 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
86 linux,default-trigger = "heartbeat";
87 default-state = "off";
91 label = "beagle-x15:usr1";
92 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
93 linux,default-trigger = "cpu0";
94 default-state = "off";
98 label = "beagle-x15:usr2";
99 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
100 linux,default-trigger = "mmc0";
101 default-state = "off";
105 label = "beagle-x15:usr3";
106 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
107 linux,default-trigger = "disk-activity";
108 default-state = "off";
113 /* Based on 5v 500mA AFB02505HHB */
114 compatible = "gpio-fan";
115 gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
116 gpio-fan,speed-map = <0 0>,
118 #cooling-cells = <2>;
122 compatible = "hdmi-connector";
128 hdmi_connector_in: endpoint {
129 remote-endpoint = <&tpd12s015_out>;
135 compatible = "ti,tpd12s015";
138 #address-cells = <1>;
144 tpd12s015_in: endpoint {
145 remote-endpoint = <&hdmi_out>;
152 tpd12s015_out: endpoint {
153 remote-endpoint = <&hdmi_connector_in>;
160 compatible = "simple-audio-card";
161 simple-audio-card,name = "BeagleBoard-X15";
162 simple-audio-card,widgets =
165 simple-audio-card,routing =
170 simple-audio-card,format = "dsp_b";
171 simple-audio-card,bitclock-master = <&sound0_master>;
172 simple-audio-card,frame-master = <&sound0_master>;
173 simple-audio-card,bitclock-inversion;
175 simple-audio-card,cpu {
176 sound-dai = <&mcasp3>;
179 sound0_master: simple-audio-card,codec {
180 sound-dai = <&tlv320aic3104>;
181 clocks = <&clkout2_clk>;
187 mmc1_pins_default: mmc1_pins_default {
188 pinctrl-single,pins = <
189 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
190 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
191 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
192 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
193 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
194 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
195 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
199 mmc2_pins_default: mmc2_pins_default {
200 pinctrl-single,pins = <
201 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
202 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
203 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
204 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
205 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
206 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
207 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
208 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
209 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
210 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
216 clock-frequency = <400000>;
218 tps659038: tps659038@58 {
219 compatible = "ti,tps659038";
221 interrupt-parent = <&gpio1>;
222 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
224 #interrupt-cells = <2>;
225 interrupt-controller;
227 ti,system-power-controller;
228 ti,palmas-override-powerhold;
231 compatible = "ti,tps659038-pmic";
236 regulator-name = "smps12";
237 regulator-min-microvolt = < 850000>;
238 regulator-max-microvolt = <1250000>;
245 regulator-name = "smps3";
246 regulator-min-microvolt = <1350000>;
247 regulator-max-microvolt = <1350000>;
253 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
254 regulator-name = "smps45";
255 regulator-min-microvolt = < 850000>;
256 regulator-max-microvolt = <1250000>;
263 regulator-name = "smps6";
264 regulator-min-microvolt = <850000>;
265 regulator-max-microvolt = <1150000>;
274 regulator-name = "smps8";
275 regulator-min-microvolt = <1800000>;
276 regulator-max-microvolt = <1800000>;
284 /* VDD_SD / VDDSHV8 */
285 regulator-name = "ldo1";
286 regulator-min-microvolt = <1800000>;
287 regulator-max-microvolt = <3300000>;
294 regulator-name = "ldo2";
295 regulator-min-microvolt = <3300000>;
296 regulator-max-microvolt = <3300000>;
303 regulator-name = "ldo3";
304 regulator-min-microvolt = <1800000>;
305 regulator-max-microvolt = <1800000>;
312 regulator-name = "ldo4";
313 regulator-min-microvolt = <1800000>;
314 regulator-max-microvolt = <1800000>;
321 regulator-name = "ldo9";
322 regulator-min-microvolt = <1050000>;
323 regulator-max-microvolt = <1050000>;
330 regulator-name = "ldoln";
331 regulator-min-microvolt = <1800000>;
332 regulator-max-microvolt = <1800000>;
338 /* VDDA_3V_USB: VDDA_USBHS33 */
339 regulator-name = "ldousb";
340 regulator-min-microvolt = <3300000>;
341 regulator-max-microvolt = <3300000>;
347 regulator-name = "regen1";
354 tps659038_rtc: tps659038_rtc {
355 compatible = "ti,palmas-rtc";
356 interrupt-parent = <&tps659038>;
357 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
361 tps659038_pwr_button: tps659038_pwr_button {
362 compatible = "ti,palmas-pwrbutton";
363 interrupt-parent = <&tps659038>;
364 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
366 ti,palmas-long-press-seconds = <12>;
369 tps659038_gpio: tps659038_gpio {
370 compatible = "ti,palmas-gpio";
375 extcon_usb2: tps659038_usb {
376 compatible = "ti,palmas-usb-vid";
377 ti,enable-vbus-detection;
378 vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
384 compatible = "ti,tmp102";
386 interrupt-parent = <&gpio7>;
387 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
388 #thermal-sensor-cells = <1>;
391 tlv320aic3104: tlv320aic3104@18 {
392 #sound-dai-cells = <0>;
393 compatible = "ti,tlv320aic3104";
395 assigned-clocks = <&clkoutmux2_clk_mux>;
396 assigned-clock-parents = <&sys_clk2_dclk_div>;
399 adc-settle-ms = <40>;
401 AVDD-supply = <&vdd_3v3>;
402 IOVDD-supply = <&vdd_3v3>;
403 DRVDD-supply = <&vdd_3v3>;
404 DVDD-supply = <&aic_dvdd>;
408 compatible = "at,24c32";
415 clock-frequency = <400000>;
418 compatible = "microchip,mcp7941x";
420 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
421 <&dra7_pmx_core 0x424>;
422 interrupt-names = "irq", "wakeup";
424 vcc-supply = <&vdd_3v3>;
435 cpu0-supply = <&smps12_reg>;
436 voltage-tolerance = <1>;
441 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
442 <&dra7_pmx_core 0x3f8>;
451 phy_id = <&davinci_mdio>, <1>;
453 dual_emac_res_vlan = <1>;
457 phy_id = <&davinci_mdio>, <2>;
459 dual_emac_res_vlan = <2>;
465 pinctrl-names = "default";
466 pinctrl-0 = <&mmc1_pins_default>;
469 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
475 pinctrl-names = "default";
476 pinctrl-0 = <&mmc2_pins_default>;
478 vmmc-supply = <&vdd_3v3>;
481 cap-mmc-dual-data-rate;
489 phy-supply = <&ldousb_reg>;
493 phy-supply = <&ldousb_reg>;
501 extcon = <&extcon_usb2>;
506 * Stand alone usage is peripheral only.
507 * However, with some resistor modifications
508 * this port can be used via expansion connectors
509 * as "host" or "dual-role". If so, provide
510 * the necessary dr_mode override in the expansion
513 dr_mode = "peripheral";
517 cpu_alert1: cpu_alert1 {
518 temperature = <50000>; /* millicelsius */
519 hysteresis = <2000>; /* millicelsius */
526 trip = <&cpu_alert1>;
527 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
532 board_thermal: board_thermal {
533 polling-delay-passive = <1250>; /* milliseconds */
534 polling-delay = <1500>; /* milliseconds */
537 thermal-sensors = <&tmp102 0>;
540 board_alert0: board_alert {
541 temperature = <40000>; /* millicelsius */
542 hysteresis = <2000>; /* millicelsius */
546 board_crit: board_crit {
547 temperature = <105000>; /* millicelsius */
548 hysteresis = <0>; /* millicelsius */
553 board_cooling_maps: cooling-maps {
555 trip = <&board_alert0>;
557 <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
566 vdda_video-supply = <&ldoln_reg>;
571 vdda-supply = <&ldo4_reg>;
575 remote-endpoint = <&tpd12s015_in>;
581 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
585 #sound-dai-cells = <0>;
586 assigned-clocks = <&mcasp3_ahclkx_mux>;
587 assigned-clock-parents = <&sys_clkin2>;
590 op-mode = <0>; /* MCASP_IIS_MODE */
593 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
602 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
605 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
612 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
615 mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {