xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/dra7-evm.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify
5*4882a593Smuzhiyun * it under the terms of the GNU General Public License version 2 as
6*4882a593Smuzhiyun * published by the Free Software Foundation.
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include "dra74x.dtsi"
11*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
12*4882a593Smuzhiyun#include <dt-bindings/clk/ti-dra7-atl.h>
13*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	model = "TI DRA742";
17*4882a593Smuzhiyun	compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	chosen {
20*4882a593Smuzhiyun		stdout-path = &uart1;
21*4882a593Smuzhiyun		tick-timer = &timer2;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	memory@0 {
25*4882a593Smuzhiyun		device_type = "memory";
26*4882a593Smuzhiyun		reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
27*4882a593Smuzhiyun	};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	evm_3v3_sd: fixedregulator-sd {
30*4882a593Smuzhiyun		compatible = "regulator-fixed";
31*4882a593Smuzhiyun		regulator-name = "evm_3v3_sd";
32*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
33*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
34*4882a593Smuzhiyun		enable-active-high;
35*4882a593Smuzhiyun		gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	evm_3v3_sw: fixedregulator-evm_3v3_sw {
39*4882a593Smuzhiyun		compatible = "regulator-fixed";
40*4882a593Smuzhiyun		regulator-name = "evm_3v3_sw";
41*4882a593Smuzhiyun		vin-supply = <&sysen1>;
42*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
43*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	aic_dvdd: fixedregulator-aic_dvdd {
47*4882a593Smuzhiyun		/* TPS77018DBVT */
48*4882a593Smuzhiyun		compatible = "regulator-fixed";
49*4882a593Smuzhiyun		regulator-name = "aic_dvdd";
50*4882a593Smuzhiyun		vin-supply = <&evm_3v3_sw>;
51*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
52*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
53*4882a593Smuzhiyun	};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	extcon_usb1: extcon_usb1 {
56*4882a593Smuzhiyun		compatible = "linux,extcon-usb-gpio";
57*4882a593Smuzhiyun		id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	extcon_usb2: extcon_usb2 {
61*4882a593Smuzhiyun		compatible = "linux,extcon-usb-gpio";
62*4882a593Smuzhiyun		id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
63*4882a593Smuzhiyun	};
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	vtt_fixed: fixedregulator-vtt {
66*4882a593Smuzhiyun		compatible = "regulator-fixed";
67*4882a593Smuzhiyun		regulator-name = "vtt_fixed";
68*4882a593Smuzhiyun		regulator-min-microvolt = <1350000>;
69*4882a593Smuzhiyun		regulator-max-microvolt = <1350000>;
70*4882a593Smuzhiyun		regulator-always-on;
71*4882a593Smuzhiyun		regulator-boot-on;
72*4882a593Smuzhiyun		enable-active-high;
73*4882a593Smuzhiyun		vin-supply = <&sysen2>;
74*4882a593Smuzhiyun		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
75*4882a593Smuzhiyun	};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	sound0: sound0 {
78*4882a593Smuzhiyun		compatible = "simple-audio-card";
79*4882a593Smuzhiyun		simple-audio-card,name = "DRA7xx-EVM";
80*4882a593Smuzhiyun		simple-audio-card,widgets =
81*4882a593Smuzhiyun			"Headphone", "Headphone Jack",
82*4882a593Smuzhiyun			"Line", "Line Out",
83*4882a593Smuzhiyun			"Microphone", "Mic Jack",
84*4882a593Smuzhiyun			"Line", "Line In";
85*4882a593Smuzhiyun		simple-audio-card,routing =
86*4882a593Smuzhiyun			"Headphone Jack",	"HPLOUT",
87*4882a593Smuzhiyun			"Headphone Jack",	"HPROUT",
88*4882a593Smuzhiyun			"Line Out",		"LLOUT",
89*4882a593Smuzhiyun			"Line Out",		"RLOUT",
90*4882a593Smuzhiyun			"MIC3L",		"Mic Jack",
91*4882a593Smuzhiyun			"MIC3R",		"Mic Jack",
92*4882a593Smuzhiyun			"Mic Jack",		"Mic Bias",
93*4882a593Smuzhiyun			"LINE1L",		"Line In",
94*4882a593Smuzhiyun			"LINE1R",		"Line In";
95*4882a593Smuzhiyun		simple-audio-card,format = "dsp_b";
96*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sound0_master>;
97*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sound0_master>;
98*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion;
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun		sound0_master: simple-audio-card,cpu {
101*4882a593Smuzhiyun			sound-dai = <&mcasp3>;
102*4882a593Smuzhiyun			system-clock-frequency = <5644800>;
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		simple-audio-card,codec {
106*4882a593Smuzhiyun			sound-dai = <&tlv320aic3106>;
107*4882a593Smuzhiyun			clocks = <&atl_clkin2_ck>;
108*4882a593Smuzhiyun		};
109*4882a593Smuzhiyun	};
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun	leds {
112*4882a593Smuzhiyun		compatible = "gpio-leds";
113*4882a593Smuzhiyun		led0 {
114*4882a593Smuzhiyun			label = "dra7:usr1";
115*4882a593Smuzhiyun			gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
116*4882a593Smuzhiyun			default-state = "off";
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun		led1 {
120*4882a593Smuzhiyun			label = "dra7:usr2";
121*4882a593Smuzhiyun			gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
122*4882a593Smuzhiyun			default-state = "off";
123*4882a593Smuzhiyun		};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun		led2 {
126*4882a593Smuzhiyun			label = "dra7:usr3";
127*4882a593Smuzhiyun			gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
128*4882a593Smuzhiyun			default-state = "off";
129*4882a593Smuzhiyun		};
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun		led3 {
132*4882a593Smuzhiyun			label = "dra7:usr4";
133*4882a593Smuzhiyun			gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
134*4882a593Smuzhiyun			default-state = "off";
135*4882a593Smuzhiyun		};
136*4882a593Smuzhiyun	};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun	gpio_keys {
139*4882a593Smuzhiyun		compatible = "gpio-keys";
140*4882a593Smuzhiyun		#address-cells = <1>;
141*4882a593Smuzhiyun		#size-cells = <0>;
142*4882a593Smuzhiyun		autorepeat;
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun		USER1 {
145*4882a593Smuzhiyun			label = "btnUser1";
146*4882a593Smuzhiyun			linux,code = <BTN_0>;
147*4882a593Smuzhiyun			gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
148*4882a593Smuzhiyun		};
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun		USER2 {
151*4882a593Smuzhiyun			label = "btnUser2";
152*4882a593Smuzhiyun			linux,code = <BTN_1>;
153*4882a593Smuzhiyun			gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
154*4882a593Smuzhiyun		};
155*4882a593Smuzhiyun	};
156*4882a593Smuzhiyun};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun&dra7_pmx_core {
159*4882a593Smuzhiyun	pinctrl-names = "default";
160*4882a593Smuzhiyun	pinctrl-0 = <&vtt_pin>;
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun	vtt_pin: pinmux_vtt_pin {
163*4882a593Smuzhiyun		pinctrl-single,pins = <
164*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
165*4882a593Smuzhiyun		>;
166*4882a593Smuzhiyun	};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun	i2c1_pins: pinmux_i2c1_pins {
169*4882a593Smuzhiyun		pinctrl-single,pins = <
170*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
171*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
172*4882a593Smuzhiyun		>;
173*4882a593Smuzhiyun	};
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun	i2c2_pins: pinmux_i2c2_pins {
176*4882a593Smuzhiyun		pinctrl-single,pins = <
177*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
178*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
179*4882a593Smuzhiyun		>;
180*4882a593Smuzhiyun	};
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun	i2c3_pins: pinmux_i2c3_pins {
183*4882a593Smuzhiyun		pinctrl-single,pins = <
184*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
185*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
186*4882a593Smuzhiyun		>;
187*4882a593Smuzhiyun	};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun	mcspi1_pins: pinmux_mcspi1_pins {
190*4882a593Smuzhiyun		pinctrl-single,pins = <
191*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
192*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
193*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
194*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
195*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
196*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
197*4882a593Smuzhiyun		>;
198*4882a593Smuzhiyun	};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun	mcspi2_pins: pinmux_mcspi2_pins {
201*4882a593Smuzhiyun		pinctrl-single,pins = <
202*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
203*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
204*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
205*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
206*4882a593Smuzhiyun		>;
207*4882a593Smuzhiyun	};
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun	uart1_pins: pinmux_uart1_pins {
210*4882a593Smuzhiyun		pinctrl-single,pins = <
211*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
212*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
213*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
214*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
215*4882a593Smuzhiyun		>;
216*4882a593Smuzhiyun	};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun	uart2_pins: pinmux_uart2_pins {
219*4882a593Smuzhiyun		pinctrl-single,pins = <
220*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
221*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
222*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
223*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
224*4882a593Smuzhiyun		>;
225*4882a593Smuzhiyun	};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun	uart3_pins: pinmux_uart3_pins {
228*4882a593Smuzhiyun		pinctrl-single,pins = <
229*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
230*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
231*4882a593Smuzhiyun		>;
232*4882a593Smuzhiyun	};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun	usb1_pins: pinmux_usb1_pins {
235*4882a593Smuzhiyun                pinctrl-single,pins = <
236*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
237*4882a593Smuzhiyun                >;
238*4882a593Smuzhiyun        };
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun	usb2_pins: pinmux_usb2_pins {
241*4882a593Smuzhiyun                pinctrl-single,pins = <
242*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
243*4882a593Smuzhiyun                >;
244*4882a593Smuzhiyun        };
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun	nand_flash_x16: nand_flash_x16 {
247*4882a593Smuzhiyun		/* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
248*4882a593Smuzhiyun		 * So NAND flash requires following switch settings:
249*4882a593Smuzhiyun		 * SW5.1 (NAND_BOOTn) = ON (LOW)
250*4882a593Smuzhiyun		 * SW5.9 (GPMC_WPN) = OFF (HIGH)
251*4882a593Smuzhiyun		 */
252*4882a593Smuzhiyun		pinctrl-single,pins = <
253*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad0	*/
254*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad1	*/
255*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad2	*/
256*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad3	*/
257*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad4	*/
258*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad5	*/
259*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad6	*/
260*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad7	*/
261*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad8	*/
262*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad9	*/
263*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad10	*/
264*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad11	*/
265*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad12	*/
266*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad13	*/
267*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad14	*/
268*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad15	*/
269*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP  | MUX_MODE0)	/* gpmc_wait0	*/
270*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0)	/* gpmc_wen	*/
271*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0)	/* gpmc_csn0	*/
272*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0)	/* gpmc_advn_ale */
273*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0)	/* gpmc_oen_ren	 */
274*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0)	/* gpmc_be0n_cle */
275*4882a593Smuzhiyun		>;
276*4882a593Smuzhiyun	};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun	cpsw_default: cpsw_default {
279*4882a593Smuzhiyun		pinctrl-single,pins = <
280*4882a593Smuzhiyun			/* Slave 1 */
281*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txc.rgmii0_txc */
282*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txctl.rgmii0_txctl */
283*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td3.rgmii0_txd3 */
284*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd2.rgmii0_txd2 */
285*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd1.rgmii0_txd1 */
286*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd0.rgmii0_txd0 */
287*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxc.rgmii0_rxc */
288*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxctl.rgmii0_rxctl */
289*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd3.rgmii0_rxd3 */
290*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd2.rgmii0_rxd2 */
291*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd1.rgmii0_rxd1 */
292*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd0.rgmii0_rxd0 */
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun			/* Slave 2 */
295*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d12.rgmii1_txc */
296*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d13.rgmii1_tctl */
297*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d14.rgmii1_td3 */
298*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d15.rgmii1_td2 */
299*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d16.rgmii1_td1 */
300*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d17.rgmii1_td0 */
301*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3)	/* vin2a_d18.rgmii1_rclk */
302*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3)	/* vin2a_d19.rgmii1_rctl */
303*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3)	/* vin2a_d20.rgmii1_rd3 */
304*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3)	/* vin2a_d21.rgmii1_rd2 */
305*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3)	/* vin2a_d22.rgmii1_rd1 */
306*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3)	/* vin2a_d23.rgmii1_rd0 */
307*4882a593Smuzhiyun		>;
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	};
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun	cpsw_sleep: cpsw_sleep {
312*4882a593Smuzhiyun		pinctrl-single,pins = <
313*4882a593Smuzhiyun			/* Slave 1 */
314*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
315*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
316*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
317*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
318*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
319*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
320*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
321*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
322*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
323*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
324*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
325*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun			/* Slave 2 */
328*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
329*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
330*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
331*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
332*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
333*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
334*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
335*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
336*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
337*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
338*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
339*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
340*4882a593Smuzhiyun		>;
341*4882a593Smuzhiyun	};
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun	davinci_mdio_default: davinci_mdio_default {
344*4882a593Smuzhiyun		pinctrl-single,pins = <
345*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0)	/* mdio_d.mdio_d */
346*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0)	/* mdio_clk.mdio_clk */
347*4882a593Smuzhiyun		>;
348*4882a593Smuzhiyun	};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun	davinci_mdio_sleep: davinci_mdio_sleep {
351*4882a593Smuzhiyun		pinctrl-single,pins = <
352*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
353*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
354*4882a593Smuzhiyun		>;
355*4882a593Smuzhiyun	};
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun	dcan1_pins_default: dcan1_pins_default {
358*4882a593Smuzhiyun		pinctrl-single,pins = <
359*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
360*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
361*4882a593Smuzhiyun		>;
362*4882a593Smuzhiyun	};
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun	dcan1_pins_sleep: dcan1_pins_sleep {
365*4882a593Smuzhiyun		pinctrl-single,pins = <
366*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP)	/* dcan1_tx.off */
367*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP)	/* wakeup0.off */
368*4882a593Smuzhiyun		>;
369*4882a593Smuzhiyun	};
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun	atl_pins: pinmux_atl_pins {
372*4882a593Smuzhiyun		pinctrl-single,pins = <
373*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5)	/* xref_clk1.atl_clk1 */
374*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5)	/* xref_clk2.atl_clk2 */
375*4882a593Smuzhiyun		>;
376*4882a593Smuzhiyun	};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun	mcasp3_pins: pinmux_mcasp3_pins {
379*4882a593Smuzhiyun		pinctrl-single,pins = <
380*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_aclkx */
381*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_fsx */
382*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_axr0 */
383*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_axr1 */
384*4882a593Smuzhiyun		>;
385*4882a593Smuzhiyun	};
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun	mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
388*4882a593Smuzhiyun		pinctrl-single,pins = <
389*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15)
390*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15)
391*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15)
392*4882a593Smuzhiyun			DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15)
393*4882a593Smuzhiyun		>;
394*4882a593Smuzhiyun	};
395*4882a593Smuzhiyun};
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun&i2c1 {
398*4882a593Smuzhiyun	status = "okay";
399*4882a593Smuzhiyun	pinctrl-names = "default";
400*4882a593Smuzhiyun	pinctrl-0 = <&i2c1_pins>;
401*4882a593Smuzhiyun	clock-frequency = <400000>;
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun	tps659038: tps659038@58 {
404*4882a593Smuzhiyun		compatible = "ti,tps659038";
405*4882a593Smuzhiyun		reg = <0x58>;
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun		tps659038_pmic {
408*4882a593Smuzhiyun			compatible = "ti,tps659038-pmic";
409*4882a593Smuzhiyun
410*4882a593Smuzhiyun			regulators {
411*4882a593Smuzhiyun				smps123_reg: smps123 {
412*4882a593Smuzhiyun					/* VDD_MPU */
413*4882a593Smuzhiyun					regulator-name = "smps123";
414*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
415*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
416*4882a593Smuzhiyun					regulator-always-on;
417*4882a593Smuzhiyun					regulator-boot-on;
418*4882a593Smuzhiyun				};
419*4882a593Smuzhiyun
420*4882a593Smuzhiyun				smps45_reg: smps45 {
421*4882a593Smuzhiyun					/* VDD_DSPEVE */
422*4882a593Smuzhiyun					regulator-name = "smps45";
423*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
424*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
425*4882a593Smuzhiyun					regulator-always-on;
426*4882a593Smuzhiyun					regulator-boot-on;
427*4882a593Smuzhiyun				};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun				smps6_reg: smps6 {
430*4882a593Smuzhiyun					/* VDD_GPU - over VDD_SMPS6 */
431*4882a593Smuzhiyun					regulator-name = "smps6";
432*4882a593Smuzhiyun					regulator-min-microvolt = <850000>;
433*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
434*4882a593Smuzhiyun					regulator-always-on;
435*4882a593Smuzhiyun					regulator-boot-on;
436*4882a593Smuzhiyun				};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun				smps7_reg: smps7 {
439*4882a593Smuzhiyun					/* CORE_VDD */
440*4882a593Smuzhiyun					regulator-name = "smps7";
441*4882a593Smuzhiyun					regulator-min-microvolt = <850000>;
442*4882a593Smuzhiyun					regulator-max-microvolt = <1150000>;
443*4882a593Smuzhiyun					regulator-always-on;
444*4882a593Smuzhiyun					regulator-boot-on;
445*4882a593Smuzhiyun				};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun				smps8_reg: smps8 {
448*4882a593Smuzhiyun					/* VDD_IVAHD */
449*4882a593Smuzhiyun					regulator-name = "smps8";
450*4882a593Smuzhiyun					regulator-min-microvolt = < 850000>;
451*4882a593Smuzhiyun					regulator-max-microvolt = <1250000>;
452*4882a593Smuzhiyun					regulator-always-on;
453*4882a593Smuzhiyun					regulator-boot-on;
454*4882a593Smuzhiyun				};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun				smps9_reg: smps9 {
457*4882a593Smuzhiyun					/* VDDS1V8 */
458*4882a593Smuzhiyun					regulator-name = "smps9";
459*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
460*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
461*4882a593Smuzhiyun					regulator-always-on;
462*4882a593Smuzhiyun					regulator-boot-on;
463*4882a593Smuzhiyun				};
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun				ldo1_reg: ldo1 {
466*4882a593Smuzhiyun					/* LDO1_OUT --> SDIO  */
467*4882a593Smuzhiyun					regulator-name = "ldo1";
468*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
469*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
470*4882a593Smuzhiyun					regulator-always-on;
471*4882a593Smuzhiyun					regulator-boot-on;
472*4882a593Smuzhiyun				};
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun				ldo2_reg: ldo2 {
475*4882a593Smuzhiyun					/* VDD_RTCIO */
476*4882a593Smuzhiyun					/* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
477*4882a593Smuzhiyun					regulator-name = "ldo2";
478*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
479*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
480*4882a593Smuzhiyun					regulator-always-on;
481*4882a593Smuzhiyun					regulator-boot-on;
482*4882a593Smuzhiyun				};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun				ldo3_reg: ldo3 {
485*4882a593Smuzhiyun					/* VDDA_1V8_PHY */
486*4882a593Smuzhiyun					regulator-name = "ldo3";
487*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
488*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
489*4882a593Smuzhiyun					regulator-always-on;
490*4882a593Smuzhiyun					regulator-boot-on;
491*4882a593Smuzhiyun				};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun				ldo9_reg: ldo9 {
494*4882a593Smuzhiyun					/* VDD_RTC */
495*4882a593Smuzhiyun					regulator-name = "ldo9";
496*4882a593Smuzhiyun					regulator-min-microvolt = <1050000>;
497*4882a593Smuzhiyun					regulator-max-microvolt = <1050000>;
498*4882a593Smuzhiyun					regulator-always-on;
499*4882a593Smuzhiyun					regulator-boot-on;
500*4882a593Smuzhiyun					regulator-allow-bypass;
501*4882a593Smuzhiyun				};
502*4882a593Smuzhiyun
503*4882a593Smuzhiyun				ldoln_reg: ldoln {
504*4882a593Smuzhiyun					/* VDDA_1V8_PLL */
505*4882a593Smuzhiyun					regulator-name = "ldoln";
506*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
507*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
508*4882a593Smuzhiyun					regulator-always-on;
509*4882a593Smuzhiyun					regulator-boot-on;
510*4882a593Smuzhiyun				};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun				ldousb_reg: ldousb {
513*4882a593Smuzhiyun					/* VDDA_3V_USB: VDDA_USBHS33 */
514*4882a593Smuzhiyun					regulator-name = "ldousb";
515*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
516*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
517*4882a593Smuzhiyun					regulator-boot-on;
518*4882a593Smuzhiyun				};
519*4882a593Smuzhiyun
520*4882a593Smuzhiyun				/* REGEN1 is unused */
521*4882a593Smuzhiyun
522*4882a593Smuzhiyun				regen2: regen2 {
523*4882a593Smuzhiyun					/* Needed for PMIC internal resources */
524*4882a593Smuzhiyun					regulator-name = "regen2";
525*4882a593Smuzhiyun					regulator-boot-on;
526*4882a593Smuzhiyun					regulator-always-on;
527*4882a593Smuzhiyun				};
528*4882a593Smuzhiyun
529*4882a593Smuzhiyun				/* REGEN3 is unused */
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun				sysen1: sysen1 {
532*4882a593Smuzhiyun					/* PMIC_REGEN_3V3 */
533*4882a593Smuzhiyun					regulator-name = "sysen1";
534*4882a593Smuzhiyun					regulator-boot-on;
535*4882a593Smuzhiyun					regulator-always-on;
536*4882a593Smuzhiyun				};
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun				sysen2: sysen2 {
539*4882a593Smuzhiyun					/* PMIC_REGEN_DDR */
540*4882a593Smuzhiyun					regulator-name = "sysen2";
541*4882a593Smuzhiyun					regulator-boot-on;
542*4882a593Smuzhiyun					regulator-always-on;
543*4882a593Smuzhiyun				};
544*4882a593Smuzhiyun			};
545*4882a593Smuzhiyun		};
546*4882a593Smuzhiyun	};
547*4882a593Smuzhiyun
548*4882a593Smuzhiyun	pcf_lcd: gpio@20 {
549*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
550*4882a593Smuzhiyun		reg = <0x20>;
551*4882a593Smuzhiyun		gpio-controller;
552*4882a593Smuzhiyun		#gpio-cells = <2>;
553*4882a593Smuzhiyun		interrupt-parent = <&gpio6>;
554*4882a593Smuzhiyun		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
555*4882a593Smuzhiyun		interrupt-controller;
556*4882a593Smuzhiyun		#interrupt-cells = <2>;
557*4882a593Smuzhiyun	};
558*4882a593Smuzhiyun
559*4882a593Smuzhiyun	pcf_gpio_21: gpio@21 {
560*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
561*4882a593Smuzhiyun		reg = <0x21>;
562*4882a593Smuzhiyun		lines-initial-states = <0x1408>;
563*4882a593Smuzhiyun		gpio-controller;
564*4882a593Smuzhiyun		#gpio-cells = <2>;
565*4882a593Smuzhiyun		interrupt-parent = <&gpio6>;
566*4882a593Smuzhiyun		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
567*4882a593Smuzhiyun		interrupt-controller;
568*4882a593Smuzhiyun		#interrupt-cells = <2>;
569*4882a593Smuzhiyun		u-boot,i2c-offset-len = <0>;
570*4882a593Smuzhiyun	};
571*4882a593Smuzhiyun
572*4882a593Smuzhiyun	tlv320aic3106: tlv320aic3106@19 {
573*4882a593Smuzhiyun		#sound-dai-cells = <0>;
574*4882a593Smuzhiyun		compatible = "ti,tlv320aic3106";
575*4882a593Smuzhiyun		reg = <0x19>;
576*4882a593Smuzhiyun		adc-settle-ms = <40>;
577*4882a593Smuzhiyun		ai3x-micbias-vg = <1>;		/* 2.0V */
578*4882a593Smuzhiyun		status = "okay";
579*4882a593Smuzhiyun
580*4882a593Smuzhiyun		/* Regulators */
581*4882a593Smuzhiyun		AVDD-supply = <&evm_3v3_sw>;
582*4882a593Smuzhiyun		IOVDD-supply = <&evm_3v3_sw>;
583*4882a593Smuzhiyun		DRVDD-supply = <&evm_3v3_sw>;
584*4882a593Smuzhiyun		DVDD-supply = <&aic_dvdd>;
585*4882a593Smuzhiyun	};
586*4882a593Smuzhiyun};
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun&i2c2 {
589*4882a593Smuzhiyun	status = "okay";
590*4882a593Smuzhiyun	pinctrl-names = "default";
591*4882a593Smuzhiyun	pinctrl-0 = <&i2c2_pins>;
592*4882a593Smuzhiyun	clock-frequency = <400000>;
593*4882a593Smuzhiyun
594*4882a593Smuzhiyun	pcf_hdmi: gpio@26 {
595*4882a593Smuzhiyun		compatible = "ti,pcf8575", "nxp,pcf8575";
596*4882a593Smuzhiyun		reg = <0x26>;
597*4882a593Smuzhiyun		gpio-controller;
598*4882a593Smuzhiyun		#gpio-cells = <2>;
599*4882a593Smuzhiyun		p1 {
600*4882a593Smuzhiyun			/* vin6_sel_s0: high: VIN6, low: audio */
601*4882a593Smuzhiyun			gpio-hog;
602*4882a593Smuzhiyun			gpios = <1 GPIO_ACTIVE_HIGH>;
603*4882a593Smuzhiyun			output-low;
604*4882a593Smuzhiyun			line-name = "vin6_sel_s0";
605*4882a593Smuzhiyun		};
606*4882a593Smuzhiyun	};
607*4882a593Smuzhiyun};
608*4882a593Smuzhiyun
609*4882a593Smuzhiyun&i2c3 {
610*4882a593Smuzhiyun	status = "okay";
611*4882a593Smuzhiyun	pinctrl-names = "default";
612*4882a593Smuzhiyun	pinctrl-0 = <&i2c3_pins>;
613*4882a593Smuzhiyun	clock-frequency = <400000>;
614*4882a593Smuzhiyun};
615*4882a593Smuzhiyun
616*4882a593Smuzhiyun&mcspi1 {
617*4882a593Smuzhiyun	status = "okay";
618*4882a593Smuzhiyun	pinctrl-names = "default";
619*4882a593Smuzhiyun	pinctrl-0 = <&mcspi1_pins>;
620*4882a593Smuzhiyun};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun&mcspi2 {
623*4882a593Smuzhiyun	status = "okay";
624*4882a593Smuzhiyun	pinctrl-names = "default";
625*4882a593Smuzhiyun	pinctrl-0 = <&mcspi2_pins>;
626*4882a593Smuzhiyun};
627*4882a593Smuzhiyun
628*4882a593Smuzhiyun&uart1 {
629*4882a593Smuzhiyun	status = "okay";
630*4882a593Smuzhiyun	pinctrl-names = "default";
631*4882a593Smuzhiyun	pinctrl-0 = <&uart1_pins>;
632*4882a593Smuzhiyun	interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
633*4882a593Smuzhiyun			      <&dra7_pmx_core 0x3e0>;
634*4882a593Smuzhiyun};
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun&uart2 {
637*4882a593Smuzhiyun	status = "okay";
638*4882a593Smuzhiyun	pinctrl-names = "default";
639*4882a593Smuzhiyun	pinctrl-0 = <&uart2_pins>;
640*4882a593Smuzhiyun};
641*4882a593Smuzhiyun
642*4882a593Smuzhiyun&uart3 {
643*4882a593Smuzhiyun	status = "okay";
644*4882a593Smuzhiyun	pinctrl-names = "default";
645*4882a593Smuzhiyun	pinctrl-0 = <&uart3_pins>;
646*4882a593Smuzhiyun};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun&mmc1 {
649*4882a593Smuzhiyun	status = "okay";
650*4882a593Smuzhiyun	vmmc-supply = <&evm_3v3_sd>;
651*4882a593Smuzhiyun	vmmc_aux-supply = <&ldo1_reg>;
652*4882a593Smuzhiyun	bus-width = <4>;
653*4882a593Smuzhiyun	/*
654*4882a593Smuzhiyun	 * SDCD signal is not being used here - using the fact that GPIO mode
655*4882a593Smuzhiyun	 * is always hardwired.
656*4882a593Smuzhiyun	 */
657*4882a593Smuzhiyun	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
658*4882a593Smuzhiyun};
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun&mmc2 {
661*4882a593Smuzhiyun	status = "okay";
662*4882a593Smuzhiyun	vmmc-supply = <&evm_3v3_sw>;
663*4882a593Smuzhiyun	bus-width = <8>;
664*4882a593Smuzhiyun};
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun&cpu0 {
667*4882a593Smuzhiyun	cpu0-supply = <&smps123_reg>;
668*4882a593Smuzhiyun};
669*4882a593Smuzhiyun
670*4882a593Smuzhiyun&qspi {
671*4882a593Smuzhiyun	status = "okay";
672*4882a593Smuzhiyun
673*4882a593Smuzhiyun	spi-max-frequency = <76800000>;
674*4882a593Smuzhiyun	m25p80@0 {
675*4882a593Smuzhiyun		compatible = "s25fl256s1", "spi-flash";
676*4882a593Smuzhiyun		spi-max-frequency = <76800000>;
677*4882a593Smuzhiyun		reg = <0>;
678*4882a593Smuzhiyun		spi-tx-bus-width = <1>;
679*4882a593Smuzhiyun		spi-rx-bus-width = <4>;
680*4882a593Smuzhiyun		#address-cells = <1>;
681*4882a593Smuzhiyun		#size-cells = <1>;
682*4882a593Smuzhiyun
683*4882a593Smuzhiyun		/* MTD partition table.
684*4882a593Smuzhiyun		 * The ROM checks the first four physical blocks
685*4882a593Smuzhiyun		 * for a valid file to boot and the flash here is
686*4882a593Smuzhiyun		 * 64KiB block size.
687*4882a593Smuzhiyun		 */
688*4882a593Smuzhiyun		partition@0 {
689*4882a593Smuzhiyun			label = "QSPI.SPL";
690*4882a593Smuzhiyun			reg = <0x00000000 0x000010000>;
691*4882a593Smuzhiyun		};
692*4882a593Smuzhiyun		partition@1 {
693*4882a593Smuzhiyun			label = "QSPI.SPL.backup1";
694*4882a593Smuzhiyun			reg = <0x00010000 0x00010000>;
695*4882a593Smuzhiyun		};
696*4882a593Smuzhiyun		partition@2 {
697*4882a593Smuzhiyun			label = "QSPI.SPL.backup2";
698*4882a593Smuzhiyun			reg = <0x00020000 0x00010000>;
699*4882a593Smuzhiyun		};
700*4882a593Smuzhiyun		partition@3 {
701*4882a593Smuzhiyun			label = "QSPI.SPL.backup3";
702*4882a593Smuzhiyun			reg = <0x00030000 0x00010000>;
703*4882a593Smuzhiyun		};
704*4882a593Smuzhiyun		partition@4 {
705*4882a593Smuzhiyun			label = "QSPI.u-boot";
706*4882a593Smuzhiyun			reg = <0x00040000 0x00100000>;
707*4882a593Smuzhiyun		};
708*4882a593Smuzhiyun		partition@5 {
709*4882a593Smuzhiyun			label = "QSPI.u-boot-spl-os";
710*4882a593Smuzhiyun			reg = <0x00140000 0x00080000>;
711*4882a593Smuzhiyun		};
712*4882a593Smuzhiyun		partition@6 {
713*4882a593Smuzhiyun			label = "QSPI.u-boot-env";
714*4882a593Smuzhiyun			reg = <0x001c0000 0x00010000>;
715*4882a593Smuzhiyun		};
716*4882a593Smuzhiyun		partition@7 {
717*4882a593Smuzhiyun			label = "QSPI.u-boot-env.backup1";
718*4882a593Smuzhiyun			reg = <0x001d0000 0x0010000>;
719*4882a593Smuzhiyun		};
720*4882a593Smuzhiyun		partition@8 {
721*4882a593Smuzhiyun			label = "QSPI.kernel";
722*4882a593Smuzhiyun			reg = <0x001e0000 0x0800000>;
723*4882a593Smuzhiyun		};
724*4882a593Smuzhiyun		partition@9 {
725*4882a593Smuzhiyun			label = "QSPI.file-system";
726*4882a593Smuzhiyun			reg = <0x009e0000 0x01620000>;
727*4882a593Smuzhiyun		};
728*4882a593Smuzhiyun	};
729*4882a593Smuzhiyun};
730*4882a593Smuzhiyun
731*4882a593Smuzhiyun&omap_dwc3_1 {
732*4882a593Smuzhiyun	extcon = <&extcon_usb1>;
733*4882a593Smuzhiyun};
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun&omap_dwc3_2 {
736*4882a593Smuzhiyun	extcon = <&extcon_usb2>;
737*4882a593Smuzhiyun};
738*4882a593Smuzhiyun
739*4882a593Smuzhiyun&usb1 {
740*4882a593Smuzhiyun	dr_mode = "peripheral";
741*4882a593Smuzhiyun	pinctrl-names = "default";
742*4882a593Smuzhiyun	pinctrl-0 = <&usb1_pins>;
743*4882a593Smuzhiyun};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun&usb2 {
746*4882a593Smuzhiyun	dr_mode = "host";
747*4882a593Smuzhiyun	pinctrl-names = "default";
748*4882a593Smuzhiyun	pinctrl-0 = <&usb2_pins>;
749*4882a593Smuzhiyun};
750*4882a593Smuzhiyun
751*4882a593Smuzhiyun&elm {
752*4882a593Smuzhiyun	status = "okay";
753*4882a593Smuzhiyun};
754*4882a593Smuzhiyun
755*4882a593Smuzhiyun&gpmc {
756*4882a593Smuzhiyun	status = "okay";
757*4882a593Smuzhiyun	pinctrl-names = "default";
758*4882a593Smuzhiyun	pinctrl-0 = <&nand_flash_x16>;
759*4882a593Smuzhiyun	ranges = <0 0 0x08000000 0x01000000>;	/* minimum GPMC partition = 16MB */
760*4882a593Smuzhiyun	nand@0,0 {
761*4882a593Smuzhiyun		compatible = "ti,omap2-nand";
762*4882a593Smuzhiyun		reg = <0 0 4>;		/* device IO registers */
763*4882a593Smuzhiyun		interrupt-parent = <&gpmc>;
764*4882a593Smuzhiyun		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
765*4882a593Smuzhiyun			     <1 IRQ_TYPE_NONE>; /* termcount */
766*4882a593Smuzhiyun		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
767*4882a593Smuzhiyun		ti,nand-ecc-opt = "bch8";
768*4882a593Smuzhiyun		ti,elm-id = <&elm>;
769*4882a593Smuzhiyun		nand-bus-width = <16>;
770*4882a593Smuzhiyun		gpmc,device-width = <2>;
771*4882a593Smuzhiyun		gpmc,sync-clk-ps = <0>;
772*4882a593Smuzhiyun		gpmc,cs-on-ns = <0>;
773*4882a593Smuzhiyun		gpmc,cs-rd-off-ns = <80>;
774*4882a593Smuzhiyun		gpmc,cs-wr-off-ns = <80>;
775*4882a593Smuzhiyun		gpmc,adv-on-ns = <0>;
776*4882a593Smuzhiyun		gpmc,adv-rd-off-ns = <60>;
777*4882a593Smuzhiyun		gpmc,adv-wr-off-ns = <60>;
778*4882a593Smuzhiyun		gpmc,we-on-ns = <10>;
779*4882a593Smuzhiyun		gpmc,we-off-ns = <50>;
780*4882a593Smuzhiyun		gpmc,oe-on-ns = <4>;
781*4882a593Smuzhiyun		gpmc,oe-off-ns = <40>;
782*4882a593Smuzhiyun		gpmc,access-ns = <40>;
783*4882a593Smuzhiyun		gpmc,wr-access-ns = <80>;
784*4882a593Smuzhiyun		gpmc,rd-cycle-ns = <80>;
785*4882a593Smuzhiyun		gpmc,wr-cycle-ns = <80>;
786*4882a593Smuzhiyun		gpmc,bus-turnaround-ns = <0>;
787*4882a593Smuzhiyun		gpmc,cycle2cycle-delay-ns = <0>;
788*4882a593Smuzhiyun		gpmc,clk-activation-ns = <0>;
789*4882a593Smuzhiyun		gpmc,wr-data-mux-bus-ns = <0>;
790*4882a593Smuzhiyun		/* MTD partition table */
791*4882a593Smuzhiyun		/* All SPL-* partitions are sized to minimal length
792*4882a593Smuzhiyun		 * which can be independently programmable. For
793*4882a593Smuzhiyun		 * NAND flash this is equal to size of erase-block */
794*4882a593Smuzhiyun		#address-cells = <1>;
795*4882a593Smuzhiyun		#size-cells = <1>;
796*4882a593Smuzhiyun		partition@0 {
797*4882a593Smuzhiyun			label = "NAND.SPL";
798*4882a593Smuzhiyun			reg = <0x00000000 0x000020000>;
799*4882a593Smuzhiyun		};
800*4882a593Smuzhiyun		partition@1 {
801*4882a593Smuzhiyun			label = "NAND.SPL.backup1";
802*4882a593Smuzhiyun			reg = <0x00020000 0x00020000>;
803*4882a593Smuzhiyun		};
804*4882a593Smuzhiyun		partition@2 {
805*4882a593Smuzhiyun			label = "NAND.SPL.backup2";
806*4882a593Smuzhiyun			reg = <0x00040000 0x00020000>;
807*4882a593Smuzhiyun		};
808*4882a593Smuzhiyun		partition@3 {
809*4882a593Smuzhiyun			label = "NAND.SPL.backup3";
810*4882a593Smuzhiyun			reg = <0x00060000 0x00020000>;
811*4882a593Smuzhiyun		};
812*4882a593Smuzhiyun		partition@4 {
813*4882a593Smuzhiyun			label = "NAND.u-boot-spl-os";
814*4882a593Smuzhiyun			reg = <0x00080000 0x00040000>;
815*4882a593Smuzhiyun		};
816*4882a593Smuzhiyun		partition@5 {
817*4882a593Smuzhiyun			label = "NAND.u-boot";
818*4882a593Smuzhiyun			reg = <0x000c0000 0x00100000>;
819*4882a593Smuzhiyun		};
820*4882a593Smuzhiyun		partition@6 {
821*4882a593Smuzhiyun			label = "NAND.u-boot-env";
822*4882a593Smuzhiyun			reg = <0x001c0000 0x00020000>;
823*4882a593Smuzhiyun		};
824*4882a593Smuzhiyun		partition@7 {
825*4882a593Smuzhiyun			label = "NAND.u-boot-env.backup1";
826*4882a593Smuzhiyun			reg = <0x001e0000 0x00020000>;
827*4882a593Smuzhiyun		};
828*4882a593Smuzhiyun		partition@8 {
829*4882a593Smuzhiyun			label = "NAND.kernel";
830*4882a593Smuzhiyun			reg = <0x00200000 0x00800000>;
831*4882a593Smuzhiyun		};
832*4882a593Smuzhiyun		partition@9 {
833*4882a593Smuzhiyun			label = "NAND.file-system";
834*4882a593Smuzhiyun			reg = <0x00a00000 0x0f600000>;
835*4882a593Smuzhiyun		};
836*4882a593Smuzhiyun	};
837*4882a593Smuzhiyun};
838*4882a593Smuzhiyun
839*4882a593Smuzhiyun&usb2_phy1 {
840*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
841*4882a593Smuzhiyun};
842*4882a593Smuzhiyun
843*4882a593Smuzhiyun&usb2_phy2 {
844*4882a593Smuzhiyun	phy-supply = <&ldousb_reg>;
845*4882a593Smuzhiyun};
846*4882a593Smuzhiyun
847*4882a593Smuzhiyun&gpio7 {
848*4882a593Smuzhiyun	ti,no-reset-on-init;
849*4882a593Smuzhiyun	ti,no-idle-on-init;
850*4882a593Smuzhiyun};
851*4882a593Smuzhiyun
852*4882a593Smuzhiyun&mac {
853*4882a593Smuzhiyun	status = "okay";
854*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
855*4882a593Smuzhiyun	pinctrl-0 = <&cpsw_default>;
856*4882a593Smuzhiyun	pinctrl-1 = <&cpsw_sleep>;
857*4882a593Smuzhiyun	dual_emac;
858*4882a593Smuzhiyun};
859*4882a593Smuzhiyun
860*4882a593Smuzhiyun&cpsw_emac0 {
861*4882a593Smuzhiyun	phy_id = <&davinci_mdio>, <2>;
862*4882a593Smuzhiyun	phy-mode = "rgmii";
863*4882a593Smuzhiyun	dual_emac_res_vlan = <1>;
864*4882a593Smuzhiyun};
865*4882a593Smuzhiyun
866*4882a593Smuzhiyun&cpsw_emac1 {
867*4882a593Smuzhiyun	phy_id = <&davinci_mdio>, <3>;
868*4882a593Smuzhiyun	phy-mode = "rgmii";
869*4882a593Smuzhiyun	dual_emac_res_vlan = <2>;
870*4882a593Smuzhiyun};
871*4882a593Smuzhiyun
872*4882a593Smuzhiyun&davinci_mdio {
873*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
874*4882a593Smuzhiyun	pinctrl-0 = <&davinci_mdio_default>;
875*4882a593Smuzhiyun	pinctrl-1 = <&davinci_mdio_sleep>;
876*4882a593Smuzhiyun};
877*4882a593Smuzhiyun
878*4882a593Smuzhiyun&dcan1 {
879*4882a593Smuzhiyun	status = "ok";
880*4882a593Smuzhiyun	pinctrl-names = "default", "sleep", "active";
881*4882a593Smuzhiyun	pinctrl-0 = <&dcan1_pins_sleep>;
882*4882a593Smuzhiyun	pinctrl-1 = <&dcan1_pins_sleep>;
883*4882a593Smuzhiyun	pinctrl-2 = <&dcan1_pins_default>;
884*4882a593Smuzhiyun};
885*4882a593Smuzhiyun
886*4882a593Smuzhiyun&atl {
887*4882a593Smuzhiyun	pinctrl-names = "default";
888*4882a593Smuzhiyun	pinctrl-0 = <&atl_pins>;
889*4882a593Smuzhiyun
890*4882a593Smuzhiyun	assigned-clocks = <&abe_dpll_sys_clk_mux>,
891*4882a593Smuzhiyun			  <&atl_gfclk_mux>,
892*4882a593Smuzhiyun			  <&dpll_abe_ck>,
893*4882a593Smuzhiyun			  <&dpll_abe_m2x2_ck>,
894*4882a593Smuzhiyun			  <&atl_clkin2_ck>;
895*4882a593Smuzhiyun	assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
896*4882a593Smuzhiyun	assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
897*4882a593Smuzhiyun
898*4882a593Smuzhiyun	status = "okay";
899*4882a593Smuzhiyun
900*4882a593Smuzhiyun	atl2 {
901*4882a593Smuzhiyun		bws = <DRA7_ATL_WS_MCASP2_FSX>;
902*4882a593Smuzhiyun		aws = <DRA7_ATL_WS_MCASP3_FSX>;
903*4882a593Smuzhiyun	};
904*4882a593Smuzhiyun};
905*4882a593Smuzhiyun
906*4882a593Smuzhiyun&mcasp3 {
907*4882a593Smuzhiyun	#sound-dai-cells = <0>;
908*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
909*4882a593Smuzhiyun	pinctrl-0 = <&mcasp3_pins>;
910*4882a593Smuzhiyun	pinctrl-1 = <&mcasp3_sleep_pins>;
911*4882a593Smuzhiyun
912*4882a593Smuzhiyun	assigned-clocks = <&mcasp3_ahclkx_mux>;
913*4882a593Smuzhiyun	assigned-clock-parents = <&atl_clkin2_ck>;
914*4882a593Smuzhiyun
915*4882a593Smuzhiyun	status = "okay";
916*4882a593Smuzhiyun
917*4882a593Smuzhiyun	op-mode = <0>;          /* MCASP_IIS_MODE */
918*4882a593Smuzhiyun	tdm-slots = <2>;
919*4882a593Smuzhiyun	/* 4 serializer */
920*4882a593Smuzhiyun	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
921*4882a593Smuzhiyun		1 2 0 0
922*4882a593Smuzhiyun	>;
923*4882a593Smuzhiyun	tx-num-evt = <32>;
924*4882a593Smuzhiyun	rx-num-evt = <32>;
925*4882a593Smuzhiyun};
926*4882a593Smuzhiyun
927*4882a593Smuzhiyun&mailbox5 {
928*4882a593Smuzhiyun	status = "okay";
929*4882a593Smuzhiyun	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
930*4882a593Smuzhiyun		status = "okay";
931*4882a593Smuzhiyun	};
932*4882a593Smuzhiyun	mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
933*4882a593Smuzhiyun		status = "okay";
934*4882a593Smuzhiyun	};
935*4882a593Smuzhiyun};
936*4882a593Smuzhiyun
937*4882a593Smuzhiyun&mailbox6 {
938*4882a593Smuzhiyun	status = "okay";
939*4882a593Smuzhiyun	mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
940*4882a593Smuzhiyun		status = "okay";
941*4882a593Smuzhiyun	};
942*4882a593Smuzhiyun	mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
943*4882a593Smuzhiyun		status = "okay";
944*4882a593Smuzhiyun	};
945*4882a593Smuzhiyun};
946