2 * Copyright (C) 2014 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 <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/irq.h>
15 model = "TI AM5728 BeagleBoard-X15";
16 compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
20 rtc1 = &tps659038_rtc;
26 device_type = "memory";
27 reg = <0x80000000 0x80000000>;
30 vdd_3v3: fixedregulator-vdd_3v3 {
31 compatible = "regulator-fixed";
32 regulator-name = "vdd_3v3";
33 vin-supply = <®en1>;
34 regulator-min-microvolt = <3300000>;
35 regulator-max-microvolt = <3300000>;
38 aic_dvdd: fixedregulator-aic_dvdd {
39 compatible = "regulator-fixed";
40 regulator-name = "aic_dvdd_fixed";
41 vin-supply = <&vdd_3v3>;
42 regulator-min-microvolt = <1800000>;
43 regulator-max-microvolt = <1800000>;
46 vtt_fixed: fixedregulator-vtt {
48 compatible = "regulator-fixed";
49 regulator-name = "vtt_fixed";
50 vin-supply = <&smps3_reg>;
51 regulator-min-microvolt = <3300000>;
52 regulator-max-microvolt = <3300000>;
56 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
60 compatible = "gpio-leds";
61 pinctrl-names = "default";
62 pinctrl-0 = <&leds_pins_default>;
65 label = "beagle-x15:usr0";
66 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
67 linux,default-trigger = "heartbeat";
68 default-state = "off";
72 label = "beagle-x15:usr1";
73 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
74 linux,default-trigger = "cpu0";
75 default-state = "off";
79 label = "beagle-x15:usr2";
80 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "mmc0";
82 default-state = "off";
86 label = "beagle-x15:usr3";
87 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
88 linux,default-trigger = "ide-disk";
89 default-state = "off";
94 /* Based on 5v 500mA AFB02505HHB */
95 compatible = "gpio-fan";
96 gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
97 gpio-fan,speed-map = <0 0>,
102 extcon_usb1: extcon_usb1 {
103 compatible = "linux,extcon-usb-gpio";
104 id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
105 pinctrl-names = "default";
106 pinctrl-0 = <&extcon_usb1_pins>;
110 compatible = "hdmi-connector";
116 hdmi_connector_in: endpoint {
117 remote-endpoint = <&tpd12s015_out>;
123 compatible = "ti,tpd12s015";
125 pinctrl-names = "default";
126 pinctrl-0 = <&tpd12s015_pins>;
128 gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>, /* gpio7_10, CT CP HPD */
129 <&gpio6 28 GPIO_ACTIVE_HIGH>, /* gpio6_28, LS OE */
130 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
133 #address-cells = <1>;
139 tpd12s015_in: endpoint {
140 remote-endpoint = <&hdmi_out>;
147 tpd12s015_out: endpoint {
148 remote-endpoint = <&hdmi_connector_in>;
155 compatible = "simple-audio-card";
156 simple-audio-card,name = "BeagleBoard-X15";
157 simple-audio-card,widgets =
160 simple-audio-card,routing =
165 simple-audio-card,format = "dsp_b";
166 simple-audio-card,bitclock-master = <&sound0_master>;
167 simple-audio-card,frame-master = <&sound0_master>;
168 simple-audio-card,bitclock-inversion;
170 simple-audio-card,cpu {
171 sound-dai = <&mcasp3>;
174 sound0_master: simple-audio-card,codec {
175 sound-dai = <&tlv320aic3104>;
176 clocks = <&clkout2_clk>;
182 leds_pins_default: leds_pins_default {
183 pinctrl-single,pins = <
184 0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */
185 0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */
186 0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */
187 0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */
191 i2c1_pins_default: i2c1_pins_default {
192 pinctrl-single,pins = <
193 0x400 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */
194 0x404 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */
198 hdmi_pins: pinmux_hdmi_pins {
199 pinctrl-single,pins = <
200 0x408 (PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
201 0x40c (PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
205 i2c3_pins_default: i2c3_pins_default {
206 pinctrl-single,pins = <
207 0x2a4 (PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */
208 0x2a8 (PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */
212 uart3_pins_default: uart3_pins_default {
213 pinctrl-single,pins = <
214 0x3f8 (PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */
215 0x3fc (PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */
219 mmc1_pins_default: mmc1_pins_default {
220 pinctrl-single,pins = <
221 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
222 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
223 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
224 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
225 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
226 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
227 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
231 mmc2_pins_default: mmc2_pins_default {
232 pinctrl-single,pins = <
233 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
234 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
235 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
236 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
237 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
238 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
239 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
240 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
241 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
242 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
246 cpsw_pins_default: cpsw_pins_default {
247 pinctrl-single,pins = <
249 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tclk */
250 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tctl */
251 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td3 */
252 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td2 */
253 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td1 */
254 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td0 */
255 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii1_rclk */
256 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii1_rctl */
257 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd3 */
258 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd2 */
259 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd1 */
260 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii1_rd0 */
263 0x198 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tclk */
264 0x19c (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tctl */
265 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td3 */
266 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td2 */
267 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td1 */
268 0x1ac (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td0 */
269 0x1b0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rclk */
270 0x1b4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rctl */
271 0x1b8 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd3 */
272 0x1bc (PIN_INPUT | MUX_MODE3) /* rgmii2_rd2 */
273 0x1c0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd1 */
274 0x1c4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd0 */
279 cpsw_pins_sleep: cpsw_pins_sleep {
280 pinctrl-single,pins = <
282 0x250 (PIN_INPUT | MUX_MODE15)
283 0x254 (PIN_INPUT | MUX_MODE15)
284 0x258 (PIN_INPUT | MUX_MODE15)
285 0x25c (PIN_INPUT | MUX_MODE15)
286 0x260 (PIN_INPUT | MUX_MODE15)
287 0x264 (PIN_INPUT | MUX_MODE15)
288 0x268 (PIN_INPUT | MUX_MODE15)
289 0x26c (PIN_INPUT | MUX_MODE15)
290 0x270 (PIN_INPUT | MUX_MODE15)
291 0x274 (PIN_INPUT | MUX_MODE15)
292 0x278 (PIN_INPUT | MUX_MODE15)
293 0x27c (PIN_INPUT | MUX_MODE15)
296 0x198 (PIN_INPUT | MUX_MODE15)
297 0x19c (PIN_INPUT | MUX_MODE15)
298 0x1a0 (PIN_INPUT | MUX_MODE15)
299 0x1a4 (PIN_INPUT | MUX_MODE15)
300 0x1a8 (PIN_INPUT | MUX_MODE15)
301 0x1ac (PIN_INPUT | MUX_MODE15)
302 0x1b0 (PIN_INPUT | MUX_MODE15)
303 0x1b4 (PIN_INPUT | MUX_MODE15)
304 0x1b8 (PIN_INPUT | MUX_MODE15)
305 0x1bc (PIN_INPUT | MUX_MODE15)
306 0x1c0 (PIN_INPUT | MUX_MODE15)
307 0x1c4 (PIN_INPUT | MUX_MODE15)
311 davinci_mdio_pins_default: davinci_mdio_pins_default {
312 pinctrl-single,pins = <
314 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_mclk */
315 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_d */
319 davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
320 pinctrl-single,pins = <
321 0x23c (PIN_INPUT | MUX_MODE15)
322 0x240 (PIN_INPUT | MUX_MODE15)
326 tps659038_pins_default: tps659038_pins_default {
327 pinctrl-single,pins = <
328 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
332 tmp102_pins_default: tmp102_pins_default {
333 pinctrl-single,pins = <
334 0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14) /* spi2_d0.gpio7_16 */
338 mcp79410_pins_default: mcp79410_pins_default {
339 pinctrl-single,pins = <
340 0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */
344 usb1_pins: pinmux_usb1_pins {
345 pinctrl-single,pins = <
346 0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
350 extcon_usb1_pins: extcon_usb1_pins {
351 pinctrl-single,pins = <
352 0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
356 tpd12s015_pins: pinmux_tpd12s015_pins {
357 pinctrl-single,pins = <
358 0x3b0 (PIN_OUTPUT | MUX_MODE14) /* gpio7_10 CT_CP_HPD */
359 0x3b8 (PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpio7_12 HPD */
360 0x370 (PIN_OUTPUT | MUX_MODE14) /* gpio6_28 LS_OE */
364 clkout2_pins_default: clkout2_pins_default {
365 pinctrl-single,pins = <
366 0x294 (PIN_OUTPUT_PULLDOWN | MUX_MODE9) /* xref_clk0.clkout2 */
370 clkout2_pins_sleep: clkout2_pins_sleep {
371 pinctrl-single,pins = <
372 0x294 (PIN_INPUT | MUX_MODE15) /* xref_clk0.clkout2 */
376 mcasp3_pins_default: mcasp3_pins_default {
377 pinctrl-single,pins = <
378 0x324 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */
379 0x328 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */
380 0x32c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */
381 0x330 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */
385 mcasp3_pins_sleep: mcasp3_pins_sleep {
386 pinctrl-single,pins = <
387 0x324 (PIN_INPUT | MUX_MODE15)
388 0x328 (PIN_INPUT | MUX_MODE15)
389 0x32c (PIN_INPUT | MUX_MODE15)
390 0x330 (PIN_INPUT | MUX_MODE15)
397 pinctrl-names = "default";
398 pinctrl-0 = <&i2c1_pins_default>;
399 clock-frequency = <400000>;
401 tps659038: tps659038@58 {
402 compatible = "ti,tps659038";
404 interrupt-parent = <&gpio1>;
405 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
407 pinctrl-names = "default";
408 pinctrl-0 = <&tps659038_pins_default>;
410 #interrupt-cells = <2>;
411 interrupt-controller;
413 ti,system-power-controller;
416 compatible = "ti,tps659038-pmic";
421 regulator-name = "smps12";
422 regulator-min-microvolt = < 850000>;
423 regulator-max-microvolt = <1250000>;
430 regulator-name = "smps3";
431 regulator-min-microvolt = <1350000>;
432 regulator-max-microvolt = <1350000>;
438 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
439 regulator-name = "smps45";
440 regulator-min-microvolt = < 850000>;
441 regulator-max-microvolt = <1150000>;
448 regulator-name = "smps6";
449 regulator-min-microvolt = <850000>;
450 regulator-max-microvolt = <1030000>;
459 regulator-name = "smps8";
460 regulator-min-microvolt = <1800000>;
461 regulator-max-microvolt = <1800000>;
469 /* VDD_SD / VDDSHV8 */
470 regulator-name = "ldo1";
471 regulator-min-microvolt = <1800000>;
472 regulator-max-microvolt = <3300000>;
479 regulator-name = "ldo2";
480 regulator-min-microvolt = <3300000>;
481 regulator-max-microvolt = <3300000>;
488 regulator-name = "ldo3";
489 regulator-min-microvolt = <1800000>;
490 regulator-max-microvolt = <1800000>;
497 regulator-name = "ldo4";
498 regulator-min-microvolt = <1800000>;
499 regulator-max-microvolt = <1800000>;
506 regulator-name = "ldo9";
507 regulator-min-microvolt = <1050000>;
508 regulator-max-microvolt = <1050000>;
515 regulator-name = "ldoln";
516 regulator-min-microvolt = <1800000>;
517 regulator-max-microvolt = <1800000>;
523 /* VDDA_3V_USB: VDDA_USBHS33 */
524 regulator-name = "ldousb";
525 regulator-min-microvolt = <3300000>;
526 regulator-max-microvolt = <3300000>;
532 regulator-name = "regen1";
539 tps659038_rtc: tps659038_rtc {
540 compatible = "ti,palmas-rtc";
541 interrupt-parent = <&tps659038>;
542 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
546 tps659038_pwr_button: tps659038_pwr_button {
547 compatible = "ti,palmas-pwrbutton";
548 interrupt-parent = <&tps659038>;
549 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
551 ti,palmas-long-press-seconds = <12>;
554 tps659038_gpio: tps659038_gpio {
555 compatible = "ti,palmas-gpio";
560 extcon_usb2: tps659038_usb {
561 compatible = "ti,palmas-usb-vid";
562 ti,enable-vbus-detection;
563 ti,enable-id-detection;
564 id-gpios = <&gpio7 24 GPIO_ACTIVE_HIGH>;
570 compatible = "ti,tmp102";
572 pinctrl-names = "default";
573 pinctrl-0 = <&tmp102_pins_default>;
574 interrupt-parent = <&gpio7>;
575 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
576 #thermal-sensor-cells = <1>;
579 tlv320aic3104: tlv320aic3104@18 {
580 #sound-dai-cells = <0>;
581 compatible = "ti,tlv320aic3104";
583 pinctrl-names = "default", "sleep";
584 pinctrl-0 = <&clkout2_pins_default>;
585 pinctrl-1 = <&clkout2_pins_sleep>;
587 adc-settle-ms = <40>;
589 AVDD-supply = <&vdd_3v3>;
590 IOVDD-supply = <&vdd_3v3>;
591 DRVDD-supply = <&vdd_3v3>;
592 DVDD-supply = <&aic_dvdd>;
598 pinctrl-names = "default";
599 pinctrl-0 = <&i2c3_pins_default>;
600 clock-frequency = <400000>;
603 compatible = "microchip,mcp7941x";
605 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
606 <&dra7_pmx_core 0x424>;
607 interrupt-names = "irq", "wakeup";
609 pinctrl-names = "default";
610 pinctrl-0 = <&mcp79410_pins_default>;
612 vcc-supply = <&vdd_3v3>;
623 cpu0-supply = <&smps12_reg>;
624 voltage-tolerance = <1>;
629 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
630 <&dra7_pmx_core 0x3f8>;
632 pinctrl-names = "default";
633 pinctrl-0 = <&uart3_pins_default>;
638 pinctrl-names = "default", "sleep";
639 pinctrl-0 = <&cpsw_pins_default>;
640 pinctrl-1 = <&cpsw_pins_sleep>;
645 phy_id = <&davinci_mdio>, <1>;
647 dual_emac_res_vlan = <1>;
651 phy_id = <&davinci_mdio>, <2>;
653 dual_emac_res_vlan = <2>;
657 pinctrl-names = "default", "sleep";
658 pinctrl-0 = <&davinci_mdio_pins_default>;
659 pinctrl-1 = <&davinci_mdio_pins_sleep>;
665 pinctrl-names = "default";
666 pinctrl-0 = <&mmc1_pins_default>;
668 vmmc-supply = <&ldo1_reg>;
670 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
676 pinctrl-names = "default";
677 pinctrl-0 = <&mmc2_pins_default>;
679 vmmc-supply = <&vdd_3v3>;
682 cap-mmc-dual-data-rate;
690 phy-supply = <&ldousb_reg>;
694 phy-supply = <&ldousb_reg>;
699 pinctrl-names = "default";
700 pinctrl-0 = <&usb1_pins>;
704 extcon = <&extcon_usb1>;
708 extcon = <&extcon_usb2>;
713 * Stand alone usage is peripheral only.
714 * However, with some resistor modifications
715 * this port can be used via expansion connectors
716 * as "host" or "dual-role". If so, provide
717 * the necessary dr_mode override in the expansion
720 dr_mode = "peripheral";
724 cpu_alert1: cpu_alert1 {
725 temperature = <50000>; /* millicelsius */
726 hysteresis = <2000>; /* millicelsius */
733 trip = <&cpu_alert1>;
734 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
739 board_thermal: board_thermal {
740 polling-delay-passive = <1250>; /* milliseconds */
741 polling-delay = <1500>; /* milliseconds */
744 thermal-sensors = <&tmp102 0>;
747 board_alert0: board_alert {
748 temperature = <40000>; /* millicelsius */
749 hysteresis = <2000>; /* millicelsius */
753 board_crit: board_crit {
754 temperature = <105000>; /* millicelsius */
755 hysteresis = <0>; /* millicelsius */
760 board_cooling_maps: cooling-maps {
762 trip = <&board_alert0>;
764 <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
773 vdda_video-supply = <&ldoln_reg>;
778 vdda-supply = <&ldo4_reg>;
780 pinctrl-names = "default";
781 pinctrl-0 = <&hdmi_pins>;
785 remote-endpoint = <&tpd12s015_in>;
791 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
795 #sound-dai-cells = <0>;
796 pinctrl-names = "default", "sleep";
797 pinctrl-0 = <&mcasp3_pins_default>;
798 pinctrl-1 = <&mcasp3_pins_sleep>;
801 op-mode = <0>; /* MCASP_IIS_MODE */
804 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
811 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
814 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
821 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
824 mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {