1279377Simp/*
2279377Simp * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
3279377Simp *
4279377Simp * This program is free software; you can redistribute it and/or modify
5279377Simp * it under the terms of the GNU General Public License version 2 as
6279377Simp * published by the Free Software Foundation.
7279377Simp */
8279377Simp/dts-v1/;
9279377Simp
10279377Simp#include "dra74x.dtsi"
11279377Simp#include <dt-bindings/gpio/gpio.h>
12279377Simp#include <dt-bindings/interrupt-controller/irq.h>
13279377Simp
14279377Simp/ {
15279377Simp	model = "TI AM5728 BeagleBoard-X15";
16279377Simp	compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
17279377Simp
18279377Simp	aliases {
19279377Simp		rtc0 = &mcp_rtc;
20279377Simp		rtc1 = &tps659038_rtc;
21295436Sandrew		rtc2 = &rtc;
22295436Sandrew		display0 = &hdmi0;
23279377Simp	};
24279377Simp
25279377Simp	memory {
26279377Simp		device_type = "memory";
27279377Simp		reg = <0x80000000 0x80000000>;
28279377Simp	};
29279377Simp
30279377Simp	vdd_3v3: fixedregulator-vdd_3v3 {
31279377Simp		compatible = "regulator-fixed";
32279377Simp		regulator-name = "vdd_3v3";
33279377Simp		vin-supply = <&regen1>;
34279377Simp		regulator-min-microvolt = <3300000>;
35279377Simp		regulator-max-microvolt = <3300000>;
36279377Simp	};
37279377Simp
38295436Sandrew	aic_dvdd: fixedregulator-aic_dvdd {
39295436Sandrew		compatible = "regulator-fixed";
40295436Sandrew		regulator-name = "aic_dvdd_fixed";
41295436Sandrew		vin-supply = <&vdd_3v3>;
42295436Sandrew		regulator-min-microvolt = <1800000>;
43295436Sandrew		regulator-max-microvolt = <1800000>;
44295436Sandrew	};
45295436Sandrew
46279377Simp	vtt_fixed: fixedregulator-vtt {
47279377Simp		/* TPS51200 */
48279377Simp		compatible = "regulator-fixed";
49279377Simp		regulator-name = "vtt_fixed";
50279377Simp		vin-supply = <&smps3_reg>;
51279377Simp		regulator-min-microvolt = <3300000>;
52279377Simp		regulator-max-microvolt = <3300000>;
53279377Simp		regulator-always-on;
54279377Simp		regulator-boot-on;
55279377Simp		enable-active-high;
56279377Simp		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
57279377Simp	};
58279377Simp
59279377Simp	leds {
60279377Simp		compatible = "gpio-leds";
61279377Simp		pinctrl-names = "default";
62279377Simp		pinctrl-0 = <&leds_pins_default>;
63279377Simp
64279377Simp		led@0 {
65279377Simp			label = "beagle-x15:usr0";
66279377Simp			gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
67279377Simp			linux,default-trigger = "heartbeat";
68279377Simp			default-state = "off";
69279377Simp		};
70279377Simp
71279377Simp		led@1 {
72279377Simp			label = "beagle-x15:usr1";
73279377Simp			gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
74279377Simp			linux,default-trigger = "cpu0";
75279377Simp			default-state = "off";
76279377Simp		};
77279377Simp
78279377Simp		led@2 {
79279377Simp			label = "beagle-x15:usr2";
80279377Simp			gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
81279377Simp			linux,default-trigger = "mmc0";
82279377Simp			default-state = "off";
83279377Simp		};
84279377Simp
85279377Simp		led@3 {
86279377Simp			label = "beagle-x15:usr3";
87279377Simp			gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
88279377Simp			linux,default-trigger = "ide-disk";
89279377Simp			default-state = "off";
90279377Simp		};
91279377Simp	};
92279377Simp
93279377Simp	gpio_fan: gpio_fan {
94279377Simp		/* Based on 5v 500mA AFB02505HHB */
95279377Simp		compatible = "gpio-fan";
96295436Sandrew		gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
97279377Simp		gpio-fan,speed-map = <0     0>,
98279377Simp				     <13000 1>;
99295436Sandrew		#cooling-cells = <2>;
100279377Simp	};
101279377Simp
102279377Simp	extcon_usb1: extcon_usb1 {
103279377Simp		compatible = "linux,extcon-usb-gpio";
104279377Simp		id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
105279377Simp		pinctrl-names = "default";
106279377Simp		pinctrl-0 = <&extcon_usb1_pins>;
107279377Simp	};
108279377Simp
109295436Sandrew	hdmi0: connector {
110295436Sandrew		compatible = "hdmi-connector";
111295436Sandrew		label = "hdmi";
112295436Sandrew
113295436Sandrew		type = "a";
114295436Sandrew
115295436Sandrew		port {
116295436Sandrew			hdmi_connector_in: endpoint {
117295436Sandrew				remote-endpoint = <&tpd12s015_out>;
118295436Sandrew			};
119295436Sandrew		};
120295436Sandrew	};
121295436Sandrew
122295436Sandrew	tpd12s015: encoder {
123295436Sandrew		compatible = "ti,tpd12s015";
124295436Sandrew
125279377Simp		pinctrl-names = "default";
126295436Sandrew		pinctrl-0 = <&tpd12s015_pins>;
127295436Sandrew
128295436Sandrew		gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>,	/* gpio7_10, CT CP HPD */
129295436Sandrew			<&gpio6 28 GPIO_ACTIVE_HIGH>,	/* gpio6_28, LS OE */
130295436Sandrew			<&gpio7 12 GPIO_ACTIVE_HIGH>;	/* gpio7_12/sp1_cs2, HPD */
131295436Sandrew
132295436Sandrew		ports {
133295436Sandrew			#address-cells = <1>;
134295436Sandrew			#size-cells = <0>;
135295436Sandrew
136295436Sandrew			port@0 {
137295436Sandrew				reg = <0>;
138295436Sandrew
139295436Sandrew				tpd12s015_in: endpoint {
140295436Sandrew					remote-endpoint = <&hdmi_out>;
141295436Sandrew				};
142295436Sandrew			};
143295436Sandrew
144295436Sandrew			port@1 {
145295436Sandrew				reg = <1>;
146295436Sandrew
147295436Sandrew				tpd12s015_out: endpoint {
148295436Sandrew					remote-endpoint = <&hdmi_connector_in>;
149295436Sandrew				};
150295436Sandrew			};
151295436Sandrew		};
152279377Simp	};
153295436Sandrew
154295436Sandrew	sound0: sound@0 {
155295436Sandrew		compatible = "simple-audio-card";
156295436Sandrew		simple-audio-card,name = "BeagleBoard-X15";
157295436Sandrew		simple-audio-card,widgets =
158295436Sandrew			"Line", "Line Out",
159295436Sandrew			"Line", "Line In";
160295436Sandrew		simple-audio-card,routing =
161295436Sandrew			"Line Out",	"LLOUT",
162295436Sandrew			"Line Out",	"RLOUT",
163295436Sandrew			"MIC2L",	"Line In",
164295436Sandrew			"MIC2R",	"Line In";
165295436Sandrew		simple-audio-card,format = "dsp_b";
166295436Sandrew		simple-audio-card,bitclock-master = <&sound0_master>;
167295436Sandrew		simple-audio-card,frame-master = <&sound0_master>;
168295436Sandrew		simple-audio-card,bitclock-inversion;
169295436Sandrew
170295436Sandrew		simple-audio-card,cpu {
171295436Sandrew			sound-dai = <&mcasp3>;
172295436Sandrew		};
173295436Sandrew
174295436Sandrew		sound0_master: simple-audio-card,codec {
175295436Sandrew			sound-dai = <&tlv320aic3104>;
176295436Sandrew			clocks = <&clkout2_clk>;
177295436Sandrew		};
178295436Sandrew	};
179279377Simp};
180279377Simp
181279377Simp&dra7_pmx_core {
182279377Simp	leds_pins_default: leds_pins_default {
183279377Simp		pinctrl-single,pins = <
184295436Sandrew			DRA7XX_CORE_IOPAD(0x37a8, PIN_OUTPUT | MUX_MODE14)	/* spi1_d1.gpio7_8 */
185295436Sandrew			DRA7XX_CORE_IOPAD(0x37ac, PIN_OUTPUT | MUX_MODE14)	/* spi1_d0.gpio7_9 */
186295436Sandrew			DRA7XX_CORE_IOPAD(0x37c0, PIN_OUTPUT | MUX_MODE14)	/* spi2_sclk.gpio7_14 */
187295436Sandrew			DRA7XX_CORE_IOPAD(0x37c4, PIN_OUTPUT | MUX_MODE14)	/* spi2_d1.gpio7_15 */
188279377Simp		>;
189279377Simp	};
190279377Simp
191279377Simp	i2c1_pins_default: i2c1_pins_default {
192279377Simp		pinctrl-single,pins = <
193295436Sandrew			DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda.sda */
194295436Sandrew			DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl.scl */
195279377Simp		>;
196279377Simp	};
197279377Simp
198295436Sandrew	hdmi_pins: pinmux_hdmi_pins {
199295436Sandrew		pinctrl-single,pins = <
200295436Sandrew			DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1)	/* i2c2_sda.hdmi1_ddc_scl */
201295436Sandrew			DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1)	/* i2c2_scl.hdmi1_ddc_sda */
202295436Sandrew		>;
203295436Sandrew	};
204295436Sandrew
205279377Simp	i2c3_pins_default: i2c3_pins_default {
206279377Simp		pinctrl-single,pins = <
207295436Sandrew			DRA7XX_CORE_IOPAD(0x36a4, PIN_INPUT| MUX_MODE10)	/* mcasp1_aclkx.i2c3_sda */
208295436Sandrew			DRA7XX_CORE_IOPAD(0x36a8, PIN_INPUT| MUX_MODE10)	/* mcasp1_fsx.i2c3_scl */
209279377Simp		>;
210279377Simp	};
211279377Simp
212279377Simp	uart3_pins_default: uart3_pins_default {
213279377Simp		pinctrl-single,pins = <
214295436Sandrew			DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */
215295436Sandrew			DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */
216279377Simp		>;
217279377Simp	};
218279377Simp
219279377Simp	mmc1_pins_default: mmc1_pins_default {
220279377Simp		pinctrl-single,pins = <
221295436Sandrew			DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14)	/* mmc1sdcd.gpio219 */
222295436Sandrew			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
223295436Sandrew			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
224295436Sandrew			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
225295436Sandrew			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
226295436Sandrew			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
227295436Sandrew			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
228279377Simp		>;
229279377Simp	};
230279377Simp
231279377Simp	mmc2_pins_default: mmc2_pins_default {
232279377Simp		pinctrl-single,pins = <
233295436Sandrew			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
234295436Sandrew			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
235295436Sandrew			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
236295436Sandrew			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
237295436Sandrew			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
238295436Sandrew			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
239295436Sandrew			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
240295436Sandrew			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
241295436Sandrew			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
242295436Sandrew			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
243279377Simp		>;
244279377Simp	};
245279377Simp
246279377Simp	cpsw_pins_default: cpsw_pins_default {
247279377Simp		pinctrl-single,pins = <
248279377Simp			/* Slave 1 */
249295436Sandrew			DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_tclk */
250295436Sandrew			DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_tctl */
251295436Sandrew			DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td3 */
252295436Sandrew			DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td2 */
253295436Sandrew			DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td1 */
254295436Sandrew			DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0)	/* rgmii1_td0 */
255295436Sandrew			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0)	/* rgmii1_rclk */
256295436Sandrew			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0)	/* rgmii1_rctl */
257295436Sandrew			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0)	/* rgmii1_rd3 */
258295436Sandrew			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0)	/* rgmii1_rd2 */
259295436Sandrew			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0)	/* rgmii1_rd1 */
260295436Sandrew			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0)	/* rgmii1_rd0 */
261279377Simp
262279377Simp			/* Slave 2 */
263295436Sandrew			DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_tclk */
264295436Sandrew			DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_tctl */
265295436Sandrew			DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td3 */
266295436Sandrew			DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td2 */
267295436Sandrew			DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td1 */
268295436Sandrew			DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3)	/* rgmii2_td0 */
269295436Sandrew			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3)	/* rgmii2_rclk */
270295436Sandrew			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3)	/* rgmii2_rctl */
271295436Sandrew			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3)	/* rgmii2_rd3 */
272295436Sandrew			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3)	/* rgmii2_rd2 */
273295436Sandrew			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3)	/* rgmii2_rd1 */
274295436Sandrew			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3)	/* rgmii2_rd0 */
275279377Simp		>;
276279377Simp
277279377Simp	};
278279377Simp
279279377Simp	cpsw_pins_sleep: cpsw_pins_sleep {
280279377Simp		pinctrl-single,pins = <
281279377Simp			/* Slave 1 */
282295436Sandrew			DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15)
283295436Sandrew			DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15)
284295436Sandrew			DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15)
285295436Sandrew			DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15)
286295436Sandrew			DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15)
287295436Sandrew			DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15)
288295436Sandrew			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15)
289295436Sandrew			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE15)
290295436Sandrew			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15)
291295436Sandrew			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15)
292295436Sandrew			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15)
293295436Sandrew			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15)
294279377Simp
295279377Simp			/* Slave 2 */
296295436Sandrew			DRA7XX_CORE_IOPAD(0x3598, PIN_INPUT | MUX_MODE15)
297295436Sandrew			DRA7XX_CORE_IOPAD(0x359c, PIN_INPUT | MUX_MODE15)
298295436Sandrew			DRA7XX_CORE_IOPAD(0x35a0, PIN_INPUT | MUX_MODE15)
299295436Sandrew			DRA7XX_CORE_IOPAD(0x35a4, PIN_INPUT | MUX_MODE15)
300295436Sandrew			DRA7XX_CORE_IOPAD(0x35a8, PIN_INPUT | MUX_MODE15)
301295436Sandrew			DRA7XX_CORE_IOPAD(0x35ac, PIN_INPUT | MUX_MODE15)
302295436Sandrew			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE15)
303295436Sandrew			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE15)
304295436Sandrew			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE15)
305295436Sandrew			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE15)
306295436Sandrew			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE15)
307295436Sandrew			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE15)
308279377Simp		>;
309279377Simp	};
310279377Simp
311279377Simp	davinci_mdio_pins_default: davinci_mdio_pins_default {
312279377Simp		pinctrl-single,pins = <
313279377Simp			/* MDIO */
314295436Sandrew			DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0)	/* mdio_mclk */
315295436Sandrew			DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0)	/* mdio_d */
316279377Simp		>;
317279377Simp	};
318279377Simp
319279377Simp	davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
320279377Simp		pinctrl-single,pins = <
321295436Sandrew			DRA7XX_CORE_IOPAD(0x363c, PIN_INPUT | MUX_MODE15)
322295436Sandrew			DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT | MUX_MODE15)
323279377Simp		>;
324279377Simp	};
325279377Simp
326279377Simp	tps659038_pins_default: tps659038_pins_default {
327279377Simp		pinctrl-single,pins = <
328295436Sandrew			DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14)	/* wakeup0.gpio1_0 */
329279377Simp		>;
330279377Simp	};
331279377Simp
332279377Simp	tmp102_pins_default: tmp102_pins_default {
333279377Simp		pinctrl-single,pins = <
334295436Sandrew			DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_PULLUP | MUX_MODE14)	/* spi2_d0.gpio7_16 */
335279377Simp		>;
336279377Simp	};
337279377Simp
338279377Simp	mcp79410_pins_default: mcp79410_pins_default {
339279377Simp		pinctrl-single,pins = <
340295436Sandrew			DRA7XX_CORE_IOPAD(0x3824, PIN_INPUT_PULLUP | MUX_MODE1)	/* wakeup3.sys_nirq1 */
341279377Simp		>;
342279377Simp	};
343279377Simp
344279377Simp	usb1_pins: pinmux_usb1_pins {
345279377Simp		pinctrl-single,pins = <
346295436Sandrew			DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
347279377Simp		>;
348279377Simp	};
349279377Simp
350279377Simp	extcon_usb1_pins: extcon_usb1_pins {
351279377Simp		pinctrl-single,pins = <
352295436Sandrew			DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
353279377Simp		>;
354279377Simp	};
355279377Simp
356295436Sandrew	tpd12s015_pins: pinmux_tpd12s015_pins {
357279377Simp		pinctrl-single,pins = <
358295436Sandrew			DRA7XX_CORE_IOPAD(0x37b0, PIN_OUTPUT | MUX_MODE14)		/* gpio7_10 CT_CP_HPD */
359295436Sandrew			DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_PULLDOWN | MUX_MODE14)	/* gpio7_12 HPD */
360295436Sandrew			DRA7XX_CORE_IOPAD(0x3770, PIN_OUTPUT | MUX_MODE14)		/* gpio6_28 LS_OE */
361279377Simp		>;
362279377Simp	};
363295436Sandrew
364295436Sandrew	clkout2_pins_default: clkout2_pins_default {
365295436Sandrew		pinctrl-single,pins = <
366295436Sandrew			DRA7XX_CORE_IOPAD(0x3694, PIN_OUTPUT_PULLDOWN | MUX_MODE9)	/* xref_clk0.clkout2 */
367295436Sandrew		>;
368295436Sandrew	};
369295436Sandrew
370295436Sandrew	clkout2_pins_sleep: clkout2_pins_sleep {
371295436Sandrew		pinctrl-single,pins = <
372295436Sandrew			DRA7XX_CORE_IOPAD(0x3694, PIN_INPUT | MUX_MODE15)	/* xref_clk0.clkout2 */
373295436Sandrew		>;
374295436Sandrew	};
375295436Sandrew
376295436Sandrew	mcasp3_pins_default: mcasp3_pins_default {
377295436Sandrew		pinctrl-single,pins = <
378295436Sandrew			DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */
379295436Sandrew			DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */
380295436Sandrew			DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */
381295436Sandrew			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */
382295436Sandrew		>;
383295436Sandrew	};
384295436Sandrew
385295436Sandrew	mcasp3_pins_sleep: mcasp3_pins_sleep {
386295436Sandrew		pinctrl-single,pins = <
387295436Sandrew			DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT | MUX_MODE15)
388295436Sandrew			DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT | MUX_MODE15)
389295436Sandrew			DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT | MUX_MODE15)
390295436Sandrew			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT | MUX_MODE15)
391295436Sandrew		>;
392295436Sandrew	};
393279377Simp};
394279377Simp
395279377Simp&i2c1 {
396279377Simp	status = "okay";
397279377Simp	pinctrl-names = "default";
398279377Simp	pinctrl-0 = <&i2c1_pins_default>;
399279377Simp	clock-frequency = <400000>;
400279377Simp
401279377Simp	tps659038: tps659038@58 {
402279377Simp		compatible = "ti,tps659038";
403279377Simp		reg = <0x58>;
404279377Simp		interrupt-parent = <&gpio1>;
405279377Simp		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
406279377Simp
407279377Simp		pinctrl-names = "default";
408279377Simp		pinctrl-0 = <&tps659038_pins_default>;
409279377Simp
410279377Simp		#interrupt-cells = <2>;
411279377Simp		interrupt-controller;
412279377Simp
413279377Simp		ti,system-power-controller;
414279377Simp
415279377Simp		tps659038_pmic {
416279377Simp			compatible = "ti,tps659038-pmic";
417279377Simp
418279377Simp			regulators {
419279377Simp				smps12_reg: smps12 {
420279377Simp					/* VDD_MPU */
421279377Simp					regulator-name = "smps12";
422279377Simp					regulator-min-microvolt = < 850000>;
423279377Simp					regulator-max-microvolt = <1250000>;
424279377Simp					regulator-always-on;
425279377Simp					regulator-boot-on;
426279377Simp				};
427279377Simp
428279377Simp				smps3_reg: smps3 {
429279377Simp					/* VDD_DDR */
430279377Simp					regulator-name = "smps3";
431279377Simp					regulator-min-microvolt = <1350000>;
432279377Simp					regulator-max-microvolt = <1350000>;
433279377Simp					regulator-always-on;
434279377Simp					regulator-boot-on;
435279377Simp				};
436279377Simp
437279377Simp				smps45_reg: smps45 {
438279377Simp					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
439279377Simp					regulator-name = "smps45";
440279377Simp					regulator-min-microvolt = < 850000>;
441279377Simp					regulator-max-microvolt = <1150000>;
442279377Simp					regulator-always-on;
443279377Simp					regulator-boot-on;
444279377Simp				};
445279377Simp
446279377Simp				smps6_reg: smps6 {
447279377Simp					/* VDD_CORE */
448279377Simp					regulator-name = "smps6";
449279377Simp					regulator-min-microvolt = <850000>;
450279377Simp					regulator-max-microvolt = <1030000>;
451279377Simp					regulator-always-on;
452279377Simp					regulator-boot-on;
453279377Simp				};
454279377Simp
455279377Simp				/* SMPS7 unused */
456279377Simp
457279377Simp				smps8_reg: smps8 {
458279377Simp					/* VDD_1V8 */
459279377Simp					regulator-name = "smps8";
460279377Simp					regulator-min-microvolt = <1800000>;
461279377Simp					regulator-max-microvolt = <1800000>;
462279377Simp					regulator-always-on;
463279377Simp					regulator-boot-on;
464279377Simp				};
465279377Simp
466279377Simp				/* SMPS9 unused */
467279377Simp
468279377Simp				ldo1_reg: ldo1 {
469295436Sandrew					/* VDD_SD / VDDSHV8  */
470279377Simp					regulator-name = "ldo1";
471279377Simp					regulator-min-microvolt = <1800000>;
472279377Simp					regulator-max-microvolt = <3300000>;
473279377Simp					regulator-boot-on;
474295436Sandrew					regulator-always-on;
475279377Simp				};
476279377Simp
477279377Simp				ldo2_reg: ldo2 {
478279377Simp					/* VDD_SHV5 */
479279377Simp					regulator-name = "ldo2";
480279377Simp					regulator-min-microvolt = <3300000>;
481279377Simp					regulator-max-microvolt = <3300000>;
482279377Simp					regulator-always-on;
483279377Simp					regulator-boot-on;
484279377Simp				};
485279377Simp
486279377Simp				ldo3_reg: ldo3 {
487295436Sandrew					/* VDDA_1V8_PHYA */
488279377Simp					regulator-name = "ldo3";
489279377Simp					regulator-min-microvolt = <1800000>;
490279377Simp					regulator-max-microvolt = <1800000>;
491279377Simp					regulator-always-on;
492279377Simp					regulator-boot-on;
493279377Simp				};
494279377Simp
495295436Sandrew				ldo4_reg: ldo4 {
496295436Sandrew					/* VDDA_1V8_PHYB */
497295436Sandrew					regulator-name = "ldo4";
498295436Sandrew					regulator-min-microvolt = <1800000>;
499295436Sandrew					regulator-max-microvolt = <1800000>;
500295436Sandrew					regulator-always-on;
501295436Sandrew					regulator-boot-on;
502295436Sandrew				};
503295436Sandrew
504279377Simp				ldo9_reg: ldo9 {
505279377Simp					/* VDD_RTC */
506279377Simp					regulator-name = "ldo9";
507279377Simp					regulator-min-microvolt = <1050000>;
508279377Simp					regulator-max-microvolt = <1050000>;
509279377Simp					regulator-always-on;
510279377Simp					regulator-boot-on;
511279377Simp				};
512279377Simp
513279377Simp				ldoln_reg: ldoln {
514279377Simp					/* VDDA_1V8_PLL */
515279377Simp					regulator-name = "ldoln";
516279377Simp					regulator-min-microvolt = <1800000>;
517279377Simp					regulator-max-microvolt = <1800000>;
518279377Simp					regulator-always-on;
519279377Simp					regulator-boot-on;
520279377Simp				};
521279377Simp
522279377Simp				ldousb_reg: ldousb {
523279377Simp					/* VDDA_3V_USB: VDDA_USBHS33 */
524279377Simp					regulator-name = "ldousb";
525279377Simp					regulator-min-microvolt = <3300000>;
526279377Simp					regulator-max-microvolt = <3300000>;
527279377Simp					regulator-boot-on;
528279377Simp				};
529279377Simp
530279377Simp				regen1: regen1 {
531279377Simp					/* VDD_3V3_ON */
532279377Simp					regulator-name = "regen1";
533279377Simp					regulator-boot-on;
534279377Simp					regulator-always-on;
535279377Simp				};
536279377Simp			};
537279377Simp		};
538279377Simp
539279377Simp		tps659038_rtc: tps659038_rtc {
540279377Simp			compatible = "ti,palmas-rtc";
541279377Simp			interrupt-parent = <&tps659038>;
542279377Simp			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
543279377Simp			wakeup-source;
544279377Simp		};
545279377Simp
546279377Simp		tps659038_pwr_button: tps659038_pwr_button {
547279377Simp			compatible = "ti,palmas-pwrbutton";
548279377Simp			interrupt-parent = <&tps659038>;
549279377Simp			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
550279377Simp			wakeup-source;
551279377Simp			ti,palmas-long-press-seconds = <12>;
552279377Simp		};
553279377Simp
554279377Simp		tps659038_gpio: tps659038_gpio {
555279377Simp			compatible = "ti,palmas-gpio";
556279377Simp			gpio-controller;
557279377Simp			#gpio-cells = <2>;
558279377Simp		};
559295436Sandrew
560295436Sandrew		extcon_usb2: tps659038_usb {
561295436Sandrew			compatible = "ti,palmas-usb-vid";
562295436Sandrew			ti,enable-vbus-detection;
563295436Sandrew			ti,enable-id-detection;
564295436Sandrew			id-gpios = <&gpio7 24 GPIO_ACTIVE_HIGH>;
565295436Sandrew		};
566295436Sandrew
567279377Simp	};
568279377Simp
569279377Simp	tmp102: tmp102@48 {
570279377Simp		compatible = "ti,tmp102";
571279377Simp		reg = <0x48>;
572279377Simp		pinctrl-names = "default";
573279377Simp		pinctrl-0 = <&tmp102_pins_default>;
574279377Simp		interrupt-parent = <&gpio7>;
575279377Simp		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
576295436Sandrew		#thermal-sensor-cells = <1>;
577279377Simp	};
578295436Sandrew
579295436Sandrew	tlv320aic3104: tlv320aic3104@18 {
580295436Sandrew		#sound-dai-cells = <0>;
581295436Sandrew		compatible = "ti,tlv320aic3104";
582295436Sandrew		reg = <0x18>;
583295436Sandrew		pinctrl-names = "default", "sleep";
584295436Sandrew		pinctrl-0 = <&clkout2_pins_default>;
585295436Sandrew		pinctrl-1 = <&clkout2_pins_sleep>;
586295436Sandrew		status = "okay";
587295436Sandrew		adc-settle-ms = <40>;
588295436Sandrew
589295436Sandrew		AVDD-supply = <&vdd_3v3>;
590295436Sandrew		IOVDD-supply = <&vdd_3v3>;
591295436Sandrew		DRVDD-supply = <&vdd_3v3>;
592295436Sandrew		DVDD-supply = <&aic_dvdd>;
593295436Sandrew	};
594279377Simp};
595279377Simp
596279377Simp&i2c3 {
597279377Simp	status = "okay";
598279377Simp	pinctrl-names = "default";
599279377Simp	pinctrl-0 = <&i2c3_pins_default>;
600279377Simp	clock-frequency = <400000>;
601279377Simp
602279377Simp	mcp_rtc: rtc@6f {
603279377Simp		compatible = "microchip,mcp7941x";
604279377Simp		reg = <0x6f>;
605295436Sandrew		interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
606295436Sandrew				      <&dra7_pmx_core 0x424>;
607295436Sandrew		interrupt-names = "irq", "wakeup";
608279377Simp
609279377Simp		pinctrl-names = "default";
610279377Simp		pinctrl-0 = <&mcp79410_pins_default>;
611279377Simp
612279377Simp		vcc-supply = <&vdd_3v3>;
613279377Simp		wakeup-source;
614279377Simp	};
615279377Simp};
616279377Simp
617279377Simp&gpio7 {
618279377Simp	ti,no-reset-on-init;
619279377Simp	ti,no-idle-on-init;
620279377Simp};
621279377Simp
622279377Simp&cpu0 {
623279377Simp	cpu0-supply = <&smps12_reg>;
624279377Simp	voltage-tolerance = <1>;
625279377Simp};
626279377Simp
627279377Simp&uart3 {
628279377Simp	status = "okay";
629295436Sandrew	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
630295436Sandrew			      <&dra7_pmx_core 0x3f8>;
631279377Simp
632279377Simp	pinctrl-names = "default";
633279377Simp	pinctrl-0 = <&uart3_pins_default>;
634279377Simp};
635279377Simp
636279377Simp&mac {
637279377Simp	status = "okay";
638279377Simp	pinctrl-names = "default", "sleep";
639279377Simp	pinctrl-0 = <&cpsw_pins_default>;
640279377Simp	pinctrl-1 = <&cpsw_pins_sleep>;
641279377Simp	dual_emac;
642279377Simp};
643279377Simp
644279377Simp&cpsw_emac0 {
645279377Simp	phy_id = <&davinci_mdio>, <1>;
646279377Simp	phy-mode = "rgmii";
647279377Simp	dual_emac_res_vlan = <1>;
648279377Simp};
649279377Simp
650279377Simp&cpsw_emac1 {
651279377Simp	phy_id = <&davinci_mdio>, <2>;
652279377Simp	phy-mode = "rgmii";
653279377Simp	dual_emac_res_vlan = <2>;
654279377Simp};
655279377Simp
656279377Simp&davinci_mdio {
657279377Simp	pinctrl-names = "default", "sleep";
658279377Simp	pinctrl-0 = <&davinci_mdio_pins_default>;
659279377Simp	pinctrl-1 = <&davinci_mdio_pins_sleep>;
660279377Simp};
661279377Simp
662279377Simp&mmc1 {
663279377Simp	status = "okay";
664279377Simp
665279377Simp	pinctrl-names = "default";
666279377Simp	pinctrl-0 = <&mmc1_pins_default>;
667279377Simp
668279377Simp	vmmc-supply = <&ldo1_reg>;
669279377Simp	bus-width = <4>;
670295436Sandrew	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
671279377Simp};
672279377Simp
673279377Simp&mmc2 {
674279377Simp	status = "okay";
675279377Simp
676279377Simp	pinctrl-names = "default";
677279377Simp	pinctrl-0 = <&mmc2_pins_default>;
678279377Simp
679279377Simp	vmmc-supply = <&vdd_3v3>;
680279377Simp	bus-width = <8>;
681279377Simp	ti,non-removable;
682279377Simp	cap-mmc-dual-data-rate;
683279377Simp};
684279377Simp
685279377Simp&sata {
686279377Simp	status = "okay";
687279377Simp};
688279377Simp
689279377Simp&usb2_phy1 {
690279377Simp	phy-supply = <&ldousb_reg>;
691279377Simp};
692279377Simp
693295436Sandrew&usb2_phy2 {
694295436Sandrew	phy-supply = <&ldousb_reg>;
695295436Sandrew};
696295436Sandrew
697279377Simp&usb1 {
698279377Simp	dr_mode = "host";
699279377Simp	pinctrl-names = "default";
700279377Simp	pinctrl-0 = <&usb1_pins>;
701279377Simp};
702279377Simp
703279377Simp&omap_dwc3_1 {
704279377Simp	extcon = <&extcon_usb1>;
705279377Simp};
706279377Simp
707279377Simp&omap_dwc3_2 {
708279377Simp	extcon = <&extcon_usb2>;
709279377Simp};
710279377Simp
711279377Simp&usb2 {
712295436Sandrew	/*
713295436Sandrew	 * Stand alone usage is peripheral only.
714295436Sandrew	 * However, with some resistor modifications
715295436Sandrew	 * this port can be used via expansion connectors
716295436Sandrew	 * as "host" or "dual-role". If so, provide
717295436Sandrew	 * the necessary dr_mode override in the expansion
718295436Sandrew	 * board's DT.
719295436Sandrew	 */
720279377Simp	dr_mode = "peripheral";
721279377Simp};
722295436Sandrew
723295436Sandrew&cpu_trips {
724295436Sandrew	cpu_alert1: cpu_alert1 {
725295436Sandrew		temperature = <50000>; /* millicelsius */
726295436Sandrew		hysteresis = <2000>; /* millicelsius */
727295436Sandrew		type = "active";
728295436Sandrew	};
729295436Sandrew};
730295436Sandrew
731295436Sandrew&cpu_cooling_maps {
732295436Sandrew	map1 {
733295436Sandrew		trip = <&cpu_alert1>;
734295436Sandrew		cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
735295436Sandrew	};
736295436Sandrew};
737295436Sandrew
738295436Sandrew&thermal_zones {
739295436Sandrew	board_thermal: board_thermal {
740295436Sandrew		polling-delay-passive = <1250>; /* milliseconds */
741295436Sandrew		polling-delay = <1500>; /* milliseconds */
742295436Sandrew
743295436Sandrew				/* sensor       ID */
744295436Sandrew		thermal-sensors = <&tmp102     0>;
745295436Sandrew
746295436Sandrew		board_trips: trips {
747295436Sandrew			board_alert0: board_alert {
748295436Sandrew				temperature = <40000>; /* millicelsius */
749295436Sandrew				hysteresis = <2000>; /* millicelsius */
750295436Sandrew				type = "active";
751295436Sandrew			};
752295436Sandrew
753295436Sandrew			board_crit: board_crit {
754295436Sandrew				temperature = <105000>; /* millicelsius */
755295436Sandrew				hysteresis = <0>; /* millicelsius */
756295436Sandrew				type = "critical";
757295436Sandrew			};
758295436Sandrew		};
759295436Sandrew
760295436Sandrew		board_cooling_maps: cooling-maps {
761295436Sandrew			map0 {
762295436Sandrew				trip = <&board_alert0>;
763295436Sandrew				cooling-device =
764295436Sandrew				  <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
765295436Sandrew			};
766295436Sandrew		};
767295436Sandrew       };
768295436Sandrew};
769295436Sandrew
770295436Sandrew&dss {
771295436Sandrew	status = "ok";
772295436Sandrew
773295436Sandrew	vdda_video-supply = <&ldoln_reg>;
774295436Sandrew};
775295436Sandrew
776295436Sandrew&hdmi {
777295436Sandrew	status = "ok";
778295436Sandrew	vdda-supply = <&ldo4_reg>;
779295436Sandrew
780295436Sandrew	pinctrl-names = "default";
781295436Sandrew	pinctrl-0 = <&hdmi_pins>;
782295436Sandrew
783295436Sandrew	port {
784295436Sandrew		hdmi_out: endpoint {
785295436Sandrew			remote-endpoint = <&tpd12s015_in>;
786295436Sandrew		};
787295436Sandrew	};
788295436Sandrew};
789295436Sandrew
790295436Sandrew&pcie1 {
791295436Sandrew	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
792295436Sandrew};
793295436Sandrew
794295436Sandrew&mcasp3 {
795295436Sandrew	#sound-dai-cells = <0>;
796295436Sandrew	pinctrl-names = "default", "sleep";
797295436Sandrew	pinctrl-0 = <&mcasp3_pins_default>;
798295436Sandrew	pinctrl-1 = <&mcasp3_pins_sleep>;
799295436Sandrew	status = "okay";
800295436Sandrew
801295436Sandrew	op-mode = <0>;	/* MCASP_IIS_MODE */
802295436Sandrew	tdm-slots = <2>;
803295436Sandrew	/* 4 serializers */
804295436Sandrew	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
805295436Sandrew		1 2 0 0
806295436Sandrew	>;
807295436Sandrew};
808295436Sandrew
809295436Sandrew&mailbox5 {
810295436Sandrew	status = "okay";
811295436Sandrew	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
812295436Sandrew		status = "okay";
813295436Sandrew	};
814295436Sandrew	mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
815295436Sandrew		status = "okay";
816295436Sandrew	};
817295436Sandrew};
818295436Sandrew
819295436Sandrew&mailbox6 {
820295436Sandrew	status = "okay";
821295436Sandrew	mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
822295436Sandrew		status = "okay";
823295436Sandrew	};
824295436Sandrew	mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
825295436Sandrew		status = "okay";
826295436Sandrew	};
827295436Sandrew};
828