xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/tegra20-colibri.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#include "tegra20.dtsi"
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun/*
5*4882a593Smuzhiyun * Toradex Colibri T20 Module Device Tree
6*4882a593Smuzhiyun * Compatible for Revisions Colibri T20 256MB V1.1B, V1.2A;
7*4882a593Smuzhiyun * Colibri T20 256MB IT V1.2A; Colibri T20 512MB V1.1C, V1.2A;
8*4882a593Smuzhiyun * Colibri T20 512MB IT V1.2A
9*4882a593Smuzhiyun */
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	memory@0 {
12*4882a593Smuzhiyun		/*
13*4882a593Smuzhiyun		 * Set memory to 256 MB to be safe as this could be used on
14*4882a593Smuzhiyun		 * 256 or 512 MB module. It is expected from bootloader
15*4882a593Smuzhiyun		 * to fix this up for 512 MB version.
16*4882a593Smuzhiyun		 */
17*4882a593Smuzhiyun		reg = <0x00000000 0x10000000>;
18*4882a593Smuzhiyun	};
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	host1x@50000000 {
21*4882a593Smuzhiyun		hdmi@54280000 {
22*4882a593Smuzhiyun			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
23*4882a593Smuzhiyun			nvidia,hpd-gpio =
24*4882a593Smuzhiyun				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
25*4882a593Smuzhiyun			pll-supply = <&reg_1v8_avdd_hdmi_pll>;
26*4882a593Smuzhiyun			vdd-supply = <&reg_3v3_avdd_hdmi>;
27*4882a593Smuzhiyun		};
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	pinmux@70000014 {
31*4882a593Smuzhiyun		pinctrl-names = "default";
32*4882a593Smuzhiyun		pinctrl-0 = <&state_default>;
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun		state_default: pinmux {
35*4882a593Smuzhiyun			/* Analogue Audio AC97 to WM9712 (On-module) */
36*4882a593Smuzhiyun			audio-refclk {
37*4882a593Smuzhiyun				nvidia,pins = "cdev1";
38*4882a593Smuzhiyun				nvidia,function = "plla_out";
39*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
40*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
41*4882a593Smuzhiyun			};
42*4882a593Smuzhiyun			dap3 {
43*4882a593Smuzhiyun				nvidia,pins = "dap3";
44*4882a593Smuzhiyun				nvidia,function = "dap3";
45*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
46*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
47*4882a593Smuzhiyun			};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun			/*
50*4882a593Smuzhiyun			 * AC97_RESET, ULPI_RESET, AC97_INT aka WM9712 GENIRQ
51*4882a593Smuzhiyun			 * (All on-module), SODIMM Pin 45 Wakeup
52*4882a593Smuzhiyun			 */
53*4882a593Smuzhiyun			gpio-uac {
54*4882a593Smuzhiyun				nvidia,pins = "uac";
55*4882a593Smuzhiyun				nvidia,function = "rsvd2";
56*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
57*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
58*4882a593Smuzhiyun			};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun			/*
61*4882a593Smuzhiyun			 * Buffer Enables for nPWE and RDnWR (On-module,
62*4882a593Smuzhiyun			 * see GPIO hogging further down below)
63*4882a593Smuzhiyun			 */
64*4882a593Smuzhiyun			gpio-pta {
65*4882a593Smuzhiyun				nvidia,pins = "pta";
66*4882a593Smuzhiyun				nvidia,function = "rsvd4";
67*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
68*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
69*4882a593Smuzhiyun			};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun			/*
72*4882a593Smuzhiyun			 * CLK_32K_OUT, CORE_PWR_REQ, CPU_PWR_REQ, PWR_INT_N,
73*4882a593Smuzhiyun			 * SYS_CLK_REQ (All on-module)
74*4882a593Smuzhiyun			 */
75*4882a593Smuzhiyun			pmc {
76*4882a593Smuzhiyun				nvidia,pins = "pmc";
77*4882a593Smuzhiyun				nvidia,function = "pwr_on";
78*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
79*4882a593Smuzhiyun			};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun			/*
82*4882a593Smuzhiyun			 * Colibri Address/Data Bus (GMI)
83*4882a593Smuzhiyun			 * Note: spid and spie optionally used for SPI1
84*4882a593Smuzhiyun			 */
85*4882a593Smuzhiyun			gmi {
86*4882a593Smuzhiyun				nvidia,pins = "atc", "atd", "ate", "dap1",
87*4882a593Smuzhiyun					      "dap2", "dap4", "gmd", "gpu",
88*4882a593Smuzhiyun					      "irrx", "irtx", "spia", "spib",
89*4882a593Smuzhiyun					      "spic", "spid", "spie", "uca",
90*4882a593Smuzhiyun					      "ucb";
91*4882a593Smuzhiyun				nvidia,function = "gmi";
92*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
93*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
94*4882a593Smuzhiyun			};
95*4882a593Smuzhiyun			/* Further pins may be used as GPIOs */
96*4882a593Smuzhiyun			gmi-gpio1 {
97*4882a593Smuzhiyun				nvidia,pins = "lpw0", "lsc1", "lsck", "lsda";
98*4882a593Smuzhiyun				nvidia,function = "hdmi";
99*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
100*4882a593Smuzhiyun			};
101*4882a593Smuzhiyun			gmi-gpio2 {
102*4882a593Smuzhiyun				nvidia,pins = "lcsn", "ldc", "lm0", "lsdi";
103*4882a593Smuzhiyun				nvidia,function = "rsvd4";
104*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
105*4882a593Smuzhiyun			};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun			/* Colibri BL_ON */
108*4882a593Smuzhiyun			bl-on {
109*4882a593Smuzhiyun				nvidia,pins = "dta";
110*4882a593Smuzhiyun				nvidia,function = "rsvd1";
111*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
112*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
113*4882a593Smuzhiyun			};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun			/* Colibri Backlight PWM<A>, PWM<B> */
116*4882a593Smuzhiyun			pwm-a-b {
117*4882a593Smuzhiyun				nvidia,pins = "sdc";
118*4882a593Smuzhiyun				nvidia,function = "pwm";
119*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
120*4882a593Smuzhiyun			};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun			/* Colibri DDC */
123*4882a593Smuzhiyun			ddc {
124*4882a593Smuzhiyun				nvidia,pins = "ddc";
125*4882a593Smuzhiyun				nvidia,function = "i2c2";
126*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_UP>;
127*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
128*4882a593Smuzhiyun			};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun			/*
131*4882a593Smuzhiyun			 * Colibri EXT_IO*
132*4882a593Smuzhiyun			 * Note: dtf optionally used for I2C3
133*4882a593Smuzhiyun			 */
134*4882a593Smuzhiyun			ext-io {
135*4882a593Smuzhiyun				nvidia,pins = "dtf", "spdi";
136*4882a593Smuzhiyun				nvidia,function = "rsvd2";
137*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
138*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun			/*
142*4882a593Smuzhiyun			 * Colibri Ethernet (On-module)
143*4882a593Smuzhiyun			 * ULPI EHCI instance 1 USB2_DP/N -> AX88772B
144*4882a593Smuzhiyun			 */
145*4882a593Smuzhiyun			ulpi {
146*4882a593Smuzhiyun				nvidia,pins = "uaa", "uab", "uda";
147*4882a593Smuzhiyun				nvidia,function = "ulpi";
148*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
149*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun			ulpi-refclk {
152*4882a593Smuzhiyun				nvidia,pins = "cdev2";
153*4882a593Smuzhiyun				nvidia,function = "pllp_out4";
154*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
155*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
156*4882a593Smuzhiyun			};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun			/* Colibri HOTPLUG_DETECT (HDMI) */
159*4882a593Smuzhiyun			hotplug-detect {
160*4882a593Smuzhiyun				nvidia,pins = "hdint";
161*4882a593Smuzhiyun				nvidia,function = "hdmi";
162*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
163*4882a593Smuzhiyun			};
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun			/* Colibri I2C */
166*4882a593Smuzhiyun			i2c {
167*4882a593Smuzhiyun				nvidia,pins = "rm";
168*4882a593Smuzhiyun				nvidia,function = "i2c1";
169*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
170*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
171*4882a593Smuzhiyun			};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun			/*
174*4882a593Smuzhiyun			 * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE
175*4882a593Smuzhiyun			 * today's display need DE, disable LCD_M1
176*4882a593Smuzhiyun			 */
177*4882a593Smuzhiyun			lm1 {
178*4882a593Smuzhiyun				nvidia,pins = "lm1";
179*4882a593Smuzhiyun				nvidia,function = "rsvd3";
180*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
181*4882a593Smuzhiyun			};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun			/* Colibri LCD (L_* resp. LDD<*>) */
184*4882a593Smuzhiyun			lcd {
185*4882a593Smuzhiyun				nvidia,pins = "ld0", "ld1", "ld2", "ld3",
186*4882a593Smuzhiyun					      "ld4", "ld5", "ld6", "ld7",
187*4882a593Smuzhiyun					      "ld8", "ld9", "ld10", "ld11",
188*4882a593Smuzhiyun					      "ld12", "ld13", "ld14", "ld15",
189*4882a593Smuzhiyun					      "ld16", "ld17", "lhs", "lsc0",
190*4882a593Smuzhiyun					      "lspi", "lvs";
191*4882a593Smuzhiyun				nvidia,function = "displaya";
192*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
193*4882a593Smuzhiyun			};
194*4882a593Smuzhiyun			/* Colibri LCD (Optional 24 BPP Support) */
195*4882a593Smuzhiyun			lcd-24 {
196*4882a593Smuzhiyun				nvidia,pins = "ldi", "lhp0", "lhp1", "lhp2",
197*4882a593Smuzhiyun					      "lpp", "lvp1";
198*4882a593Smuzhiyun				nvidia,function = "displaya";
199*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
200*4882a593Smuzhiyun			};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun			/* Colibri MMC */
203*4882a593Smuzhiyun			mmc {
204*4882a593Smuzhiyun				nvidia,pins = "atb", "gma";
205*4882a593Smuzhiyun				nvidia,function = "sdio4";
206*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
207*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
208*4882a593Smuzhiyun			};
209*4882a593Smuzhiyun
210*4882a593Smuzhiyun			/* Colibri MMCCD */
211*4882a593Smuzhiyun			mmccd {
212*4882a593Smuzhiyun				nvidia,pins = "gmb";
213*4882a593Smuzhiyun				nvidia,function = "gmi_int";
214*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
215*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
216*4882a593Smuzhiyun			};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun			/* Colibri MMC (Optional 8-bit) */
219*4882a593Smuzhiyun			mmc-8bit {
220*4882a593Smuzhiyun				nvidia,pins = "gme";
221*4882a593Smuzhiyun				nvidia,function = "sdio4";
222*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
223*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
224*4882a593Smuzhiyun			};
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun			/*
227*4882a593Smuzhiyun			 * Colibri Parallel Camera (Optional)
228*4882a593Smuzhiyun			 * pins multiplexed with others and therefore disabled
229*4882a593Smuzhiyun			 * Note: dta used for BL_ON by default
230*4882a593Smuzhiyun			 */
231*4882a593Smuzhiyun			cif-mclk {
232*4882a593Smuzhiyun				nvidia,pins = "csus";
233*4882a593Smuzhiyun				nvidia,function = "vi_sensor_clk";
234*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
235*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
236*4882a593Smuzhiyun			};
237*4882a593Smuzhiyun			cif {
238*4882a593Smuzhiyun				nvidia,pins = "dtb", "dtc", "dtd";
239*4882a593Smuzhiyun				nvidia,function = "vi";
240*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
241*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
242*4882a593Smuzhiyun			};
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun			/* Colibri PWM<C>, PWM<D> */
245*4882a593Smuzhiyun			pwm-c-d {
246*4882a593Smuzhiyun				nvidia,pins = "sdb", "sdd";
247*4882a593Smuzhiyun				nvidia,function = "pwm";
248*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
249*4882a593Smuzhiyun			};
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun			/* Colibri SSP */
252*4882a593Smuzhiyun			ssp {
253*4882a593Smuzhiyun				nvidia,pins = "slxa", "slxc", "slxd", "slxk";
254*4882a593Smuzhiyun				nvidia,function = "spi4";
255*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
256*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
257*4882a593Smuzhiyun			};
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun			/* Colibri UART-A */
260*4882a593Smuzhiyun			uart-a {
261*4882a593Smuzhiyun				nvidia,pins = "sdio1";
262*4882a593Smuzhiyun				nvidia,function = "uarta";
263*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
264*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
265*4882a593Smuzhiyun			};
266*4882a593Smuzhiyun			uart-a-dsr {
267*4882a593Smuzhiyun				nvidia,pins = "lpw1";
268*4882a593Smuzhiyun				nvidia,function = "rsvd3";
269*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
270*4882a593Smuzhiyun			};
271*4882a593Smuzhiyun			uart-a-dcd {
272*4882a593Smuzhiyun				nvidia,pins = "lpw2";
273*4882a593Smuzhiyun				nvidia,function = "hdmi";
274*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
275*4882a593Smuzhiyun			};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun			/* Colibri UART-B */
278*4882a593Smuzhiyun			uart-b {
279*4882a593Smuzhiyun				nvidia,pins = "gmc";
280*4882a593Smuzhiyun				nvidia,function = "uartd";
281*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
282*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
283*4882a593Smuzhiyun			};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun			/* Colibri UART-C */
286*4882a593Smuzhiyun			uart-c {
287*4882a593Smuzhiyun				nvidia,pins = "uad";
288*4882a593Smuzhiyun				nvidia,function = "irda";
289*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
290*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
291*4882a593Smuzhiyun			};
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun			/* Colibri USB_CDET */
294*4882a593Smuzhiyun			usb-cdet {
295*4882a593Smuzhiyun				nvidia,pins = "spdo";
296*4882a593Smuzhiyun				nvidia,function = "rsvd2";
297*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
298*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
299*4882a593Smuzhiyun			};
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun			/* Colibri USBH_OC */
302*4882a593Smuzhiyun			usbh-oc {
303*4882a593Smuzhiyun				nvidia,pins = "spih";
304*4882a593Smuzhiyun				nvidia,function = "spi2_alt";
305*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
306*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
307*4882a593Smuzhiyun			};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun			/* Colibri USBH_PEN */
310*4882a593Smuzhiyun			usbh-pen {
311*4882a593Smuzhiyun				nvidia,pins = "spig";
312*4882a593Smuzhiyun				nvidia,function = "spi2_alt";
313*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
314*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
315*4882a593Smuzhiyun			};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun			/* Colibri VGA not supported */
318*4882a593Smuzhiyun			vga {
319*4882a593Smuzhiyun				nvidia,pins = "crtp";
320*4882a593Smuzhiyun				nvidia,function = "crt";
321*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
322*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
323*4882a593Smuzhiyun			};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun			/* I2C3 (Optional) */
326*4882a593Smuzhiyun			i2c3 {
327*4882a593Smuzhiyun				nvidia,pins = "dtf";
328*4882a593Smuzhiyun				nvidia,function = "i2c3";
329*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
330*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
331*4882a593Smuzhiyun			};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun			/* JTAG_RTCK */
334*4882a593Smuzhiyun			jtag-rtck {
335*4882a593Smuzhiyun				nvidia,pins = "gpu7";
336*4882a593Smuzhiyun				nvidia,function = "rtck";
337*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
338*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
339*4882a593Smuzhiyun			};
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun			/*
342*4882a593Smuzhiyun			 * LAN_RESET, LAN_EXT_WAKEUP and LAN_PME
343*4882a593Smuzhiyun			 * (All On-module)
344*4882a593Smuzhiyun			 */
345*4882a593Smuzhiyun			gpio-gpv {
346*4882a593Smuzhiyun				nvidia,pins = "gpv";
347*4882a593Smuzhiyun				nvidia,function = "rsvd2";
348*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
349*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
350*4882a593Smuzhiyun			};
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun			/*
353*4882a593Smuzhiyun			 * LAN_V_BUS, VDD_FAULT, BATT_FAULT, WM9712 PENDOWN
354*4882a593Smuzhiyun			 * (All On-module); Colibri CAN_INT
355*4882a593Smuzhiyun			 */
356*4882a593Smuzhiyun			gpio-dte {
357*4882a593Smuzhiyun				nvidia,pins = "dte";
358*4882a593Smuzhiyun				nvidia,function = "rsvd1";
359*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
360*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
361*4882a593Smuzhiyun			};
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun			/* NAND (On-module) */
364*4882a593Smuzhiyun			nand {
365*4882a593Smuzhiyun				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
366*4882a593Smuzhiyun					      "kbce", "kbcf";
367*4882a593Smuzhiyun				nvidia,function = "nand";
368*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
369*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
370*4882a593Smuzhiyun			};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun			/* Onewire (Optional) */
373*4882a593Smuzhiyun			owr {
374*4882a593Smuzhiyun				nvidia,pins = "owc";
375*4882a593Smuzhiyun				nvidia,function = "owr";
376*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
377*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
378*4882a593Smuzhiyun			};
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun			/* Power I2C (On-module) */
381*4882a593Smuzhiyun			i2cp {
382*4882a593Smuzhiyun				nvidia,pins = "i2cp";
383*4882a593Smuzhiyun				nvidia,function = "i2cp";
384*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
385*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
386*4882a593Smuzhiyun			};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyun			/* RESET_OUT */
389*4882a593Smuzhiyun			reset-out {
390*4882a593Smuzhiyun				nvidia,pins = "ata";
391*4882a593Smuzhiyun				nvidia,function = "gmi";
392*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
393*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_DISABLE>;
394*4882a593Smuzhiyun			};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			/*
397*4882a593Smuzhiyun			 * SPI1 (Optional)
398*4882a593Smuzhiyun			 * Note: spid and spie used for Colibri Address/Data
399*4882a593Smuzhiyun			 *       Bus (GMI)
400*4882a593Smuzhiyun			 */
401*4882a593Smuzhiyun			spi1 {
402*4882a593Smuzhiyun				nvidia,pins = "spid", "spie", "spif";
403*4882a593Smuzhiyun				nvidia,function = "spi1";
404*4882a593Smuzhiyun				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
405*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
406*4882a593Smuzhiyun			};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun			/*
409*4882a593Smuzhiyun			 * THERMD_ALERT# (On-module), unlatched I2C address pin
410*4882a593Smuzhiyun			 * of LM95245 temperature sensor therefore requires
411*4882a593Smuzhiyun			 * disabling for now
412*4882a593Smuzhiyun			 */
413*4882a593Smuzhiyun			lvp0 {
414*4882a593Smuzhiyun				nvidia,pins = "lvp0";
415*4882a593Smuzhiyun				nvidia,function = "rsvd3";
416*4882a593Smuzhiyun				nvidia,tristate = <TEGRA_PIN_ENABLE>;
417*4882a593Smuzhiyun			};
418*4882a593Smuzhiyun		};
419*4882a593Smuzhiyun	};
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun	tegra_ac97: ac97@70002000 {
422*4882a593Smuzhiyun		status = "okay";
423*4882a593Smuzhiyun		nvidia,codec-reset-gpio =
424*4882a593Smuzhiyun			<&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_HIGH>;
425*4882a593Smuzhiyun		nvidia,codec-sync-gpio =
426*4882a593Smuzhiyun			<&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
427*4882a593Smuzhiyun	};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun	serial@70006040 {
430*4882a593Smuzhiyun		compatible = "nvidia,tegra20-hsuart";
431*4882a593Smuzhiyun	};
432*4882a593Smuzhiyun
433*4882a593Smuzhiyun	serial@70006300 {
434*4882a593Smuzhiyun		compatible = "nvidia,tegra20-hsuart";
435*4882a593Smuzhiyun	};
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun	nand-controller@70008000 {
438*4882a593Smuzhiyun		status = "okay";
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun		nand@0 {
441*4882a593Smuzhiyun			reg = <0>;
442*4882a593Smuzhiyun			#address-cells = <1>;
443*4882a593Smuzhiyun			#size-cells = <1>;
444*4882a593Smuzhiyun			nand-bus-width = <8>;
445*4882a593Smuzhiyun			nand-on-flash-bbt;
446*4882a593Smuzhiyun			nand-ecc-algo = "bch";
447*4882a593Smuzhiyun			nand-is-boot-medium;
448*4882a593Smuzhiyun			nand-ecc-maximize;
449*4882a593Smuzhiyun			wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
450*4882a593Smuzhiyun		};
451*4882a593Smuzhiyun	};
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun	/*
454*4882a593Smuzhiyun	 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
455*4882a593Smuzhiyun	 * board)
456*4882a593Smuzhiyun	 */
457*4882a593Smuzhiyun	i2c@7000c000 {
458*4882a593Smuzhiyun		clock-frequency = <400000>;
459*4882a593Smuzhiyun	};
460*4882a593Smuzhiyun
461*4882a593Smuzhiyun	/* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */
462*4882a593Smuzhiyun	hdmi_ddc: i2c@7000c400 {
463*4882a593Smuzhiyun		clock-frequency = <10000>;
464*4882a593Smuzhiyun	};
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun	/* GEN2_I2C: unused */
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun	/* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun	/* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */
471*4882a593Smuzhiyun	i2c@7000d000 {
472*4882a593Smuzhiyun		status = "okay";
473*4882a593Smuzhiyun		clock-frequency = <100000>;
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun		pmic@34 {
476*4882a593Smuzhiyun			compatible = "ti,tps6586x";
477*4882a593Smuzhiyun			reg = <0x34>;
478*4882a593Smuzhiyun			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
479*4882a593Smuzhiyun			ti,system-power-controller;
480*4882a593Smuzhiyun			#gpio-cells = <2>;
481*4882a593Smuzhiyun			gpio-controller;
482*4882a593Smuzhiyun			sys-supply = <&reg_module_3v3>;
483*4882a593Smuzhiyun			vin-sm0-supply = <&reg_3v3_vsys>;
484*4882a593Smuzhiyun			vin-sm1-supply = <&reg_3v3_vsys>;
485*4882a593Smuzhiyun			vin-sm2-supply = <&reg_3v3_vsys>;
486*4882a593Smuzhiyun			vinldo01-supply = <&reg_1v8_vdd_ddr2>;
487*4882a593Smuzhiyun			vinldo23-supply = <&reg_module_3v3>;
488*4882a593Smuzhiyun			vinldo4-supply = <&reg_module_3v3>;
489*4882a593Smuzhiyun			vinldo678-supply = <&reg_module_3v3>;
490*4882a593Smuzhiyun			vinldo9-supply = <&reg_module_3v3>;
491*4882a593Smuzhiyun
492*4882a593Smuzhiyun			regulators {
493*4882a593Smuzhiyun				reg_3v3_vsys: sys {
494*4882a593Smuzhiyun					regulator-name = "VSYS_3.3V";
495*4882a593Smuzhiyun					regulator-always-on;
496*4882a593Smuzhiyun				};
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun				sm0 {
499*4882a593Smuzhiyun					regulator-name = "VDD_CORE_1.2V";
500*4882a593Smuzhiyun					regulator-min-microvolt = <1200000>;
501*4882a593Smuzhiyun					regulator-max-microvolt = <1200000>;
502*4882a593Smuzhiyun					regulator-always-on;
503*4882a593Smuzhiyun				};
504*4882a593Smuzhiyun
505*4882a593Smuzhiyun				sm1 {
506*4882a593Smuzhiyun					regulator-name = "VDD_CPU_1.0V";
507*4882a593Smuzhiyun					regulator-min-microvolt = <1000000>;
508*4882a593Smuzhiyun					regulator-max-microvolt = <1000000>;
509*4882a593Smuzhiyun					regulator-always-on;
510*4882a593Smuzhiyun				};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun				reg_1v8_vdd_ddr2: sm2 {
513*4882a593Smuzhiyun					regulator-name = "VDD_DDR2_1.8V";
514*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
515*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
516*4882a593Smuzhiyun					regulator-always-on;
517*4882a593Smuzhiyun				};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun				/* LDO0 is not connected to anything */
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun				/*
522*4882a593Smuzhiyun				 * +3.3V_ENABLE_N switching via FET:
523*4882a593Smuzhiyun				 * AVDD_AUDIO_S and +3.3V
524*4882a593Smuzhiyun				 * see also +3.3V fixed supply
525*4882a593Smuzhiyun				 */
526*4882a593Smuzhiyun				ldo1 {
527*4882a593Smuzhiyun					regulator-name = "AVDD_PLL_1.1V";
528*4882a593Smuzhiyun					regulator-min-microvolt = <1100000>;
529*4882a593Smuzhiyun					regulator-max-microvolt = <1100000>;
530*4882a593Smuzhiyun					regulator-always-on;
531*4882a593Smuzhiyun				};
532*4882a593Smuzhiyun
533*4882a593Smuzhiyun				ldo2 {
534*4882a593Smuzhiyun					regulator-name = "VDD_RTC_1.2V";
535*4882a593Smuzhiyun					regulator-min-microvolt = <1200000>;
536*4882a593Smuzhiyun					regulator-max-microvolt = <1200000>;
537*4882a593Smuzhiyun				};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun				/* LDO3 is not connected to anything */
540*4882a593Smuzhiyun
541*4882a593Smuzhiyun				ldo4 {
542*4882a593Smuzhiyun					regulator-name = "VDDIO_SYS_1.8V";
543*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
544*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
545*4882a593Smuzhiyun					regulator-always-on;
546*4882a593Smuzhiyun				};
547*4882a593Smuzhiyun
548*4882a593Smuzhiyun				/* Switched via FET from regular +3.3V */
549*4882a593Smuzhiyun				ldo5 {
550*4882a593Smuzhiyun					regulator-name = "+3.3V_USB";
551*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
552*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
553*4882a593Smuzhiyun					regulator-always-on;
554*4882a593Smuzhiyun				};
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun				ldo6 {
557*4882a593Smuzhiyun					regulator-name = "AVDD_VDAC_2.85V";
558*4882a593Smuzhiyun					regulator-min-microvolt = <2850000>;
559*4882a593Smuzhiyun					regulator-max-microvolt = <2850000>;
560*4882a593Smuzhiyun				};
561*4882a593Smuzhiyun
562*4882a593Smuzhiyun				reg_3v3_avdd_hdmi: ldo7 {
563*4882a593Smuzhiyun					regulator-name = "AVDD_HDMI_3.3V";
564*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
565*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
566*4882a593Smuzhiyun				};
567*4882a593Smuzhiyun
568*4882a593Smuzhiyun				reg_1v8_avdd_hdmi_pll: ldo8 {
569*4882a593Smuzhiyun					regulator-name = "AVDD_HDMI_PLL_1.8V";
570*4882a593Smuzhiyun					regulator-min-microvolt = <1800000>;
571*4882a593Smuzhiyun					regulator-max-microvolt = <1800000>;
572*4882a593Smuzhiyun				};
573*4882a593Smuzhiyun
574*4882a593Smuzhiyun				ldo9 {
575*4882a593Smuzhiyun					regulator-name = "VDDIO_RX_DDR_2.85V";
576*4882a593Smuzhiyun					regulator-min-microvolt = <2850000>;
577*4882a593Smuzhiyun					regulator-max-microvolt = <2850000>;
578*4882a593Smuzhiyun					regulator-always-on;
579*4882a593Smuzhiyun				};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun				ldo_rtc {
582*4882a593Smuzhiyun					regulator-name = "VCC_BATT";
583*4882a593Smuzhiyun					regulator-min-microvolt = <3300000>;
584*4882a593Smuzhiyun					regulator-max-microvolt = <3300000>;
585*4882a593Smuzhiyun					regulator-always-on;
586*4882a593Smuzhiyun				};
587*4882a593Smuzhiyun			};
588*4882a593Smuzhiyun		};
589*4882a593Smuzhiyun
590*4882a593Smuzhiyun		/* LM95245 temperature sensor */
591*4882a593Smuzhiyun		temp-sensor@4c {
592*4882a593Smuzhiyun			compatible = "national,lm95245";
593*4882a593Smuzhiyun			reg = <0x4c>;
594*4882a593Smuzhiyun		};
595*4882a593Smuzhiyun	};
596*4882a593Smuzhiyun
597*4882a593Smuzhiyun	pmc@7000e400 {
598*4882a593Smuzhiyun		nvidia,suspend-mode = <1>;
599*4882a593Smuzhiyun		nvidia,cpu-pwr-good-time = <5000>;
600*4882a593Smuzhiyun		nvidia,cpu-pwr-off-time = <5000>;
601*4882a593Smuzhiyun		nvidia,core-pwr-good-time = <3845 3845>;
602*4882a593Smuzhiyun		nvidia,core-pwr-off-time = <3875>;
603*4882a593Smuzhiyun		nvidia,sys-clock-req-active-high;
604*4882a593Smuzhiyun
605*4882a593Smuzhiyun		/* Set SLEEP MODE bit in SUPPLYENE register of TPS658643 PMIC */
606*4882a593Smuzhiyun		i2c-thermtrip {
607*4882a593Smuzhiyun			nvidia,i2c-controller-id = <3>;
608*4882a593Smuzhiyun			nvidia,bus-addr = <0x34>;
609*4882a593Smuzhiyun			nvidia,reg-addr = <0x14>;
610*4882a593Smuzhiyun			nvidia,reg-data = <0x8>;
611*4882a593Smuzhiyun		};
612*4882a593Smuzhiyun	};
613*4882a593Smuzhiyun
614*4882a593Smuzhiyun	memory-controller@7000f400 {
615*4882a593Smuzhiyun		emc-table@83250 {
616*4882a593Smuzhiyun			reg = <83250>;
617*4882a593Smuzhiyun			compatible = "nvidia,tegra20-emc-table";
618*4882a593Smuzhiyun			clock-frequency = <83250>;
619*4882a593Smuzhiyun			nvidia,emc-registers =   <0x00000005 0x00000011
620*4882a593Smuzhiyun				0x00000004 0x00000002 0x00000004 0x00000004
621*4882a593Smuzhiyun				0x00000001 0x0000000a 0x00000002 0x00000002
622*4882a593Smuzhiyun				0x00000001 0x00000001 0x00000003 0x00000004
623*4882a593Smuzhiyun				0x00000003 0x00000009 0x0000000c 0x0000025f
624*4882a593Smuzhiyun				0x00000000 0x00000003 0x00000003 0x00000002
625*4882a593Smuzhiyun				0x00000002 0x00000001 0x00000008 0x000000c8
626*4882a593Smuzhiyun				0x00000003 0x00000005 0x00000003 0x0000000c
627*4882a593Smuzhiyun				0x00000002 0x00000000 0x00000000 0x00000002
628*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000083 0x00520006
629*4882a593Smuzhiyun				0x00000010 0x00000008 0x00000000 0x00000000
630*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000000 0x00000000>;
631*4882a593Smuzhiyun		};
632*4882a593Smuzhiyun		emc-table@133200 {
633*4882a593Smuzhiyun			reg = <133200>;
634*4882a593Smuzhiyun			compatible = "nvidia,tegra20-emc-table";
635*4882a593Smuzhiyun			clock-frequency = <133200>;
636*4882a593Smuzhiyun			nvidia,emc-registers =   <0x00000008 0x00000019
637*4882a593Smuzhiyun				0x00000006 0x00000002 0x00000004 0x00000004
638*4882a593Smuzhiyun				0x00000001 0x0000000a 0x00000002 0x00000002
639*4882a593Smuzhiyun				0x00000002 0x00000001 0x00000003 0x00000004
640*4882a593Smuzhiyun				0x00000003 0x00000009 0x0000000c 0x0000039f
641*4882a593Smuzhiyun				0x00000000 0x00000003 0x00000003 0x00000002
642*4882a593Smuzhiyun				0x00000002 0x00000001 0x00000008 0x000000c8
643*4882a593Smuzhiyun				0x00000003 0x00000007 0x00000003 0x0000000c
644*4882a593Smuzhiyun				0x00000002 0x00000000 0x00000000 0x00000002
645*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000083 0x00510006
646*4882a593Smuzhiyun				0x00000010 0x00000008 0x00000000 0x00000000
647*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000000 0x00000000>;
648*4882a593Smuzhiyun		};
649*4882a593Smuzhiyun		emc-table@166500 {
650*4882a593Smuzhiyun			reg = <166500>;
651*4882a593Smuzhiyun			compatible = "nvidia,tegra20-emc-table";
652*4882a593Smuzhiyun			clock-frequency = <166500>;
653*4882a593Smuzhiyun			nvidia,emc-registers =   <0x0000000a 0x00000021
654*4882a593Smuzhiyun				0x00000008 0x00000003 0x00000004 0x00000004
655*4882a593Smuzhiyun				0x00000002 0x0000000a 0x00000003 0x00000003
656*4882a593Smuzhiyun				0x00000002 0x00000001 0x00000003 0x00000004
657*4882a593Smuzhiyun				0x00000003 0x00000009 0x0000000c 0x000004df
658*4882a593Smuzhiyun				0x00000000 0x00000003 0x00000003 0x00000003
659*4882a593Smuzhiyun				0x00000003 0x00000001 0x00000009 0x000000c8
660*4882a593Smuzhiyun				0x00000003 0x00000009 0x00000004 0x0000000c
661*4882a593Smuzhiyun				0x00000002 0x00000000 0x00000000 0x00000002
662*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000083 0x004f0006
663*4882a593Smuzhiyun				0x00000010 0x00000008 0x00000000 0x00000000
664*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000000 0x00000000>;
665*4882a593Smuzhiyun		};
666*4882a593Smuzhiyun		emc-table@333000 {
667*4882a593Smuzhiyun			reg = <333000>;
668*4882a593Smuzhiyun			compatible = "nvidia,tegra20-emc-table";
669*4882a593Smuzhiyun			clock-frequency = <333000>;
670*4882a593Smuzhiyun			nvidia,emc-registers =   <0x00000014 0x00000041
671*4882a593Smuzhiyun				0x0000000f 0x00000005 0x00000004 0x00000005
672*4882a593Smuzhiyun				0x00000003 0x0000000a 0x00000005 0x00000005
673*4882a593Smuzhiyun				0x00000004 0x00000001 0x00000003 0x00000004
674*4882a593Smuzhiyun				0x00000003 0x00000009 0x0000000c 0x000009ff
675*4882a593Smuzhiyun				0x00000000 0x00000003 0x00000003 0x00000005
676*4882a593Smuzhiyun				0x00000005 0x00000001 0x0000000e 0x000000c8
677*4882a593Smuzhiyun				0x00000003 0x00000011 0x00000006 0x0000000c
678*4882a593Smuzhiyun				0x00000002 0x00000000 0x00000000 0x00000002
679*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000083 0x00380006
680*4882a593Smuzhiyun				0x00000010 0x00000008 0x00000000 0x00000000
681*4882a593Smuzhiyun				0x00000000 0x00000000 0x00000000 0x00000000>;
682*4882a593Smuzhiyun		};
683*4882a593Smuzhiyun	};
684*4882a593Smuzhiyun
685*4882a593Smuzhiyun	/* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */
686*4882a593Smuzhiyun	usb@c5004000 {
687*4882a593Smuzhiyun		status = "okay";
688*4882a593Smuzhiyun		#address-cells = <1>;
689*4882a593Smuzhiyun		#size-cells = <0>;
690*4882a593Smuzhiyun
691*4882a593Smuzhiyun		asix@1 {
692*4882a593Smuzhiyun			reg = <1>;
693*4882a593Smuzhiyun			local-mac-address = [00 00 00 00 00 00];
694*4882a593Smuzhiyun		};
695*4882a593Smuzhiyun	};
696*4882a593Smuzhiyun
697*4882a593Smuzhiyun	usb-phy@c5004000 {
698*4882a593Smuzhiyun		status = "okay";
699*4882a593Smuzhiyun		nvidia,phy-reset-gpio =
700*4882a593Smuzhiyun			<&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
701*4882a593Smuzhiyun		vbus-supply = <&reg_lan_v_bus>;
702*4882a593Smuzhiyun	};
703*4882a593Smuzhiyun
704*4882a593Smuzhiyun	clk32k_in: xtal3 {
705*4882a593Smuzhiyun		compatible = "fixed-clock";
706*4882a593Smuzhiyun		#clock-cells = <0>;
707*4882a593Smuzhiyun		clock-frequency = <32768>;
708*4882a593Smuzhiyun	};
709*4882a593Smuzhiyun
710*4882a593Smuzhiyun	reg_lan_v_bus: regulator-lan-v-bus {
711*4882a593Smuzhiyun		compatible = "regulator-fixed";
712*4882a593Smuzhiyun		regulator-name = "LAN_V_BUS";
713*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
714*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
715*4882a593Smuzhiyun		enable-active-high;
716*4882a593Smuzhiyun		gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
717*4882a593Smuzhiyun	};
718*4882a593Smuzhiyun
719*4882a593Smuzhiyun	reg_module_3v3: regulator-module-3v3 {
720*4882a593Smuzhiyun		compatible = "regulator-fixed";
721*4882a593Smuzhiyun		regulator-name = "+V3.3";
722*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
723*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
724*4882a593Smuzhiyun		regulator-always-on;
725*4882a593Smuzhiyun	};
726*4882a593Smuzhiyun
727*4882a593Smuzhiyun	sound {
728*4882a593Smuzhiyun		compatible = "nvidia,tegra-audio-wm9712-colibri_t20",
729*4882a593Smuzhiyun			     "nvidia,tegra-audio-wm9712";
730*4882a593Smuzhiyun		nvidia,model = "Toradex Colibri T20";
731*4882a593Smuzhiyun		nvidia,audio-routing =
732*4882a593Smuzhiyun			"Headphone", "HPOUTL",
733*4882a593Smuzhiyun			"Headphone", "HPOUTR",
734*4882a593Smuzhiyun			"LineIn", "LINEINL",
735*4882a593Smuzhiyun			"LineIn", "LINEINR",
736*4882a593Smuzhiyun			"Mic", "MIC1";
737*4882a593Smuzhiyun		nvidia,ac97-controller = <&tegra_ac97>;
738*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
739*4882a593Smuzhiyun			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
740*4882a593Smuzhiyun			 <&tegra_car TEGRA20_CLK_CDEV1>;
741*4882a593Smuzhiyun		clock-names = "pll_a", "pll_a_out0", "mclk";
742*4882a593Smuzhiyun	};
743*4882a593Smuzhiyun};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun&gpio {
746*4882a593Smuzhiyun	lan-reset-n {
747*4882a593Smuzhiyun		gpio-hog;
748*4882a593Smuzhiyun		gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
749*4882a593Smuzhiyun		output-high;
750*4882a593Smuzhiyun		line-name = "LAN_RESET#";
751*4882a593Smuzhiyun	};
752*4882a593Smuzhiyun
753*4882a593Smuzhiyun	/* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */
754*4882a593Smuzhiyun	npwe {
755*4882a593Smuzhiyun		gpio-hog;
756*4882a593Smuzhiyun		gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
757*4882a593Smuzhiyun		output-high;
758*4882a593Smuzhiyun		line-name = "Tri-state nPWE";
759*4882a593Smuzhiyun	};
760*4882a593Smuzhiyun
761*4882a593Smuzhiyun	/* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */
762*4882a593Smuzhiyun	rdnwr {
763*4882a593Smuzhiyun		gpio-hog;
764*4882a593Smuzhiyun		gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
765*4882a593Smuzhiyun		output-low;
766*4882a593Smuzhiyun		line-name = "Not tri-state RDnWR";
767*4882a593Smuzhiyun	};
768*4882a593Smuzhiyun};
769