xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (C) 2014-2016 Texas Instruments Incorporated - https://www.ti.com/
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun/dts-v1/;
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "am5728.dtsi"
8*4882a593Smuzhiyun#include "am57xx-commercial-grade.dtsi"
9*4882a593Smuzhiyun#include "dra74x-mmc-iodelay.dtsi"
10*4882a593Smuzhiyun#include "dra74-ipu-dsp-common.dtsi"
11*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun/ {
15*4882a593Smuzhiyun	compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	aliases {
18*4882a593Smuzhiyun		rtc0 = &mcp_rtc;
19*4882a593Smuzhiyun		rtc1 = &tps659038_rtc;
20*4882a593Smuzhiyun		rtc2 = &rtc;
21*4882a593Smuzhiyun		display0 = &hdmi0;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	chosen {
25*4882a593Smuzhiyun		stdout-path = &uart3;
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	memory@0 {
29*4882a593Smuzhiyun		device_type = "memory";
30*4882a593Smuzhiyun		reg = <0x0 0x80000000 0x0 0x80000000>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	main_12v0: fixedregulator-main_12v0 {
34*4882a593Smuzhiyun		/* main supply */
35*4882a593Smuzhiyun		compatible = "regulator-fixed";
36*4882a593Smuzhiyun		regulator-name = "main_12v0";
37*4882a593Smuzhiyun		regulator-min-microvolt = <12000000>;
38*4882a593Smuzhiyun		regulator-max-microvolt = <12000000>;
39*4882a593Smuzhiyun		regulator-always-on;
40*4882a593Smuzhiyun		regulator-boot-on;
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	evm_5v0: fixedregulator-evm_5v0 {
44*4882a593Smuzhiyun		/* Output of TPS54531D */
45*4882a593Smuzhiyun		compatible = "regulator-fixed";
46*4882a593Smuzhiyun		regulator-name = "evm_5v0";
47*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
48*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
49*4882a593Smuzhiyun		vin-supply = <&main_12v0>;
50*4882a593Smuzhiyun		regulator-always-on;
51*4882a593Smuzhiyun		regulator-boot-on;
52*4882a593Smuzhiyun	};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	reserved-memory {
55*4882a593Smuzhiyun		#address-cells = <2>;
56*4882a593Smuzhiyun		#size-cells = <2>;
57*4882a593Smuzhiyun		ranges;
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		ipu2_memory_region: ipu2-memory@95800000 {
60*4882a593Smuzhiyun			compatible = "shared-dma-pool";
61*4882a593Smuzhiyun			reg = <0x0 0x95800000 0x0 0x3800000>;
62*4882a593Smuzhiyun			reusable;
63*4882a593Smuzhiyun			status = "okay";
64*4882a593Smuzhiyun		};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		dsp1_memory_region: dsp1-memory@99000000 {
67*4882a593Smuzhiyun			compatible = "shared-dma-pool";
68*4882a593Smuzhiyun			reg = <0x0 0x99000000 0x0 0x4000000>;
69*4882a593Smuzhiyun			reusable;
70*4882a593Smuzhiyun			status = "okay";
71*4882a593Smuzhiyun		};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun		ipu1_memory_region: ipu1-memory@9d000000 {
74*4882a593Smuzhiyun			compatible = "shared-dma-pool";
75*4882a593Smuzhiyun			reg = <0x0 0x9d000000 0x0 0x2000000>;
76*4882a593Smuzhiyun			reusable;
77*4882a593Smuzhiyun			status = "okay";
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		dsp2_memory_region: dsp2-memory@9f000000 {
81*4882a593Smuzhiyun			compatible = "shared-dma-pool";
82*4882a593Smuzhiyun			reg = <0x0 0x9f000000 0x0 0x800000>;
83*4882a593Smuzhiyun			reusable;
84*4882a593Smuzhiyun			status = "okay";
85*4882a593Smuzhiyun		};
86*4882a593Smuzhiyun	};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun	vdd_3v3: fixedregulator-vdd_3v3 {
89*4882a593Smuzhiyun		compatible = "regulator-fixed";
90*4882a593Smuzhiyun		regulator-name = "vdd_3v3";
91*4882a593Smuzhiyun		vin-supply = <&regen1>;
92*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
93*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
94*4882a593Smuzhiyun	};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	aic_dvdd: fixedregulator-aic_dvdd {
97*4882a593Smuzhiyun		compatible = "regulator-fixed";
98*4882a593Smuzhiyun		regulator-name = "aic_dvdd_fixed";
99*4882a593Smuzhiyun		vin-supply = <&vdd_3v3>;
100*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
101*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	vtt_fixed: fixedregulator-vtt {
105*4882a593Smuzhiyun		/* TPS51200 */
106*4882a593Smuzhiyun		compatible = "regulator-fixed";
107*4882a593Smuzhiyun		regulator-name = "vtt_fixed";
108*4882a593Smuzhiyun		vin-supply = <&smps3_reg>;
109*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
110*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
111*4882a593Smuzhiyun		regulator-always-on;
112*4882a593Smuzhiyun		regulator-boot-on;
113*4882a593Smuzhiyun		enable-active-high;
114*4882a593Smuzhiyun		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
115*4882a593Smuzhiyun	};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	leds {
118*4882a593Smuzhiyun		compatible = "gpio-leds";
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		led0 {
121*4882a593Smuzhiyun			label = "beagle-x15:usr0";
122*4882a593Smuzhiyun			gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
123*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
124*4882a593Smuzhiyun			default-state = "off";
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun		led1 {
128*4882a593Smuzhiyun			label = "beagle-x15:usr1";
129*4882a593Smuzhiyun			gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
130*4882a593Smuzhiyun			linux,default-trigger = "cpu0";
131*4882a593Smuzhiyun			default-state = "off";
132*4882a593Smuzhiyun		};
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun		led2 {
135*4882a593Smuzhiyun			label = "beagle-x15:usr2";
136*4882a593Smuzhiyun			gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
137*4882a593Smuzhiyun			linux,default-trigger = "mmc0";
138*4882a593Smuzhiyun			default-state = "off";
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		led3 {
142*4882a593Smuzhiyun			label = "beagle-x15:usr3";
143*4882a593Smuzhiyun			gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
144*4882a593Smuzhiyun			linux,default-trigger = "disk-activity";
145*4882a593Smuzhiyun			default-state = "off";
146*4882a593Smuzhiyun		};
147*4882a593Smuzhiyun	};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	gpio_fan: gpio_fan {
150*4882a593Smuzhiyun		/* Based on 5v 500mA AFB02505HHB */
151*4882a593Smuzhiyun		compatible = "gpio-fan";
152*4882a593Smuzhiyun		gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
153*4882a593Smuzhiyun		gpio-fan,speed-map = <0     0>,
154*4882a593Smuzhiyun				     <13000 1>;
155*4882a593Smuzhiyun		#cooling-cells = <2>;
156*4882a593Smuzhiyun	};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun	hdmi0: connector {
159*4882a593Smuzhiyun		compatible = "hdmi-connector";
160*4882a593Smuzhiyun		label = "hdmi";
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun		type = "a";
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun		port {
165*4882a593Smuzhiyun			hdmi_connector_in: endpoint {
166*4882a593Smuzhiyun				remote-endpoint = <&tpd12s015_out>;
167*4882a593Smuzhiyun			};
168*4882a593Smuzhiyun		};
169*4882a593Smuzhiyun	};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun	tpd12s015: encoder {
172*4882a593Smuzhiyun		compatible = "ti,tpd12s015";
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun		ports {
175*4882a593Smuzhiyun			#address-cells = <1>;
176*4882a593Smuzhiyun			#size-cells = <0>;
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun			port@0 {
179*4882a593Smuzhiyun				reg = <0>;
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun				tpd12s015_in: endpoint {
182*4882a593Smuzhiyun					remote-endpoint = <&hdmi_out>;
183*4882a593Smuzhiyun				};
184*4882a593Smuzhiyun			};
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun			port@1 {
187*4882a593Smuzhiyun				reg = <1>;
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun				tpd12s015_out: endpoint {
190*4882a593Smuzhiyun					remote-endpoint = <&hdmi_connector_in>;
191*4882a593Smuzhiyun				};
192*4882a593Smuzhiyun			};
193*4882a593Smuzhiyun		};
194*4882a593Smuzhiyun	};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun	sound0: sound0 {
197*4882a593Smuzhiyun		compatible = "simple-audio-card";
198*4882a593Smuzhiyun		simple-audio-card,name = "BeagleBoard-X15";
199*4882a593Smuzhiyun		simple-audio-card,widgets =
200*4882a593Smuzhiyun			"Line", "Line Out",
201*4882a593Smuzhiyun			"Line", "Line In";
202*4882a593Smuzhiyun		simple-audio-card,routing =
203*4882a593Smuzhiyun			"Line Out",	"LLOUT",
204*4882a593Smuzhiyun			"Line Out",	"RLOUT",
205*4882a593Smuzhiyun			"MIC2L",	"Line In",
206*4882a593Smuzhiyun			"MIC2R",	"Line In";
207*4882a593Smuzhiyun		simple-audio-card,format = "dsp_b";
208*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sound0_master>;
209*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sound0_master>;
210*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion;
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun		simple-audio-card,cpu {
213*4882a593Smuzhiyun			sound-dai = <&mcasp3>;
214*4882a593Smuzhiyun		};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun		sound0_master: simple-audio-card,codec {
217*4882a593Smuzhiyun			sound-dai = <&tlv320aic3104>;
218*4882a593Smuzhiyun			clocks = <&clkout2_clk>;
219*4882a593Smuzhiyun		};
220*4882a593Smuzhiyun	};
221*4882a593Smuzhiyun};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun&i2c1 {
224*4882a593Smuzhiyun	status = "okay";
225*4882a593Smuzhiyun	clock-frequency = <400000>;
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun	tps659038: tps659038@58 {
228*4882a593Smuzhiyun		compatible = "ti,tps659038";
229*4882a593Smuzhiyun		reg = <0x58>;
230*4882a593Smuzhiyun		interrupt-parent = <&gpio1>;
231*4882a593Smuzhiyun		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun		#interrupt-cells = <2>;
234*4882a593Smuzhiyun		interrupt-controller;
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun		ti,system-power-controller;
237*4882a593Smuzhiyun		ti,palmas-override-powerhold;
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun		tps659038_pmic {
240*4882a593Smuzhiyun			compatible = "ti,tps659038-pmic";
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun			regulators {
243*4882a593Smuzhiyun				smps12_reg: smps12 {
244*4882a593Smuzhiyun					/* VDD_MPU */
245*4882a593Smuzhiyun					regulator-name = "smps12";
246*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
247*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
248*4882a593Smuzhiyun					regulator-always-on;
249*4882a593Smuzhiyun					regulator-boot-on;
250*4882a593Smuzhiyun				};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun				smps3_reg: smps3 {
253*4882a593Smuzhiyun					/* VDD_DDR */
254*4882a593Smuzhiyun					regulator-name = "smps3";
255*4882a593Smuzhiyun					regulator-min-microvolt = <1350000>;
256*4882a593Smuzhiyun					regulator-max-microvolt = <1350000>;
257*4882a593Smuzhiyun					regulator-always-on;
258*4882a593Smuzhiyun					regulator-boot-on;
259*4882a593Smuzhiyun				};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun				smps45_reg: smps45 {
262*4882a593Smuzhiyun					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
263*4882a593Smuzhiyun					regulator-name = "smps45";
264*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
265*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
266*4882a593Smuzhiyun					regulator-always-on;
267*4882a593Smuzhiyun					regulator-boot-on;
268*4882a593Smuzhiyun				};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun				smps6_reg: smps6 {
271*4882a593Smuzhiyun					/* VDD_CORE */
272*4882a593Smuzhiyun					regulator-name = "smps6";
273*4882a593Smuzhiyun					regulator-min-microvolt = <850000>;
274*4882a593Smuzhiyun					regulator-max-microvolt = <1150000>;
275*4882a593Smuzhiyun					regulator-always-on;
276*4882a593Smuzhiyun					regulator-boot-on;
277*4882a593Smuzhiyun				};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun				/* SMPS7 unused */
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun				smps8_reg: smps8 {
282*4882a593Smuzhiyun					/* VDD_1V8 */
283*4882a593Smuzhiyun					regulator-name = "smps8";
284*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
285*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
286*4882a593Smuzhiyun					regulator-always-on;
287*4882a593Smuzhiyun					regulator-boot-on;
288*4882a593Smuzhiyun				};
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun				/* SMPS9 unused */
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun				ldo1_reg: ldo1 {
293*4882a593Smuzhiyun					/* VDD_SD / VDDSHV8  */
294*4882a593Smuzhiyun					regulator-name = "ldo1";
295*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
296*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
297*4882a593Smuzhiyun					regulator-boot-on;
298*4882a593Smuzhiyun					regulator-always-on;
299*4882a593Smuzhiyun				};
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun				ldo2_reg: ldo2 {
302*4882a593Smuzhiyun					/* VDD_SHV5 */
303*4882a593Smuzhiyun					regulator-name = "ldo2";
304*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
305*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
306*4882a593Smuzhiyun					regulator-always-on;
307*4882a593Smuzhiyun					regulator-boot-on;
308*4882a593Smuzhiyun				};
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun				ldo3_reg: ldo3 {
311*4882a593Smuzhiyun					/* VDDA_1V8_PHYA */
312*4882a593Smuzhiyun					regulator-name = "ldo3";
313*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
314*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
315*4882a593Smuzhiyun					regulator-always-on;
316*4882a593Smuzhiyun					regulator-boot-on;
317*4882a593Smuzhiyun				};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun				ldo4_reg: ldo4 {
320*4882a593Smuzhiyun					/* VDDA_1V8_PHYB */
321*4882a593Smuzhiyun					regulator-name = "ldo4";
322*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
323*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
324*4882a593Smuzhiyun					regulator-always-on;
325*4882a593Smuzhiyun					regulator-boot-on;
326*4882a593Smuzhiyun				};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun				ldo9_reg: ldo9 {
329*4882a593Smuzhiyun					/* VDD_RTC */
330*4882a593Smuzhiyun					regulator-name = "ldo9";
331*4882a593Smuzhiyun					regulator-min-microvolt = <1050000>;
332*4882a593Smuzhiyun					regulator-max-microvolt = <1050000>;
333*4882a593Smuzhiyun					regulator-always-on;
334*4882a593Smuzhiyun					regulator-boot-on;
335*4882a593Smuzhiyun				};
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun				ldoln_reg: ldoln {
338*4882a593Smuzhiyun					/* VDDA_1V8_PLL */
339*4882a593Smuzhiyun					regulator-name = "ldoln";
340*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
341*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
342*4882a593Smuzhiyun					regulator-always-on;
343*4882a593Smuzhiyun					regulator-boot-on;
344*4882a593Smuzhiyun				};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun				ldousb_reg: ldousb {
347*4882a593Smuzhiyun					/* VDDA_3V_USB: VDDA_USBHS33 */
348*4882a593Smuzhiyun					regulator-name = "ldousb";
349*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
350*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
351*4882a593Smuzhiyun					regulator-boot-on;
352*4882a593Smuzhiyun				};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun				regen1: regen1 {
355*4882a593Smuzhiyun					/* VDD_3V3_ON */
356*4882a593Smuzhiyun					regulator-name = "regen1";
357*4882a593Smuzhiyun					regulator-boot-on;
358*4882a593Smuzhiyun					regulator-always-on;
359*4882a593Smuzhiyun				};
360*4882a593Smuzhiyun			};
361*4882a593Smuzhiyun		};
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun		tps659038_rtc: tps659038_rtc {
364*4882a593Smuzhiyun			compatible = "ti,palmas-rtc";
365*4882a593Smuzhiyun			interrupt-parent = <&tps659038>;
366*4882a593Smuzhiyun			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
367*4882a593Smuzhiyun			wakeup-source;
368*4882a593Smuzhiyun		};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun		tps659038_pwr_button: tps659038_pwr_button {
371*4882a593Smuzhiyun			compatible = "ti,palmas-pwrbutton";
372*4882a593Smuzhiyun			interrupt-parent = <&tps659038>;
373*4882a593Smuzhiyun			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
374*4882a593Smuzhiyun			wakeup-source;
375*4882a593Smuzhiyun			ti,palmas-long-press-seconds = <12>;
376*4882a593Smuzhiyun		};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun		tps659038_gpio: tps659038_gpio {
379*4882a593Smuzhiyun			compatible = "ti,palmas-gpio";
380*4882a593Smuzhiyun			gpio-controller;
381*4882a593Smuzhiyun			#gpio-cells = <2>;
382*4882a593Smuzhiyun		};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun		extcon_usb2: tps659038_usb {
385*4882a593Smuzhiyun			compatible = "ti,palmas-usb-vid";
386*4882a593Smuzhiyun			ti,enable-vbus-detection;
387*4882a593Smuzhiyun			vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
388*4882a593Smuzhiyun		};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun	};
391*4882a593Smuzhiyun
392*4882a593Smuzhiyun	tmp102: tmp102@48 {
393*4882a593Smuzhiyun		compatible = "ti,tmp102";
394*4882a593Smuzhiyun		reg = <0x48>;
395*4882a593Smuzhiyun		interrupt-parent = <&gpio7>;
396*4882a593Smuzhiyun		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
397*4882a593Smuzhiyun		#thermal-sensor-cells = <1>;
398*4882a593Smuzhiyun	};
399*4882a593Smuzhiyun
400*4882a593Smuzhiyun	tlv320aic3104: tlv320aic3104@18 {
401*4882a593Smuzhiyun		#sound-dai-cells = <0>;
402*4882a593Smuzhiyun		compatible = "ti,tlv320aic3104";
403*4882a593Smuzhiyun		reg = <0x18>;
404*4882a593Smuzhiyun		assigned-clocks = <&clkoutmux2_clk_mux>;
405*4882a593Smuzhiyun		assigned-clock-parents = <&sys_clk2_dclk_div>;
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun		status = "okay";
408*4882a593Smuzhiyun		adc-settle-ms = <40>;
409*4882a593Smuzhiyun
410*4882a593Smuzhiyun		AVDD-supply = <&vdd_3v3>;
411*4882a593Smuzhiyun		IOVDD-supply = <&vdd_3v3>;
412*4882a593Smuzhiyun		DRVDD-supply = <&vdd_3v3>;
413*4882a593Smuzhiyun		DVDD-supply = <&aic_dvdd>;
414*4882a593Smuzhiyun	};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun	eeprom: eeprom@50 {
417*4882a593Smuzhiyun		compatible = "atmel,24c32";
418*4882a593Smuzhiyun		reg = <0x50>;
419*4882a593Smuzhiyun	};
420*4882a593Smuzhiyun};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun&i2c3 {
423*4882a593Smuzhiyun	status = "okay";
424*4882a593Smuzhiyun	clock-frequency = <400000>;
425*4882a593Smuzhiyun
426*4882a593Smuzhiyun	mcp_rtc: rtc@6f {
427*4882a593Smuzhiyun		compatible = "microchip,mcp7941x";
428*4882a593Smuzhiyun		reg = <0x6f>;
429*4882a593Smuzhiyun		interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
430*4882a593Smuzhiyun				      <&dra7_pmx_core 0x424>;
431*4882a593Smuzhiyun		interrupt-names = "irq", "wakeup";
432*4882a593Smuzhiyun
433*4882a593Smuzhiyun		vcc-supply = <&vdd_3v3>;
434*4882a593Smuzhiyun		wakeup-source;
435*4882a593Smuzhiyun	};
436*4882a593Smuzhiyun};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun&gpio7_target {
439*4882a593Smuzhiyun	ti,no-reset-on-init;
440*4882a593Smuzhiyun	ti,no-idle-on-init;
441*4882a593Smuzhiyun};
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun&cpu0 {
444*4882a593Smuzhiyun	vdd-supply = <&smps12_reg>;
445*4882a593Smuzhiyun	voltage-tolerance = <1>;
446*4882a593Smuzhiyun};
447*4882a593Smuzhiyun
448*4882a593Smuzhiyun&uart3 {
449*4882a593Smuzhiyun	status = "okay";
450*4882a593Smuzhiyun	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
451*4882a593Smuzhiyun			      <&dra7_pmx_core 0x3f8>;
452*4882a593Smuzhiyun};
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun&davinci_mdio_sw {
455*4882a593Smuzhiyun	phy0: ethernet-phy@1 {
456*4882a593Smuzhiyun		reg = <1>;
457*4882a593Smuzhiyun	};
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun	phy1: ethernet-phy@2 {
460*4882a593Smuzhiyun		reg = <2>;
461*4882a593Smuzhiyun	};
462*4882a593Smuzhiyun};
463*4882a593Smuzhiyun
464*4882a593Smuzhiyun&mac_sw {
465*4882a593Smuzhiyun	status = "okay";
466*4882a593Smuzhiyun};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun&cpsw_port1 {
469*4882a593Smuzhiyun	phy-handle = <&phy0>;
470*4882a593Smuzhiyun	phy-mode = "rgmii-rxid";
471*4882a593Smuzhiyun	ti,dual-emac-pvid = <1>;
472*4882a593Smuzhiyun};
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun&cpsw_port2 {
475*4882a593Smuzhiyun	phy-handle = <&phy1>;
476*4882a593Smuzhiyun	phy-mode = "rgmii-rxid";
477*4882a593Smuzhiyun	ti,dual-emac-pvid = <2>;
478*4882a593Smuzhiyun};
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun&mmc1 {
481*4882a593Smuzhiyun	status = "okay";
482*4882a593Smuzhiyun
483*4882a593Smuzhiyun	pinctrl-names = "default";
484*4882a593Smuzhiyun	pinctrl-0 = <&mmc1_pins_default>;
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun	bus-width = <4>;
487*4882a593Smuzhiyun	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
488*4882a593Smuzhiyun	no-1-8-v;
489*4882a593Smuzhiyun};
490*4882a593Smuzhiyun
491*4882a593Smuzhiyun&mmc2 {
492*4882a593Smuzhiyun	status = "okay";
493*4882a593Smuzhiyun
494*4882a593Smuzhiyun	pinctrl-names = "default";
495*4882a593Smuzhiyun	pinctrl-0 = <&mmc2_pins_default>;
496*4882a593Smuzhiyun
497*4882a593Smuzhiyun	vmmc-supply = <&vdd_3v3>;
498*4882a593Smuzhiyun	vqmmc-supply = <&vdd_3v3>;
499*4882a593Smuzhiyun	bus-width = <8>;
500*4882a593Smuzhiyun	non-removable;
501*4882a593Smuzhiyun	no-1-8-v;
502*4882a593Smuzhiyun};
503*4882a593Smuzhiyun
504*4882a593Smuzhiyun&sata {
505*4882a593Smuzhiyun	status = "okay";
506*4882a593Smuzhiyun};
507*4882a593Smuzhiyun
508*4882a593Smuzhiyun&usb2_phy1 {
509*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
510*4882a593Smuzhiyun};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun&usb2_phy2 {
513*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
514*4882a593Smuzhiyun};
515*4882a593Smuzhiyun
516*4882a593Smuzhiyun&usb1 {
517*4882a593Smuzhiyun	dr_mode = "host";
518*4882a593Smuzhiyun};
519*4882a593Smuzhiyun
520*4882a593Smuzhiyun&omap_dwc3_2 {
521*4882a593Smuzhiyun	extcon = <&extcon_usb2>;
522*4882a593Smuzhiyun};
523*4882a593Smuzhiyun
524*4882a593Smuzhiyun&usb2 {
525*4882a593Smuzhiyun	/*
526*4882a593Smuzhiyun	 * Stand alone usage is peripheral only.
527*4882a593Smuzhiyun	 * However, with some resistor modifications
528*4882a593Smuzhiyun	 * this port can be used via expansion connectors
529*4882a593Smuzhiyun	 * as "host" or "dual-role". If so, provide
530*4882a593Smuzhiyun	 * the necessary dr_mode override in the expansion
531*4882a593Smuzhiyun	 * board's DT.
532*4882a593Smuzhiyun	 */
533*4882a593Smuzhiyun	dr_mode = "peripheral";
534*4882a593Smuzhiyun};
535*4882a593Smuzhiyun
536*4882a593Smuzhiyun&cpu_trips {
537*4882a593Smuzhiyun	cpu_alert1: cpu_alert1 {
538*4882a593Smuzhiyun		temperature = <50000>; /* millicelsius */
539*4882a593Smuzhiyun		hysteresis = <2000>; /* millicelsius */
540*4882a593Smuzhiyun		type = "active";
541*4882a593Smuzhiyun	};
542*4882a593Smuzhiyun};
543*4882a593Smuzhiyun
544*4882a593Smuzhiyun&cpu_cooling_maps {
545*4882a593Smuzhiyun	map1 {
546*4882a593Smuzhiyun		trip = <&cpu_alert1>;
547*4882a593Smuzhiyun		cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
548*4882a593Smuzhiyun	};
549*4882a593Smuzhiyun};
550*4882a593Smuzhiyun
551*4882a593Smuzhiyun&thermal_zones {
552*4882a593Smuzhiyun	board_thermal: board_thermal {
553*4882a593Smuzhiyun		polling-delay-passive = <1250>; /* milliseconds */
554*4882a593Smuzhiyun		polling-delay = <1500>; /* milliseconds */
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun				/* sensor       ID */
557*4882a593Smuzhiyun		thermal-sensors = <&tmp102     0>;
558*4882a593Smuzhiyun
559*4882a593Smuzhiyun		board_trips: trips {
560*4882a593Smuzhiyun			board_alert0: board_alert {
561*4882a593Smuzhiyun				temperature = <40000>; /* millicelsius */
562*4882a593Smuzhiyun				hysteresis = <2000>; /* millicelsius */
563*4882a593Smuzhiyun				type = "active";
564*4882a593Smuzhiyun			};
565*4882a593Smuzhiyun
566*4882a593Smuzhiyun			board_crit: board_crit {
567*4882a593Smuzhiyun				temperature = <105000>; /* millicelsius */
568*4882a593Smuzhiyun				hysteresis = <0>; /* millicelsius */
569*4882a593Smuzhiyun				type = "critical";
570*4882a593Smuzhiyun			};
571*4882a593Smuzhiyun		};
572*4882a593Smuzhiyun
573*4882a593Smuzhiyun		board_cooling_maps: cooling-maps {
574*4882a593Smuzhiyun			map0 {
575*4882a593Smuzhiyun				trip = <&board_alert0>;
576*4882a593Smuzhiyun				cooling-device =
577*4882a593Smuzhiyun				  <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
578*4882a593Smuzhiyun			};
579*4882a593Smuzhiyun		};
580*4882a593Smuzhiyun       };
581*4882a593Smuzhiyun};
582*4882a593Smuzhiyun
583*4882a593Smuzhiyun&dss {
584*4882a593Smuzhiyun	status = "okay";
585*4882a593Smuzhiyun
586*4882a593Smuzhiyun	vdda_video-supply = <&ldoln_reg>;
587*4882a593Smuzhiyun};
588*4882a593Smuzhiyun
589*4882a593Smuzhiyun&hdmi {
590*4882a593Smuzhiyun	status = "okay";
591*4882a593Smuzhiyun	vdda-supply = <&ldo4_reg>;
592*4882a593Smuzhiyun
593*4882a593Smuzhiyun	port {
594*4882a593Smuzhiyun		hdmi_out: endpoint {
595*4882a593Smuzhiyun			remote-endpoint = <&tpd12s015_in>;
596*4882a593Smuzhiyun		};
597*4882a593Smuzhiyun	};
598*4882a593Smuzhiyun};
599*4882a593Smuzhiyun
600*4882a593Smuzhiyun&pcie1_rc {
601*4882a593Smuzhiyun	status = "okay";
602*4882a593Smuzhiyun	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
603*4882a593Smuzhiyun};
604*4882a593Smuzhiyun
605*4882a593Smuzhiyun&mcasp3 {
606*4882a593Smuzhiyun	#sound-dai-cells = <0>;
607*4882a593Smuzhiyun	assigned-clocks = <&l4per2_clkctrl DRA7_L4PER2_MCASP3_CLKCTRL 24>;
608*4882a593Smuzhiyun	assigned-clock-parents = <&sys_clkin2>;
609*4882a593Smuzhiyun	status = "okay";
610*4882a593Smuzhiyun
611*4882a593Smuzhiyun	op-mode = <0>;	/* MCASP_IIS_MODE */
612*4882a593Smuzhiyun	tdm-slots = <2>;
613*4882a593Smuzhiyun	/* 4 serializers */
614*4882a593Smuzhiyun	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
615*4882a593Smuzhiyun		1 2 0 0
616*4882a593Smuzhiyun	>;
617*4882a593Smuzhiyun	tx-num-evt = <32>;
618*4882a593Smuzhiyun	rx-num-evt = <32>;
619*4882a593Smuzhiyun};
620*4882a593Smuzhiyun
621*4882a593Smuzhiyun&ipu2 {
622*4882a593Smuzhiyun	status = "okay";
623*4882a593Smuzhiyun	memory-region = <&ipu2_memory_region>;
624*4882a593Smuzhiyun};
625*4882a593Smuzhiyun
626*4882a593Smuzhiyun&ipu1 {
627*4882a593Smuzhiyun	status = "okay";
628*4882a593Smuzhiyun	memory-region = <&ipu1_memory_region>;
629*4882a593Smuzhiyun};
630*4882a593Smuzhiyun
631*4882a593Smuzhiyun&dsp1 {
632*4882a593Smuzhiyun	status = "okay";
633*4882a593Smuzhiyun	memory-region = <&dsp1_memory_region>;
634*4882a593Smuzhiyun};
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun&dsp2 {
637*4882a593Smuzhiyun	status = "okay";
638*4882a593Smuzhiyun	memory-region = <&dsp2_memory_region>;
639*4882a593Smuzhiyun};
640