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 vtt_fixed: fixedregulator-vtt {
40 compatible = "regulator-fixed";
41 regulator-name = "vtt_fixed";
42 vin-supply = <&smps3_reg>;
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
48 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
52 compatible = "gpio-leds";
53 pinctrl-names = "default";
54 pinctrl-0 = <&leds_pins_default>;
57 label = "beagle-x15:usr0";
58 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
59 linux,default-trigger = "heartbeat";
60 default-state = "off";
64 label = "beagle-x15:usr1";
65 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
66 linux,default-trigger = "cpu0";
67 default-state = "off";
71 label = "beagle-x15:usr2";
72 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
73 linux,default-trigger = "mmc0";
74 default-state = "off";
78 label = "beagle-x15:usr3";
79 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
80 linux,default-trigger = "ide-disk";
81 default-state = "off";
86 /* Based on 5v 500mA AFB02505HHB */
87 compatible = "gpio-fan";
88 gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
89 gpio-fan,speed-map = <0 0>,
94 extcon_usb1: extcon_usb1 {
95 compatible = "linux,extcon-usb-gpio";
96 id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
97 pinctrl-names = "default";
98 pinctrl-0 = <&extcon_usb1_pins>;
102 compatible = "hdmi-connector";
108 hdmi_connector_in: endpoint {
109 remote-endpoint = <&tpd12s015_out>;
115 compatible = "ti,tpd12s015";
117 pinctrl-names = "default";
118 pinctrl-0 = <&tpd12s015_pins>;
120 gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>, /* gpio7_10, CT CP HPD */
121 <&gpio6 28 GPIO_ACTIVE_HIGH>, /* gpio6_28, LS OE */
122 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
125 #address-cells = <1>;
131 tpd12s015_in: endpoint {
132 remote-endpoint = <&hdmi_out>;
139 tpd12s015_out: endpoint {
140 remote-endpoint = <&hdmi_connector_in>;
148 leds_pins_default: leds_pins_default {
149 pinctrl-single,pins = <
150 0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */
151 0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */
152 0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */
153 0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */
157 i2c1_pins_default: i2c1_pins_default {
158 pinctrl-single,pins = <
159 0x400 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */
160 0x404 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */
164 hdmi_pins: pinmux_hdmi_pins {
165 pinctrl-single,pins = <
166 0x408 (PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
167 0x40c (PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
171 i2c3_pins_default: i2c3_pins_default {
172 pinctrl-single,pins = <
173 0x2a4 (PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */
174 0x2a8 (PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */
178 uart3_pins_default: uart3_pins_default {
179 pinctrl-single,pins = <
180 0x3f8 (PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */
181 0x3fc (PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */
185 mmc1_pins_default: mmc1_pins_default {
186 pinctrl-single,pins = <
187 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
188 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
189 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
190 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
191 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
192 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
193 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
197 mmc2_pins_default: mmc2_pins_default {
198 pinctrl-single,pins = <
199 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
200 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
201 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
202 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
203 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
204 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
205 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
206 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
207 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
208 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
212 cpsw_pins_default: cpsw_pins_default {
213 pinctrl-single,pins = <
215 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tclk */
216 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tctl */
217 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td3 */
218 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td2 */
219 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td1 */
220 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td0 */
221 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii1_rclk */
222 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii1_rctl */
223 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd3 */
224 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd2 */
225 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd1 */
226 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii1_rd0 */
229 0x198 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tclk */
230 0x19c (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tctl */
231 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td3 */
232 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td2 */
233 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td1 */
234 0x1ac (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td0 */
235 0x1b0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rclk */
236 0x1b4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rctl */
237 0x1b8 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd3 */
238 0x1bc (PIN_INPUT | MUX_MODE3) /* rgmii2_rd2 */
239 0x1c0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd1 */
240 0x1c4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd0 */
245 cpsw_pins_sleep: cpsw_pins_sleep {
246 pinctrl-single,pins = <
248 0x250 (PIN_INPUT | MUX_MODE15)
249 0x254 (PIN_INPUT | MUX_MODE15)
250 0x258 (PIN_INPUT | MUX_MODE15)
251 0x25c (PIN_INPUT | MUX_MODE15)
252 0x260 (PIN_INPUT | MUX_MODE15)
253 0x264 (PIN_INPUT | MUX_MODE15)
254 0x268 (PIN_INPUT | MUX_MODE15)
255 0x26c (PIN_INPUT | MUX_MODE15)
256 0x270 (PIN_INPUT | MUX_MODE15)
257 0x274 (PIN_INPUT | MUX_MODE15)
258 0x278 (PIN_INPUT | MUX_MODE15)
259 0x27c (PIN_INPUT | MUX_MODE15)
262 0x198 (PIN_INPUT | MUX_MODE15)
263 0x19c (PIN_INPUT | MUX_MODE15)
264 0x1a0 (PIN_INPUT | MUX_MODE15)
265 0x1a4 (PIN_INPUT | MUX_MODE15)
266 0x1a8 (PIN_INPUT | MUX_MODE15)
267 0x1ac (PIN_INPUT | MUX_MODE15)
268 0x1b0 (PIN_INPUT | MUX_MODE15)
269 0x1b4 (PIN_INPUT | MUX_MODE15)
270 0x1b8 (PIN_INPUT | MUX_MODE15)
271 0x1bc (PIN_INPUT | MUX_MODE15)
272 0x1c0 (PIN_INPUT | MUX_MODE15)
273 0x1c4 (PIN_INPUT | MUX_MODE15)
277 davinci_mdio_pins_default: davinci_mdio_pins_default {
278 pinctrl-single,pins = <
280 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_mclk */
281 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_d */
285 davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
286 pinctrl-single,pins = <
287 0x23c (PIN_INPUT | MUX_MODE15)
288 0x240 (PIN_INPUT | MUX_MODE15)
292 tps659038_pins_default: tps659038_pins_default {
293 pinctrl-single,pins = <
294 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
298 tmp102_pins_default: tmp102_pins_default {
299 pinctrl-single,pins = <
300 0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14) /* spi2_d0.gpio7_16 */
304 mcp79410_pins_default: mcp79410_pins_default {
305 pinctrl-single,pins = <
306 0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */
310 usb1_pins: pinmux_usb1_pins {
311 pinctrl-single,pins = <
312 0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
316 extcon_usb1_pins: extcon_usb1_pins {
317 pinctrl-single,pins = <
318 0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
322 tpd12s015_pins: pinmux_tpd12s015_pins {
323 pinctrl-single,pins = <
324 0x3b0 (PIN_OUTPUT | MUX_MODE14) /* gpio7_10 CT_CP_HPD */
325 0x3b8 (PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpio7_12 HPD */
326 0x370 (PIN_OUTPUT | MUX_MODE14) /* gpio6_28 LS_OE */
333 pinctrl-names = "default";
334 pinctrl-0 = <&i2c1_pins_default>;
335 clock-frequency = <400000>;
337 tps659038: tps659038@58 {
338 compatible = "ti,tps659038";
340 interrupt-parent = <&gpio1>;
341 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
343 pinctrl-names = "default";
344 pinctrl-0 = <&tps659038_pins_default>;
346 #interrupt-cells = <2>;
347 interrupt-controller;
349 ti,system-power-controller;
352 compatible = "ti,tps659038-pmic";
357 regulator-name = "smps12";
358 regulator-min-microvolt = < 850000>;
359 regulator-max-microvolt = <1250000>;
366 regulator-name = "smps3";
367 regulator-min-microvolt = <1350000>;
368 regulator-max-microvolt = <1350000>;
374 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
375 regulator-name = "smps45";
376 regulator-min-microvolt = < 850000>;
377 regulator-max-microvolt = <1150000>;
384 regulator-name = "smps6";
385 regulator-min-microvolt = <850000>;
386 regulator-max-microvolt = <1030000>;
395 regulator-name = "smps8";
396 regulator-min-microvolt = <1800000>;
397 regulator-max-microvolt = <1800000>;
405 /* VDD_SD / VDDSHV8 */
406 regulator-name = "ldo1";
407 regulator-min-microvolt = <1800000>;
408 regulator-max-microvolt = <3300000>;
415 regulator-name = "ldo2";
416 regulator-min-microvolt = <3300000>;
417 regulator-max-microvolt = <3300000>;
424 regulator-name = "ldo3";
425 regulator-min-microvolt = <1800000>;
426 regulator-max-microvolt = <1800000>;
433 regulator-name = "ldo4";
434 regulator-min-microvolt = <1800000>;
435 regulator-max-microvolt = <1800000>;
442 regulator-name = "ldo9";
443 regulator-min-microvolt = <1050000>;
444 regulator-max-microvolt = <1050000>;
451 regulator-name = "ldoln";
452 regulator-min-microvolt = <1800000>;
453 regulator-max-microvolt = <1800000>;
459 /* VDDA_3V_USB: VDDA_USBHS33 */
460 regulator-name = "ldousb";
461 regulator-min-microvolt = <3300000>;
462 regulator-max-microvolt = <3300000>;
468 regulator-name = "regen1";
475 tps659038_rtc: tps659038_rtc {
476 compatible = "ti,palmas-rtc";
477 interrupt-parent = <&tps659038>;
478 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
482 tps659038_pwr_button: tps659038_pwr_button {
483 compatible = "ti,palmas-pwrbutton";
484 interrupt-parent = <&tps659038>;
485 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
487 ti,palmas-long-press-seconds = <12>;
490 tps659038_gpio: tps659038_gpio {
491 compatible = "ti,palmas-gpio";
496 extcon_usb2: tps659038_usb {
497 compatible = "ti,palmas-usb-vid";
498 ti,enable-vbus-detection;
499 ti,enable-id-detection;
500 id-gpios = <&gpio7 24 GPIO_ACTIVE_HIGH>;
506 compatible = "ti,tmp102";
508 pinctrl-names = "default";
509 pinctrl-0 = <&tmp102_pins_default>;
510 interrupt-parent = <&gpio7>;
511 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
512 #thermal-sensor-cells = <1>;
518 pinctrl-names = "default";
519 pinctrl-0 = <&i2c3_pins_default>;
520 clock-frequency = <400000>;
523 compatible = "microchip,mcp7941x";
525 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
526 <&dra7_pmx_core 0x424>;
528 pinctrl-names = "default";
529 pinctrl-0 = <&mcp79410_pins_default>;
531 vcc-supply = <&vdd_3v3>;
542 cpu0-supply = <&smps12_reg>;
543 voltage-tolerance = <1>;
548 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
549 <&dra7_pmx_core 0x3f8>;
551 pinctrl-names = "default";
552 pinctrl-0 = <&uart3_pins_default>;
557 pinctrl-names = "default", "sleep";
558 pinctrl-0 = <&cpsw_pins_default>;
559 pinctrl-1 = <&cpsw_pins_sleep>;
564 phy_id = <&davinci_mdio>, <1>;
566 dual_emac_res_vlan = <1>;
570 phy_id = <&davinci_mdio>, <2>;
572 dual_emac_res_vlan = <2>;
576 pinctrl-names = "default", "sleep";
577 pinctrl-0 = <&davinci_mdio_pins_default>;
578 pinctrl-1 = <&davinci_mdio_pins_sleep>;
584 pinctrl-names = "default";
585 pinctrl-0 = <&mmc1_pins_default>;
587 vmmc-supply = <&ldo1_reg>;
589 cd-gpios = <&gpio6 27 0>; /* gpio 219 */
595 pinctrl-names = "default";
596 pinctrl-0 = <&mmc2_pins_default>;
598 vmmc-supply = <&vdd_3v3>;
601 cap-mmc-dual-data-rate;
609 phy-supply = <&ldousb_reg>;
613 phy-supply = <&ldousb_reg>;
618 pinctrl-names = "default";
619 pinctrl-0 = <&usb1_pins>;
623 extcon = <&extcon_usb1>;
627 extcon = <&extcon_usb2>;
632 * Stand alone usage is peripheral only.
633 * However, with some resistor modifications
634 * this port can be used via expansion connectors
635 * as "host" or "dual-role". If so, provide
636 * the necessary dr_mode override in the expansion
639 dr_mode = "peripheral";
643 cpu_alert1: cpu_alert1 {
644 temperature = <50000>; /* millicelsius */
645 hysteresis = <2000>; /* millicelsius */
652 trip = <&cpu_alert1>;
653 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
658 board_thermal: board_thermal {
659 polling-delay-passive = <1250>; /* milliseconds */
660 polling-delay = <1500>; /* milliseconds */
663 thermal-sensors = <&tmp102 0>;
666 board_alert0: board_alert {
667 temperature = <40000>; /* millicelsius */
668 hysteresis = <2000>; /* millicelsius */
672 board_crit: board_crit {
673 temperature = <105000>; /* millicelsius */
674 hysteresis = <0>; /* millicelsius */
679 board_cooling_maps: cooling-maps {
681 trip = <&board_alert0>;
683 <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
692 vdda_video-supply = <&ldoln_reg>;
697 vdda-supply = <&ldo4_reg>;
699 pinctrl-names = "default";
700 pinctrl-0 = <&hdmi_pins>;
704 remote-endpoint = <&tpd12s015_in>;
710 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;