xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/am43x-epos-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
9*4882a593Smuzhiyun/* AM43x EPOS EVM */
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/dts-v1/;
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun#include "am4372.dtsi"
14*4882a593Smuzhiyun#include <dt-bindings/pinctrl/am43xx.h>
15*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
16*4882a593Smuzhiyun#include <dt-bindings/pwm/pwm.h>
17*4882a593Smuzhiyun#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun/ {
20*4882a593Smuzhiyun	model = "TI AM43x EPOS EVM";
21*4882a593Smuzhiyun	compatible = "ti,am43x-epos-evm","ti,am438x","ti,am43";
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	aliases {
24*4882a593Smuzhiyun		display0 = &lcd0;
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	chosen {
28*4882a593Smuzhiyun		stdout-path = &uart0;
29*4882a593Smuzhiyun		tick-timer = &timer2;
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	vmmcsd_fixed: fixedregulator-sd {
33*4882a593Smuzhiyun		compatible = "regulator-fixed";
34*4882a593Smuzhiyun		regulator-name = "vmmcsd_fixed";
35*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
36*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
37*4882a593Smuzhiyun		enable-active-high;
38*4882a593Smuzhiyun	};
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun	vbat: fixedregulator@0 {
41*4882a593Smuzhiyun		compatible = "regulator-fixed";
42*4882a593Smuzhiyun		regulator-name = "vbat";
43*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
44*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
45*4882a593Smuzhiyun		regulator-boot-on;
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	lcd0: display {
49*4882a593Smuzhiyun		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
50*4882a593Smuzhiyun		label = "lcd";
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		panel-timing {
53*4882a593Smuzhiyun			clock-frequency = <33000000>;
54*4882a593Smuzhiyun			hactive = <800>;
55*4882a593Smuzhiyun			vactive = <480>;
56*4882a593Smuzhiyun			hfront-porch = <210>;
57*4882a593Smuzhiyun			hback-porch = <16>;
58*4882a593Smuzhiyun			hsync-len = <30>;
59*4882a593Smuzhiyun			vback-porch = <10>;
60*4882a593Smuzhiyun			vfront-porch = <22>;
61*4882a593Smuzhiyun			vsync-len = <13>;
62*4882a593Smuzhiyun			hsync-active = <0>;
63*4882a593Smuzhiyun			vsync-active = <0>;
64*4882a593Smuzhiyun			de-active = <1>;
65*4882a593Smuzhiyun			pixelclk-active = <1>;
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		port {
69*4882a593Smuzhiyun			lcd_in: endpoint {
70*4882a593Smuzhiyun				remote-endpoint = <&dpi_out>;
71*4882a593Smuzhiyun			};
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun	};
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	matrix_keypad: matrix_keypad@0 {
76*4882a593Smuzhiyun		compatible = "gpio-matrix-keypad";
77*4882a593Smuzhiyun		debounce-delay-ms = <5>;
78*4882a593Smuzhiyun		col-scan-delay-us = <2>;
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		row-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH		/* Bank0, pin12 */
81*4882a593Smuzhiyun			     &gpio0 13 GPIO_ACTIVE_HIGH		/* Bank0, pin13 */
82*4882a593Smuzhiyun			     &gpio0 14 GPIO_ACTIVE_HIGH		/* Bank0, pin14 */
83*4882a593Smuzhiyun			     &gpio0 15 GPIO_ACTIVE_HIGH>;	/* Bank0, pin15 */
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun		col-gpios = <&gpio3 9 GPIO_ACTIVE_HIGH		/* Bank3, pin9 */
86*4882a593Smuzhiyun			     &gpio3 10 GPIO_ACTIVE_HIGH		/* Bank3, pin10 */
87*4882a593Smuzhiyun			     &gpio2 18 GPIO_ACTIVE_HIGH		/* Bank2, pin18 */
88*4882a593Smuzhiyun			     &gpio2 19 GPIO_ACTIVE_HIGH>;	/* Bank2, pin19 */
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun		linux,keymap = <0x00000201	/* P1 */
91*4882a593Smuzhiyun			0x01000204	/* P4 */
92*4882a593Smuzhiyun			0x02000207	/* P7 */
93*4882a593Smuzhiyun			0x0300020a	/* NUMERIC_STAR */
94*4882a593Smuzhiyun			0x00010202	/* P2 */
95*4882a593Smuzhiyun			0x01010205	/* P5 */
96*4882a593Smuzhiyun			0x02010208	/* P8 */
97*4882a593Smuzhiyun			0x03010200	/* P0 */
98*4882a593Smuzhiyun			0x00020203	/* P3 */
99*4882a593Smuzhiyun			0x01020206	/* P6 */
100*4882a593Smuzhiyun			0x02020209	/* P9 */
101*4882a593Smuzhiyun			0x0302020b	/* NUMERIC_POUND */
102*4882a593Smuzhiyun			0x00030067	/* UP */
103*4882a593Smuzhiyun			0x0103006a	/* RIGHT */
104*4882a593Smuzhiyun			0x0203006c	/* DOWN */
105*4882a593Smuzhiyun			0x03030069>;	/* LEFT */
106*4882a593Smuzhiyun	};
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	backlight {
109*4882a593Smuzhiyun		compatible = "pwm-backlight";
110*4882a593Smuzhiyun		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
111*4882a593Smuzhiyun		brightness-levels = <0 51 53 56 62 75 101 152 255>;
112*4882a593Smuzhiyun		default-brightness-level = <8>;
113*4882a593Smuzhiyun	};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun	sound0: sound@0 {
116*4882a593Smuzhiyun		compatible = "simple-audio-card";
117*4882a593Smuzhiyun		simple-audio-card,name = "AM43-EPOS-EVM";
118*4882a593Smuzhiyun		simple-audio-card,widgets =
119*4882a593Smuzhiyun			"Microphone", "Microphone Jack",
120*4882a593Smuzhiyun			"Headphone", "Headphone Jack",
121*4882a593Smuzhiyun			"Speaker", "Speaker";
122*4882a593Smuzhiyun		simple-audio-card,routing =
123*4882a593Smuzhiyun			"MIC1LP", "Microphone Jack",
124*4882a593Smuzhiyun			"MIC1RP", "Microphone Jack",
125*4882a593Smuzhiyun			"MIC1LP", "MICBIAS",
126*4882a593Smuzhiyun			"MIC1RP", "MICBIAS",
127*4882a593Smuzhiyun			"Headphone Jack", "HPL",
128*4882a593Smuzhiyun			"Headphone Jack", "HPR",
129*4882a593Smuzhiyun			"Speaker", "SPL",
130*4882a593Smuzhiyun			"Speaker", "SPR";
131*4882a593Smuzhiyun		simple-audio-card,format = "dsp_b";
132*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sound0_master>;
133*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sound0_master>;
134*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion;
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun		simple-audio-card,cpu {
137*4882a593Smuzhiyun			sound-dai = <&mcasp1>;
138*4882a593Smuzhiyun			system-clock-frequency = <12000000>;
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		sound0_master: simple-audio-card,codec {
142*4882a593Smuzhiyun			sound-dai = <&tlv320aic3111>;
143*4882a593Smuzhiyun			system-clock-frequency = <12000000>;
144*4882a593Smuzhiyun		};
145*4882a593Smuzhiyun	};
146*4882a593Smuzhiyun};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun&am43xx_pinmux {
149*4882a593Smuzhiyun		cpsw_default: cpsw_default {
150*4882a593Smuzhiyun			pinctrl-single,pins = <
151*4882a593Smuzhiyun				/* Slave 1 */
152*4882a593Smuzhiyun				AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_crs.rmii1_crs */
153*4882a593Smuzhiyun				AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxerr.rmii1_rxerr */
154*4882a593Smuzhiyun				AM4372_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii1_txen.rmii1_txen */
155*4882a593Smuzhiyun				AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxdv.rmii1_rxdv */
156*4882a593Smuzhiyun				AM4372_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii1_txd1.rmii1_txd1 */
157*4882a593Smuzhiyun				AM4372_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* mii1_txd0.rmii1_txd0 */
158*4882a593Smuzhiyun				AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxd1.rmii1_rxd1 */
159*4882a593Smuzhiyun				AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxd0.rmii1_rxd0 */
160*4882a593Smuzhiyun				AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* rmii1_refclk.rmii1_refclk */
161*4882a593Smuzhiyun			>;
162*4882a593Smuzhiyun		};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun		cpsw_sleep: cpsw_sleep {
165*4882a593Smuzhiyun			pinctrl-single,pins = <
166*4882a593Smuzhiyun				/* Slave 1 reset value */
167*4882a593Smuzhiyun				AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
168*4882a593Smuzhiyun				AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
169*4882a593Smuzhiyun				AM4372_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
170*4882a593Smuzhiyun				AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
171*4882a593Smuzhiyun				AM4372_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
172*4882a593Smuzhiyun				AM4372_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
173*4882a593Smuzhiyun				AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
174*4882a593Smuzhiyun				AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
175*4882a593Smuzhiyun				AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
176*4882a593Smuzhiyun			>;
177*4882a593Smuzhiyun		};
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun		davinci_mdio_default: davinci_mdio_default {
180*4882a593Smuzhiyun			pinctrl-single,pins = <
181*4882a593Smuzhiyun				/* MDIO */
182*4882a593Smuzhiyun				AM4372_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
183*4882a593Smuzhiyun				AM4372_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
184*4882a593Smuzhiyun			>;
185*4882a593Smuzhiyun		};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun		davinci_mdio_sleep: davinci_mdio_sleep {
188*4882a593Smuzhiyun			pinctrl-single,pins = <
189*4882a593Smuzhiyun				/* MDIO reset value */
190*4882a593Smuzhiyun				AM4372_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
191*4882a593Smuzhiyun				AM4372_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
192*4882a593Smuzhiyun			>;
193*4882a593Smuzhiyun		};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun		i2c0_pins: pinmux_i2c0_pins {
196*4882a593Smuzhiyun			pinctrl-single,pins = <
197*4882a593Smuzhiyun				AM4372_IOPAD(0x988, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
198*4882a593Smuzhiyun				AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
199*4882a593Smuzhiyun			>;
200*4882a593Smuzhiyun		};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun		nand_flash_x8: nand_flash_x8 {
203*4882a593Smuzhiyun			pinctrl-single,pins = <
204*4882a593Smuzhiyun				AM4372_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE7)	/* gpmc_a0.SELQSPIorNAND/GPIO */
205*4882a593Smuzhiyun				AM4372_IOPAD(0x800, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad0.gpmc_ad0 */
206*4882a593Smuzhiyun				AM4372_IOPAD(0x804, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad1.gpmc_ad1 */
207*4882a593Smuzhiyun				AM4372_IOPAD(0x808, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad2.gpmc_ad2 */
208*4882a593Smuzhiyun				AM4372_IOPAD(0x80c, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad3.gpmc_ad3 */
209*4882a593Smuzhiyun				AM4372_IOPAD(0x810, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad4.gpmc_ad4 */
210*4882a593Smuzhiyun				AM4372_IOPAD(0x814, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad5.gpmc_ad5 */
211*4882a593Smuzhiyun				AM4372_IOPAD(0x818, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad6.gpmc_ad6 */
212*4882a593Smuzhiyun				AM4372_IOPAD(0x81c, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* gpmc_ad7.gpmc_ad7 */
213*4882a593Smuzhiyun				AM4372_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)	/* gpmc_wait0.gpmc_wait0 */
214*4882a593Smuzhiyun				AM4372_IOPAD(0x874, PIN_OUTPUT_PULLUP | MUX_MODE7)	/* gpmc_wpn.gpmc_wpn */
215*4882a593Smuzhiyun				AM4372_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_csn0.gpmc_csn0  */
216*4882a593Smuzhiyun				AM4372_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)		/* gpmc_advn_ale.gpmc_advn_ale */
217*4882a593Smuzhiyun				AM4372_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)		/* gpmc_oen_ren.gpmc_oen_ren */
218*4882a593Smuzhiyun				AM4372_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)		/* gpmc_wen.gpmc_wen */
219*4882a593Smuzhiyun				AM4372_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
220*4882a593Smuzhiyun			>;
221*4882a593Smuzhiyun		};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun		ecap0_pins: backlight_pins {
224*4882a593Smuzhiyun			pinctrl-single,pins = <
225*4882a593Smuzhiyun				AM4372_IOPAD(0x964, MUX_MODE0)         /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
226*4882a593Smuzhiyun			>;
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		i2c2_pins: pinmux_i2c2_pins {
230*4882a593Smuzhiyun			pinctrl-single,pins = <
231*4882a593Smuzhiyun				AM4372_IOPAD(0x9c0, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE8)    /* i2c2_sda.i2c2_sda */
232*4882a593Smuzhiyun				AM4372_IOPAD(0x9c4, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE8)    /* i2c2_scl.i2c2_scl */
233*4882a593Smuzhiyun			>;
234*4882a593Smuzhiyun		};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun		spi0_pins: pinmux_spi0_pins {
237*4882a593Smuzhiyun			pinctrl-single,pins = <
238*4882a593Smuzhiyun				AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0)           /* spi0_clk.spi0_clk */
239*4882a593Smuzhiyun				AM4372_IOPAD(0x954, PIN_OUTPUT | MUX_MODE0)           /* spi0_d0.spi0_d0 */
240*4882a593Smuzhiyun				AM4372_IOPAD(0x958, PIN_INPUT | MUX_MODE0)           /* spi0_d1.spi0_d1 */
241*4882a593Smuzhiyun				AM4372_IOPAD(0x95c, PIN_OUTPUT | MUX_MODE0)          /* spi0_cs0.spi0_cs0 */
242*4882a593Smuzhiyun			>;
243*4882a593Smuzhiyun		};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		spi1_pins: pinmux_spi1_pins {
246*4882a593Smuzhiyun			pinctrl-single,pins = <
247*4882a593Smuzhiyun				AM4372_IOPAD(0x990, PIN_INPUT | MUX_MODE3)           /* mcasp0_aclkx.spi1_clk */
248*4882a593Smuzhiyun				AM4372_IOPAD(0x994, PIN_OUTPUT | MUX_MODE3)           /* mcasp0_fsx.spi1_d0 */
249*4882a593Smuzhiyun				AM4372_IOPAD(0x998, PIN_INPUT | MUX_MODE3)           /* mcasp0_axr0.spi1_d1 */
250*4882a593Smuzhiyun				AM4372_IOPAD(0x99c, PIN_OUTPUT | MUX_MODE3)          /* mcasp0_ahclkr.spi1_cs0 */
251*4882a593Smuzhiyun			>;
252*4882a593Smuzhiyun		};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun		mmc1_pins: pinmux_mmc1_pins {
255*4882a593Smuzhiyun			pinctrl-single,pins = <
256*4882a593Smuzhiyun				AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
257*4882a593Smuzhiyun			>;
258*4882a593Smuzhiyun		};
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun		qspi1_default: qspi1_default {
261*4882a593Smuzhiyun			pinctrl-single,pins = <
262*4882a593Smuzhiyun				AM4372_IOPAD(0x87c, PIN_INPUT_PULLUP | MUX_MODE3)
263*4882a593Smuzhiyun				AM4372_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE2)
264*4882a593Smuzhiyun				AM4372_IOPAD(0x890, PIN_INPUT_PULLUP | MUX_MODE3)
265*4882a593Smuzhiyun				AM4372_IOPAD(0x894, PIN_INPUT_PULLUP | MUX_MODE3)
266*4882a593Smuzhiyun				AM4372_IOPAD(0x898, PIN_INPUT_PULLUP | MUX_MODE3)
267*4882a593Smuzhiyun				AM4372_IOPAD(0x89c, PIN_INPUT_PULLUP | MUX_MODE3)
268*4882a593Smuzhiyun			>;
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun		pixcir_ts_pins: pixcir_ts_pins {
272*4882a593Smuzhiyun			pinctrl-single,pins = <
273*4882a593Smuzhiyun				AM4372_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE7)	/* gpmc_a1.gpio1_17 */
274*4882a593Smuzhiyun			>;
275*4882a593Smuzhiyun		};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun		hdq_pins: pinmux_hdq_pins {
278*4882a593Smuzhiyun			pinctrl-single,pins = <
279*4882a593Smuzhiyun				AM4372_IOPAD(0xa34, PIN_INPUT_PULLUP | MUX_MODE1)    /* cam1_wen.hdq_gpio */
280*4882a593Smuzhiyun			>;
281*4882a593Smuzhiyun		};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun		dss_pins: dss_pins {
284*4882a593Smuzhiyun			pinctrl-single,pins = <
285*4882a593Smuzhiyun				AM4372_IOPAD(0x820, PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
286*4882a593Smuzhiyun				AM4372_IOPAD(0x824, PIN_OUTPUT_PULLUP | MUX_MODE1)
287*4882a593Smuzhiyun				AM4372_IOPAD(0x828, PIN_OUTPUT_PULLUP | MUX_MODE1)
288*4882a593Smuzhiyun				AM4372_IOPAD(0x82c, PIN_OUTPUT_PULLUP | MUX_MODE1)
289*4882a593Smuzhiyun				AM4372_IOPAD(0x830, PIN_OUTPUT_PULLUP | MUX_MODE1)
290*4882a593Smuzhiyun				AM4372_IOPAD(0x834, PIN_OUTPUT_PULLUP | MUX_MODE1)
291*4882a593Smuzhiyun				AM4372_IOPAD(0x838, PIN_OUTPUT_PULLUP | MUX_MODE1)
292*4882a593Smuzhiyun				AM4372_IOPAD(0x83c, PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
293*4882a593Smuzhiyun				AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
294*4882a593Smuzhiyun				AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0)
295*4882a593Smuzhiyun				AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0)
296*4882a593Smuzhiyun				AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0)
297*4882a593Smuzhiyun				AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0)
298*4882a593Smuzhiyun				AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0)
299*4882a593Smuzhiyun				AM4372_IOPAD(0x8B8, PIN_OUTPUT_PULLUP | MUX_MODE0)
300*4882a593Smuzhiyun				AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0)
301*4882a593Smuzhiyun				AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0)
302*4882a593Smuzhiyun				AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0)
303*4882a593Smuzhiyun				AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0)
304*4882a593Smuzhiyun				AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0)
305*4882a593Smuzhiyun				AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0)
306*4882a593Smuzhiyun				AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0)
307*4882a593Smuzhiyun				AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0)
308*4882a593Smuzhiyun				AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
309*4882a593Smuzhiyun				AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
310*4882a593Smuzhiyun				AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
311*4882a593Smuzhiyun				AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
312*4882a593Smuzhiyun				AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
313*4882a593Smuzhiyun			>;
314*4882a593Smuzhiyun		};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun		display_mux_pins: display_mux_pins {
317*4882a593Smuzhiyun			pinctrl-single,pins = <
318*4882a593Smuzhiyun				/* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
319*4882a593Smuzhiyun				AM4372_IOPAD(0x88C, PIN_OUTPUT_PULLUP | MUX_MODE7)
320*4882a593Smuzhiyun			>;
321*4882a593Smuzhiyun		};
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun		vpfe1_pins_default: vpfe1_pins_default {
324*4882a593Smuzhiyun			pinctrl-single,pins = <
325*4882a593Smuzhiyun				AM4372_IOPAD(0x9cc, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data9 mode 0 */
326*4882a593Smuzhiyun				AM4372_IOPAD(0x9d0, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data8 mode 0 */
327*4882a593Smuzhiyun				AM4372_IOPAD(0x9d4, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_hd mode 0 */
328*4882a593Smuzhiyun				AM4372_IOPAD(0x9d8, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_vd mode 0 */
329*4882a593Smuzhiyun				AM4372_IOPAD(0x9dc, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_pclk mode 0 */
330*4882a593Smuzhiyun				AM4372_IOPAD(0x9e8, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data0 mode 0 */
331*4882a593Smuzhiyun				AM4372_IOPAD(0x9ec, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data1 mode 0 */
332*4882a593Smuzhiyun				AM4372_IOPAD(0x9f0, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data2 mode 0 */
333*4882a593Smuzhiyun				AM4372_IOPAD(0x9f4, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data3 mode 0 */
334*4882a593Smuzhiyun				AM4372_IOPAD(0x9f8, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data4 mode 0 */
335*4882a593Smuzhiyun				AM4372_IOPAD(0x9fc, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data5 mode 0 */
336*4882a593Smuzhiyun				AM4372_IOPAD(0xa00, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data6 mode 0 */
337*4882a593Smuzhiyun				AM4372_IOPAD(0xa04, PIN_INPUT_PULLUP | MUX_MODE0)  /* cam1_data7 mode 0 */
338*4882a593Smuzhiyun			>;
339*4882a593Smuzhiyun		};
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun		vpfe1_pins_sleep: vpfe1_pins_sleep {
342*4882a593Smuzhiyun			pinctrl-single,pins = <
343*4882a593Smuzhiyun				AM4372_IOPAD(0x9cc, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
344*4882a593Smuzhiyun				AM4372_IOPAD(0x9d0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
345*4882a593Smuzhiyun				AM4372_IOPAD(0x9d4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
346*4882a593Smuzhiyun				AM4372_IOPAD(0x9d8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
347*4882a593Smuzhiyun				AM4372_IOPAD(0x9dc, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
348*4882a593Smuzhiyun				AM4372_IOPAD(0x9e8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
349*4882a593Smuzhiyun				AM4372_IOPAD(0x9ec, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
350*4882a593Smuzhiyun				AM4372_IOPAD(0x9f0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
351*4882a593Smuzhiyun				AM4372_IOPAD(0x9f4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
352*4882a593Smuzhiyun				AM4372_IOPAD(0x9f8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
353*4882a593Smuzhiyun				AM4372_IOPAD(0x9fc, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
354*4882a593Smuzhiyun				AM4372_IOPAD(0xa00, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
355*4882a593Smuzhiyun				AM4372_IOPAD(0xa04, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
356*4882a593Smuzhiyun			>;
357*4882a593Smuzhiyun		};
358*4882a593Smuzhiyun
359*4882a593Smuzhiyun		mcasp1_pins: mcasp1_pins {
360*4882a593Smuzhiyun			pinctrl-single,pins = <
361*4882a593Smuzhiyun				AM4372_IOPAD(0x9a0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_ACLKR/MCASP1_ACLKX */
362*4882a593Smuzhiyun				AM4372_IOPAD(0x9a4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_FSR/MCASP1_FSX */
363*4882a593Smuzhiyun				AM4372_IOPAD(0x9a8, PIN_OUTPUT_PULLDOWN | MUX_MODE3)/* MCASP0_AXR1/MCASP1_AXR0 */
364*4882a593Smuzhiyun				AM4372_IOPAD(0x9ac, PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_AHCLKX/MCASP1_AXR1 */
365*4882a593Smuzhiyun			>;
366*4882a593Smuzhiyun		};
367*4882a593Smuzhiyun
368*4882a593Smuzhiyun		mcasp1_sleep_pins: mcasp1_sleep_pins {
369*4882a593Smuzhiyun			pinctrl-single,pins = <
370*4882a593Smuzhiyun				AM4372_IOPAD(0x9a0, PIN_INPUT_PULLDOWN | MUX_MODE7)
371*4882a593Smuzhiyun				AM4372_IOPAD(0x9a4, PIN_INPUT_PULLDOWN | MUX_MODE7)
372*4882a593Smuzhiyun				AM4372_IOPAD(0x9a8, PIN_INPUT_PULLDOWN | MUX_MODE7)
373*4882a593Smuzhiyun				AM4372_IOPAD(0x9ac, PIN_INPUT_PULLDOWN | MUX_MODE7)
374*4882a593Smuzhiyun			>;
375*4882a593Smuzhiyun		};
376*4882a593Smuzhiyun};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun&mmc1 {
379*4882a593Smuzhiyun	status = "okay";
380*4882a593Smuzhiyun	vmmc-supply = <&vmmcsd_fixed>;
381*4882a593Smuzhiyun	bus-width = <4>;
382*4882a593Smuzhiyun	pinctrl-names = "default";
383*4882a593Smuzhiyun	pinctrl-0 = <&mmc1_pins>;
384*4882a593Smuzhiyun	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
385*4882a593Smuzhiyun};
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun&mac {
388*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
389*4882a593Smuzhiyun	pinctrl-0 = <&cpsw_default>;
390*4882a593Smuzhiyun	pinctrl-1 = <&cpsw_sleep>;
391*4882a593Smuzhiyun	status = "okay";
392*4882a593Smuzhiyun};
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun&davinci_mdio {
395*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
396*4882a593Smuzhiyun	pinctrl-0 = <&davinci_mdio_default>;
397*4882a593Smuzhiyun	pinctrl-1 = <&davinci_mdio_sleep>;
398*4882a593Smuzhiyun	status = "okay";
399*4882a593Smuzhiyun};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun&cpsw_emac0 {
402*4882a593Smuzhiyun	phy_id = <&davinci_mdio>, <16>;
403*4882a593Smuzhiyun	phy-mode = "rmii";
404*4882a593Smuzhiyun};
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun&cpsw_emac1 {
407*4882a593Smuzhiyun	phy_id = <&davinci_mdio>, <1>;
408*4882a593Smuzhiyun	phy-mode = "rmii";
409*4882a593Smuzhiyun};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun&phy_sel {
412*4882a593Smuzhiyun	rmii-clock-ext;
413*4882a593Smuzhiyun};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun&i2c0 {
416*4882a593Smuzhiyun	status = "okay";
417*4882a593Smuzhiyun	pinctrl-names = "default";
418*4882a593Smuzhiyun	pinctrl-0 = <&i2c0_pins>;
419*4882a593Smuzhiyun	clock-frequency = <400000>;
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun	tps65218: tps65218@24 {
422*4882a593Smuzhiyun		reg = <0x24>;
423*4882a593Smuzhiyun		compatible = "ti,tps65218";
424*4882a593Smuzhiyun		interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
425*4882a593Smuzhiyun		interrupt-controller;
426*4882a593Smuzhiyun		#interrupt-cells = <2>;
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun		dcdc1: regulator-dcdc1 {
429*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc1";
430*4882a593Smuzhiyun			regulator-name = "vdd_core";
431*4882a593Smuzhiyun			regulator-min-microvolt = <912000>;
432*4882a593Smuzhiyun			regulator-max-microvolt = <1144000>;
433*4882a593Smuzhiyun			regulator-boot-on;
434*4882a593Smuzhiyun			regulator-always-on;
435*4882a593Smuzhiyun		};
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun		dcdc2: regulator-dcdc2 {
438*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc2";
439*4882a593Smuzhiyun			regulator-name = "vdd_mpu";
440*4882a593Smuzhiyun			regulator-min-microvolt = <912000>;
441*4882a593Smuzhiyun			regulator-max-microvolt = <1378000>;
442*4882a593Smuzhiyun			regulator-boot-on;
443*4882a593Smuzhiyun			regulator-always-on;
444*4882a593Smuzhiyun		};
445*4882a593Smuzhiyun
446*4882a593Smuzhiyun		dcdc3: regulator-dcdc3 {
447*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc3";
448*4882a593Smuzhiyun			regulator-name = "vdcdc3";
449*4882a593Smuzhiyun			regulator-min-microvolt = <1500000>;
450*4882a593Smuzhiyun			regulator-max-microvolt = <1500000>;
451*4882a593Smuzhiyun			regulator-boot-on;
452*4882a593Smuzhiyun			regulator-always-on;
453*4882a593Smuzhiyun		};
454*4882a593Smuzhiyun
455*4882a593Smuzhiyun		dcdc4: regulator-dcdc4 {
456*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc4";
457*4882a593Smuzhiyun			regulator-name = "vdcdc4";
458*4882a593Smuzhiyun			regulator-min-microvolt = <3300000>;
459*4882a593Smuzhiyun			regulator-max-microvolt = <3300000>;
460*4882a593Smuzhiyun			regulator-boot-on;
461*4882a593Smuzhiyun			regulator-always-on;
462*4882a593Smuzhiyun		};
463*4882a593Smuzhiyun
464*4882a593Smuzhiyun		dcdc5: regulator-dcdc5 {
465*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc5";
466*4882a593Smuzhiyun			regulator-name = "v1_0bat";
467*4882a593Smuzhiyun			regulator-min-microvolt = <1000000>;
468*4882a593Smuzhiyun			regulator-max-microvolt = <1000000>;
469*4882a593Smuzhiyun		};
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun		dcdc6: regulator-dcdc6 {
472*4882a593Smuzhiyun			compatible = "ti,tps65218-dcdc6";
473*4882a593Smuzhiyun			regulator-name = "v1_8bat";
474*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
475*4882a593Smuzhiyun			regulator-max-microvolt = <1800000>;
476*4882a593Smuzhiyun		};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun		ldo1: regulator-ldo1 {
479*4882a593Smuzhiyun			compatible = "ti,tps65218-ldo1";
480*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
481*4882a593Smuzhiyun			regulator-max-microvolt = <1800000>;
482*4882a593Smuzhiyun			regulator-boot-on;
483*4882a593Smuzhiyun			regulator-always-on;
484*4882a593Smuzhiyun		};
485*4882a593Smuzhiyun	};
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun	at24@50 {
488*4882a593Smuzhiyun		compatible = "at24,24c256";
489*4882a593Smuzhiyun		pagesize = <64>;
490*4882a593Smuzhiyun		reg = <0x50>;
491*4882a593Smuzhiyun	};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun	pixcir_ts@5c {
494*4882a593Smuzhiyun		compatible = "pixcir,pixcir_tangoc";
495*4882a593Smuzhiyun		pinctrl-names = "default";
496*4882a593Smuzhiyun		pinctrl-0 = <&pixcir_ts_pins>;
497*4882a593Smuzhiyun		reg = <0x5c>;
498*4882a593Smuzhiyun		interrupt-parent = <&gpio1>;
499*4882a593Smuzhiyun		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
500*4882a593Smuzhiyun
501*4882a593Smuzhiyun		attb-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
502*4882a593Smuzhiyun
503*4882a593Smuzhiyun		touchscreen-size-x = <1024>;
504*4882a593Smuzhiyun		touchscreen-size-y = <600>;
505*4882a593Smuzhiyun	};
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun	tlv320aic3111: tlv320aic3111@18 {
508*4882a593Smuzhiyun		#sound-dai-cells = <0>;
509*4882a593Smuzhiyun		compatible = "ti,tlv320aic3111";
510*4882a593Smuzhiyun		reg = <0x18>;
511*4882a593Smuzhiyun		status = "okay";
512*4882a593Smuzhiyun
513*4882a593Smuzhiyun		ai31xx-micbias-vg = <MICBIAS_2_0V>;
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun		/* Regulators */
516*4882a593Smuzhiyun		HPVDD-supply = <&dcdc4>; /* v3_3AUD -> V3_3D -> DCDC4 */
517*4882a593Smuzhiyun		SPRVDD-supply = <&vbat>; /* vbat */
518*4882a593Smuzhiyun		SPLVDD-supply = <&vbat>; /* vbat */
519*4882a593Smuzhiyun		AVDD-supply = <&dcdc4>; /* v3_3AUD -> V3_3D -> DCDC4 */
520*4882a593Smuzhiyun		IOVDD-supply = <&dcdc4>; /* V3_3D -> DCDC4 */
521*4882a593Smuzhiyun		DVDD-supply = <&ldo1>; /* V1_8AUD -> V1_8D -> LDO1 */
522*4882a593Smuzhiyun	};
523*4882a593Smuzhiyun};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun&i2c2 {
526*4882a593Smuzhiyun	pinctrl-names = "default";
527*4882a593Smuzhiyun	pinctrl-0 = <&i2c2_pins>;
528*4882a593Smuzhiyun	status = "okay";
529*4882a593Smuzhiyun};
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun&gpio0 {
532*4882a593Smuzhiyun	status = "okay";
533*4882a593Smuzhiyun};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun&gpio1 {
536*4882a593Smuzhiyun	status = "okay";
537*4882a593Smuzhiyun};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun&gpio2 {
540*4882a593Smuzhiyun	pinctrl-names = "default";
541*4882a593Smuzhiyun	pinctrl-0 = <&display_mux_pins>;
542*4882a593Smuzhiyun	status = "okay";
543*4882a593Smuzhiyun
544*4882a593Smuzhiyun	p1 {
545*4882a593Smuzhiyun		/*
546*4882a593Smuzhiyun		 * SelLCDorHDMI selects between display and audio paths:
547*4882a593Smuzhiyun		 * Low: HDMI display with audio via HDMI
548*4882a593Smuzhiyun		 * High: LCD display with analog audio via aic3111 codec
549*4882a593Smuzhiyun		 */
550*4882a593Smuzhiyun		gpio-hog;
551*4882a593Smuzhiyun		gpios = <1 GPIO_ACTIVE_HIGH>;
552*4882a593Smuzhiyun		output-high;
553*4882a593Smuzhiyun		line-name = "SelLCDorHDMI";
554*4882a593Smuzhiyun	};
555*4882a593Smuzhiyun};
556*4882a593Smuzhiyun
557*4882a593Smuzhiyun&gpio3 {
558*4882a593Smuzhiyun	status = "okay";
559*4882a593Smuzhiyun};
560*4882a593Smuzhiyun
561*4882a593Smuzhiyun&elm {
562*4882a593Smuzhiyun	status = "okay";
563*4882a593Smuzhiyun};
564*4882a593Smuzhiyun
565*4882a593Smuzhiyun&gpmc {
566*4882a593Smuzhiyun	status = "okay";	/* Disable QSPI when enabling GPMC (NAND) */
567*4882a593Smuzhiyun	pinctrl-names = "default";
568*4882a593Smuzhiyun	pinctrl-0 = <&nand_flash_x8>;
569*4882a593Smuzhiyun	ranges = <0 0 0x08000000 0x01000000>;	/* CS0 space. Min partition = 16MB */
570*4882a593Smuzhiyun	nand@0,0 {
571*4882a593Smuzhiyun		compatible = "ti,omap2-nand";
572*4882a593Smuzhiyun		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
573*4882a593Smuzhiyun		interrupt-parent = <&gpmc>;
574*4882a593Smuzhiyun		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
575*4882a593Smuzhiyun			     <1 IRQ_TYPE_NONE>;	/* termcount */
576*4882a593Smuzhiyun		ti,nand-ecc-opt = "bch16";
577*4882a593Smuzhiyun		ti,elm-id = <&elm>;
578*4882a593Smuzhiyun		nand-bus-width = <8>;
579*4882a593Smuzhiyun		gpmc,device-width = <1>;
580*4882a593Smuzhiyun		gpmc,sync-clk-ps = <0>;
581*4882a593Smuzhiyun		gpmc,cs-on-ns = <0>;
582*4882a593Smuzhiyun		gpmc,cs-rd-off-ns = <40>; /* tCEA + tCHZ + 1 */
583*4882a593Smuzhiyun		gpmc,cs-wr-off-ns = <40>;
584*4882a593Smuzhiyun		gpmc,adv-on-ns = <0>;  /* cs-on-ns */
585*4882a593Smuzhiyun		gpmc,adv-rd-off-ns = <25>; /* min( tALH + tALS + 1) */
586*4882a593Smuzhiyun		gpmc,adv-wr-off-ns = <25>; /* min( tALH + tALS + 1) */
587*4882a593Smuzhiyun		gpmc,we-on-ns = <0>;   /* cs-on-ns */
588*4882a593Smuzhiyun		gpmc,we-off-ns = <20>; /* we-on-time + tWP + 2 */
589*4882a593Smuzhiyun		gpmc,oe-on-ns = <3>;  /* cs-on-ns + tRR + 2 */
590*4882a593Smuzhiyun		gpmc,oe-off-ns = <30>; /* oe-on-ns + tRP + 2 */
591*4882a593Smuzhiyun		gpmc,access-ns = <30>; /* tCEA + 4*/
592*4882a593Smuzhiyun		gpmc,rd-cycle-ns = <40>;
593*4882a593Smuzhiyun		gpmc,wr-cycle-ns = <40>;
594*4882a593Smuzhiyun		gpmc,bus-turnaround-ns = <0>;
595*4882a593Smuzhiyun		gpmc,cycle2cycle-delay-ns = <0>;
596*4882a593Smuzhiyun		gpmc,clk-activation-ns = <0>;
597*4882a593Smuzhiyun		gpmc,wr-access-ns = <40>;
598*4882a593Smuzhiyun		gpmc,wr-data-mux-bus-ns = <0>;
599*4882a593Smuzhiyun		/* MTD partition table */
600*4882a593Smuzhiyun		/* All SPL-* partitions are sized to minimal length
601*4882a593Smuzhiyun		 * which can be independently programmable. For
602*4882a593Smuzhiyun		 * NAND flash this is equal to size of erase-block */
603*4882a593Smuzhiyun		#address-cells = <1>;
604*4882a593Smuzhiyun		#size-cells = <1>;
605*4882a593Smuzhiyun		partition@0 {
606*4882a593Smuzhiyun			label = "NAND.SPL";
607*4882a593Smuzhiyun			reg = <0x00000000 0x00040000>;
608*4882a593Smuzhiyun		};
609*4882a593Smuzhiyun		partition@1 {
610*4882a593Smuzhiyun			label = "NAND.SPL.backup1";
611*4882a593Smuzhiyun			reg = <0x00040000 0x00040000>;
612*4882a593Smuzhiyun		};
613*4882a593Smuzhiyun		partition@2 {
614*4882a593Smuzhiyun			label = "NAND.SPL.backup2";
615*4882a593Smuzhiyun			reg = <0x00080000 0x00040000>;
616*4882a593Smuzhiyun		};
617*4882a593Smuzhiyun		partition@3 {
618*4882a593Smuzhiyun			label = "NAND.SPL.backup3";
619*4882a593Smuzhiyun			reg = <0x000C0000 0x00040000>;
620*4882a593Smuzhiyun		};
621*4882a593Smuzhiyun		partition@4 {
622*4882a593Smuzhiyun			label = "NAND.u-boot-spl-os";
623*4882a593Smuzhiyun			reg = <0x00100000 0x00080000>;
624*4882a593Smuzhiyun		};
625*4882a593Smuzhiyun		partition@5 {
626*4882a593Smuzhiyun			label = "NAND.u-boot";
627*4882a593Smuzhiyun			reg = <0x00180000 0x00100000>;
628*4882a593Smuzhiyun		};
629*4882a593Smuzhiyun		partition@6 {
630*4882a593Smuzhiyun			label = "NAND.u-boot-env";
631*4882a593Smuzhiyun			reg = <0x00280000 0x00040000>;
632*4882a593Smuzhiyun		};
633*4882a593Smuzhiyun		partition@7 {
634*4882a593Smuzhiyun			label = "NAND.u-boot-env.backup1";
635*4882a593Smuzhiyun			reg = <0x002C0000 0x00040000>;
636*4882a593Smuzhiyun		};
637*4882a593Smuzhiyun		partition@8 {
638*4882a593Smuzhiyun			label = "NAND.kernel";
639*4882a593Smuzhiyun			reg = <0x00300000 0x00700000>;
640*4882a593Smuzhiyun		};
641*4882a593Smuzhiyun		partition@9 {
642*4882a593Smuzhiyun			label = "NAND.file-system";
643*4882a593Smuzhiyun			reg = <0x00a00000 0x1f600000>;
644*4882a593Smuzhiyun		};
645*4882a593Smuzhiyun	};
646*4882a593Smuzhiyun};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun&epwmss0 {
649*4882a593Smuzhiyun	status = "okay";
650*4882a593Smuzhiyun};
651*4882a593Smuzhiyun
652*4882a593Smuzhiyun&tscadc {
653*4882a593Smuzhiyun	status = "okay";
654*4882a593Smuzhiyun
655*4882a593Smuzhiyun	adc {
656*4882a593Smuzhiyun		ti,adc-channels = <0 1 2 3 4 5 6 7>;
657*4882a593Smuzhiyun	};
658*4882a593Smuzhiyun};
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun&ecap0 {
661*4882a593Smuzhiyun		status = "okay";
662*4882a593Smuzhiyun		pinctrl-names = "default";
663*4882a593Smuzhiyun		pinctrl-0 = <&ecap0_pins>;
664*4882a593Smuzhiyun};
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun&spi0 {
667*4882a593Smuzhiyun	pinctrl-names = "default";
668*4882a593Smuzhiyun	pinctrl-0 = <&spi0_pins>;
669*4882a593Smuzhiyun	status = "okay";
670*4882a593Smuzhiyun};
671*4882a593Smuzhiyun
672*4882a593Smuzhiyun&spi1 {
673*4882a593Smuzhiyun	pinctrl-names = "default";
674*4882a593Smuzhiyun	pinctrl-0 = <&spi1_pins>;
675*4882a593Smuzhiyun	status = "okay";
676*4882a593Smuzhiyun};
677*4882a593Smuzhiyun
678*4882a593Smuzhiyun&usb2_phy1 {
679*4882a593Smuzhiyun	status = "okay";
680*4882a593Smuzhiyun};
681*4882a593Smuzhiyun
682*4882a593Smuzhiyun&usb1 {
683*4882a593Smuzhiyun	dr_mode = "peripheral";
684*4882a593Smuzhiyun	status = "okay";
685*4882a593Smuzhiyun};
686*4882a593Smuzhiyun
687*4882a593Smuzhiyun&usb2_phy2 {
688*4882a593Smuzhiyun	status = "okay";
689*4882a593Smuzhiyun};
690*4882a593Smuzhiyun
691*4882a593Smuzhiyun&usb2 {
692*4882a593Smuzhiyun	dr_mode = "host";
693*4882a593Smuzhiyun	status = "okay";
694*4882a593Smuzhiyun};
695*4882a593Smuzhiyun
696*4882a593Smuzhiyun&qspi {
697*4882a593Smuzhiyun	status = "disabled";	/* Disable GPMC (NAND) when enabling QSPI */
698*4882a593Smuzhiyun	pinctrl-names = "default";
699*4882a593Smuzhiyun	pinctrl-0 = <&qspi1_default>;
700*4882a593Smuzhiyun
701*4882a593Smuzhiyun	spi-max-frequency = <48000000>;
702*4882a593Smuzhiyun	m25p80@0 {
703*4882a593Smuzhiyun		compatible = "mx66l51235l";
704*4882a593Smuzhiyun		spi-max-frequency = <48000000>;
705*4882a593Smuzhiyun		reg = <0>;
706*4882a593Smuzhiyun		spi-cpol;
707*4882a593Smuzhiyun		spi-cpha;
708*4882a593Smuzhiyun		spi-tx-bus-width = <1>;
709*4882a593Smuzhiyun		spi-rx-bus-width = <4>;
710*4882a593Smuzhiyun		#address-cells = <1>;
711*4882a593Smuzhiyun		#size-cells = <1>;
712*4882a593Smuzhiyun
713*4882a593Smuzhiyun		/* MTD partition table.
714*4882a593Smuzhiyun		 * The ROM checks the first 512KiB
715*4882a593Smuzhiyun		 * for a valid file to boot(XIP).
716*4882a593Smuzhiyun		 */
717*4882a593Smuzhiyun		partition@0 {
718*4882a593Smuzhiyun			label = "QSPI.U_BOOT";
719*4882a593Smuzhiyun			reg = <0x00000000 0x000080000>;
720*4882a593Smuzhiyun		};
721*4882a593Smuzhiyun		partition@1 {
722*4882a593Smuzhiyun			label = "QSPI.U_BOOT.backup";
723*4882a593Smuzhiyun			reg = <0x00080000 0x00080000>;
724*4882a593Smuzhiyun		};
725*4882a593Smuzhiyun		partition@2 {
726*4882a593Smuzhiyun			label = "QSPI.U-BOOT-SPL_OS";
727*4882a593Smuzhiyun			reg = <0x00100000 0x00010000>;
728*4882a593Smuzhiyun		};
729*4882a593Smuzhiyun		partition@3 {
730*4882a593Smuzhiyun			label = "QSPI.U_BOOT_ENV";
731*4882a593Smuzhiyun			reg = <0x00110000 0x00010000>;
732*4882a593Smuzhiyun		};
733*4882a593Smuzhiyun		partition@4 {
734*4882a593Smuzhiyun			label = "QSPI.U-BOOT-ENV.backup";
735*4882a593Smuzhiyun			reg = <0x00120000 0x00010000>;
736*4882a593Smuzhiyun		};
737*4882a593Smuzhiyun		partition@5 {
738*4882a593Smuzhiyun			label = "QSPI.KERNEL";
739*4882a593Smuzhiyun			reg = <0x00130000 0x0800000>;
740*4882a593Smuzhiyun		};
741*4882a593Smuzhiyun		partition@6 {
742*4882a593Smuzhiyun			label = "QSPI.FILESYSTEM";
743*4882a593Smuzhiyun			reg = <0x00930000 0x36D0000>;
744*4882a593Smuzhiyun		};
745*4882a593Smuzhiyun	};
746*4882a593Smuzhiyun};
747*4882a593Smuzhiyun
748*4882a593Smuzhiyun&hdq {
749*4882a593Smuzhiyun	status = "okay";
750*4882a593Smuzhiyun	pinctrl-names = "default";
751*4882a593Smuzhiyun	pinctrl-0 = <&hdq_pins>;
752*4882a593Smuzhiyun};
753*4882a593Smuzhiyun
754*4882a593Smuzhiyun&dss {
755*4882a593Smuzhiyun	status = "ok";
756*4882a593Smuzhiyun
757*4882a593Smuzhiyun	pinctrl-names = "default";
758*4882a593Smuzhiyun	pinctrl-0 = <&dss_pins>;
759*4882a593Smuzhiyun
760*4882a593Smuzhiyun	port {
761*4882a593Smuzhiyun		dpi_out: endpoint@0 {
762*4882a593Smuzhiyun			remote-endpoint = <&lcd_in>;
763*4882a593Smuzhiyun			data-lines = <24>;
764*4882a593Smuzhiyun		};
765*4882a593Smuzhiyun	};
766*4882a593Smuzhiyun};
767*4882a593Smuzhiyun
768*4882a593Smuzhiyun&vpfe1 {
769*4882a593Smuzhiyun	status = "okay";
770*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
771*4882a593Smuzhiyun	pinctrl-0 = <&vpfe1_pins_default>;
772*4882a593Smuzhiyun	pinctrl-1 = <&vpfe1_pins_sleep>;
773*4882a593Smuzhiyun
774*4882a593Smuzhiyun	port {
775*4882a593Smuzhiyun		vpfe1_ep: endpoint {
776*4882a593Smuzhiyun			/* remote-endpoint = <&sensor>; add once we have it */
777*4882a593Smuzhiyun			ti,am437x-vpfe-interface = <0>;
778*4882a593Smuzhiyun			bus-width = <8>;
779*4882a593Smuzhiyun			hsync-active = <0>;
780*4882a593Smuzhiyun			vsync-active = <0>;
781*4882a593Smuzhiyun		};
782*4882a593Smuzhiyun	};
783*4882a593Smuzhiyun};
784*4882a593Smuzhiyun
785*4882a593Smuzhiyun&mcasp1 {
786*4882a593Smuzhiyun	#sound-dai-cells = <0>;
787*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
788*4882a593Smuzhiyun	pinctrl-0 = <&mcasp1_pins>;
789*4882a593Smuzhiyun	pinctrl-1 = <&mcasp1_sleep_pins>;
790*4882a593Smuzhiyun
791*4882a593Smuzhiyun	status = "okay";
792*4882a593Smuzhiyun
793*4882a593Smuzhiyun	op-mode = <0>;          /* MCASP_IIS_MODE */
794*4882a593Smuzhiyun	tdm-slots = <2>;
795*4882a593Smuzhiyun	/* 4 serializer */
796*4882a593Smuzhiyun	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
797*4882a593Smuzhiyun		1 2 0 0
798*4882a593Smuzhiyun	>;
799*4882a593Smuzhiyun	tx-num-evt = <32>;
800*4882a593Smuzhiyun	rx-num-evt = <32>;
801*4882a593Smuzhiyun};
802*4882a593Smuzhiyun
803*4882a593Smuzhiyun&synctimer_32kclk {
804*4882a593Smuzhiyun	assigned-clocks = <&mux_synctimer32k_ck>;
805*4882a593Smuzhiyun	assigned-clock-parents = <&clkdiv32k_ick>;
806*4882a593Smuzhiyun};
807