xref: /freebsd-src/sys/contrib/device-tree/src/arm/nvidia/tegra20-asus-tf101.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot#include <dt-bindings/input/atmel-maxtouch.h>
5f126890aSEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h>
6f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
7f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot#include "tegra20.dtsi"
10f126890aSEmmanuel Vadot#include "tegra20-cpu-opp.dtsi"
11f126890aSEmmanuel Vadot#include "tegra20-cpu-opp-microvolt.dtsi"
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot/ {
14f126890aSEmmanuel Vadot	model = "ASUS EeePad Transformer TF101";
15f126890aSEmmanuel Vadot	compatible = "asus,tf101", "nvidia,tegra20";
16f126890aSEmmanuel Vadot	chassis-type = "convertible";
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot	aliases {
19f126890aSEmmanuel Vadot		mmc0 = &sdmmc4; /* eMMC */
20f126890aSEmmanuel Vadot		mmc1 = &sdmmc3; /* MicroSD */
21f126890aSEmmanuel Vadot		mmc2 = &sdmmc1; /* WiFi */
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot		rtc0 = &pmic;
24f126890aSEmmanuel Vadot		rtc1 = "/rtc@7000e000";
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot		serial0 = &uartd;
27f126890aSEmmanuel Vadot		serial1 = &uartc; /* Bluetooth */
28f126890aSEmmanuel Vadot		serial2 = &uartb; /* GPS */
29f126890aSEmmanuel Vadot	};
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot	/*
32f126890aSEmmanuel Vadot	 * The decompressor and also some bootloaders rely on a
33f126890aSEmmanuel Vadot	 * pre-existing /chosen node to be available to insert the
34f126890aSEmmanuel Vadot	 * command line and merge other ATAGS info.
35f126890aSEmmanuel Vadot	 */
36f126890aSEmmanuel Vadot	chosen {};
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot	memory@0 {
39f126890aSEmmanuel Vadot		reg = <0x00000000 0x40000000>;
40f126890aSEmmanuel Vadot	};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot	reserved-memory {
43f126890aSEmmanuel Vadot		#address-cells = <1>;
44f126890aSEmmanuel Vadot		#size-cells = <1>;
45f126890aSEmmanuel Vadot		ranges;
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot		ramoops@2ffe0000 {
48f126890aSEmmanuel Vadot			compatible = "ramoops";
49f126890aSEmmanuel Vadot			reg = <0x2ffe0000 0x10000>;	/* 64kB */
50f126890aSEmmanuel Vadot			console-size = <0x8000>;	/* 32kB */
51f126890aSEmmanuel Vadot			record-size = <0x400>;		/*  1kB */
52f126890aSEmmanuel Vadot			ecc-size = <16>;
53f126890aSEmmanuel Vadot		};
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot		linux,cma@30000000 {
56f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
57f126890aSEmmanuel Vadot			alloc-ranges = <0x30000000 0x10000000>;
58f126890aSEmmanuel Vadot			size = <0x10000000>; /* 256MiB */
59f126890aSEmmanuel Vadot			linux,cma-default;
60f126890aSEmmanuel Vadot			reusable;
61f126890aSEmmanuel Vadot		};
62f126890aSEmmanuel Vadot	};
63f126890aSEmmanuel Vadot
64f126890aSEmmanuel Vadot	host1x@50000000 {
65f126890aSEmmanuel Vadot		dc@54200000 {
66f126890aSEmmanuel Vadot			rgb {
67f126890aSEmmanuel Vadot				status = "okay";
68f126890aSEmmanuel Vadot
69*84943d6fSEmmanuel Vadot				port {
70f126890aSEmmanuel Vadot					lcd_output: endpoint {
71f126890aSEmmanuel Vadot						remote-endpoint = <&lvds_encoder_input>;
72f126890aSEmmanuel Vadot						bus-width = <18>;
73f126890aSEmmanuel Vadot					};
74f126890aSEmmanuel Vadot				};
75f126890aSEmmanuel Vadot			};
76f126890aSEmmanuel Vadot		};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot		hdmi@54280000 {
79f126890aSEmmanuel Vadot			status = "okay";
80f126890aSEmmanuel Vadot
81f126890aSEmmanuel Vadot			vdd-supply = <&hdmi_vdd_reg>;
82f126890aSEmmanuel Vadot			pll-supply = <&hdmi_pll_reg>;
83f126890aSEmmanuel Vadot			hdmi-supply = <&vdd_hdmi_en>;
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
86f126890aSEmmanuel Vadot			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
87f126890aSEmmanuel Vadot				GPIO_ACTIVE_HIGH>;
88f126890aSEmmanuel Vadot		};
89f126890aSEmmanuel Vadot	};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot	gpio@6000d000 {
92f126890aSEmmanuel Vadot		charging-enable-hog {
93f126890aSEmmanuel Vadot			gpio-hog;
94f126890aSEmmanuel Vadot			gpios = <TEGRA_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
95f126890aSEmmanuel Vadot			output-low;
96f126890aSEmmanuel Vadot		};
97f126890aSEmmanuel Vadot	};
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot	pinmux@70000014 {
100f126890aSEmmanuel Vadot		pinctrl-names = "default";
101f126890aSEmmanuel Vadot		pinctrl-0 = <&state_default>;
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot		state_default: pinmux {
104f126890aSEmmanuel Vadot			ata {
105f126890aSEmmanuel Vadot				nvidia,pins = "ata";
106f126890aSEmmanuel Vadot				nvidia,function = "ide";
107f126890aSEmmanuel Vadot			};
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot			atb {
110f126890aSEmmanuel Vadot				nvidia,pins = "atb", "gma", "gme";
111f126890aSEmmanuel Vadot				nvidia,function = "sdio4";
112f126890aSEmmanuel Vadot			};
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot			atc {
115f126890aSEmmanuel Vadot				nvidia,pins = "atc";
116f126890aSEmmanuel Vadot				nvidia,function = "nand";
117f126890aSEmmanuel Vadot			};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot			atd {
120f126890aSEmmanuel Vadot				nvidia,pins = "atd", "ate", "gmb", "spia",
121f126890aSEmmanuel Vadot					"spib", "spic";
122f126890aSEmmanuel Vadot				nvidia,function = "gmi";
123f126890aSEmmanuel Vadot			};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot			cdev1 {
126f126890aSEmmanuel Vadot				nvidia,pins = "cdev1";
127f126890aSEmmanuel Vadot				nvidia,function = "plla_out";
128f126890aSEmmanuel Vadot			};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot			cdev2 {
131f126890aSEmmanuel Vadot				nvidia,pins = "cdev2";
132f126890aSEmmanuel Vadot				nvidia,function = "pllp_out4";
133f126890aSEmmanuel Vadot			};
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot			crtp {
136f126890aSEmmanuel Vadot				nvidia,pins = "crtp";
137f126890aSEmmanuel Vadot				nvidia,function = "crt";
138f126890aSEmmanuel Vadot			};
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot			lm1 {
141f126890aSEmmanuel Vadot				nvidia,pins = "lm1";
142f126890aSEmmanuel Vadot				nvidia,function = "rsvd3";
143f126890aSEmmanuel Vadot			};
144f126890aSEmmanuel Vadot
145f126890aSEmmanuel Vadot			csus {
146f126890aSEmmanuel Vadot				nvidia,pins = "csus";
147f126890aSEmmanuel Vadot				nvidia,function = "vi_sensor_clk";
148f126890aSEmmanuel Vadot			};
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot			dap1 {
151f126890aSEmmanuel Vadot				nvidia,pins = "dap1";
152f126890aSEmmanuel Vadot				nvidia,function = "dap1";
153f126890aSEmmanuel Vadot			};
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot			dap2 {
156f126890aSEmmanuel Vadot				nvidia,pins = "dap2";
157f126890aSEmmanuel Vadot				nvidia,function = "dap2";
158f126890aSEmmanuel Vadot			};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot			dap3 {
161f126890aSEmmanuel Vadot				nvidia,pins = "dap3";
162f126890aSEmmanuel Vadot				nvidia,function = "dap3";
163f126890aSEmmanuel Vadot			};
164f126890aSEmmanuel Vadot
165f126890aSEmmanuel Vadot			dap4 {
166f126890aSEmmanuel Vadot				nvidia,pins = "dap4";
167f126890aSEmmanuel Vadot				nvidia,function = "dap4";
168f126890aSEmmanuel Vadot			};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot			dta {
171f126890aSEmmanuel Vadot				nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
172f126890aSEmmanuel Vadot				nvidia,function = "vi";
173f126890aSEmmanuel Vadot			};
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot			dtf {
176f126890aSEmmanuel Vadot				nvidia,pins = "dtf";
177f126890aSEmmanuel Vadot				nvidia,function = "i2c3";
178f126890aSEmmanuel Vadot			};
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot			gmc {
181f126890aSEmmanuel Vadot				nvidia,pins = "gmc";
182f126890aSEmmanuel Vadot				nvidia,function = "uartd";
183f126890aSEmmanuel Vadot			};
184f126890aSEmmanuel Vadot
185f126890aSEmmanuel Vadot			gmd {
186f126890aSEmmanuel Vadot				nvidia,pins = "gmd";
187f126890aSEmmanuel Vadot				nvidia,function = "sflash";
188f126890aSEmmanuel Vadot			};
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot			gpu {
191f126890aSEmmanuel Vadot				nvidia,pins = "gpu";
192f126890aSEmmanuel Vadot				nvidia,function = "pwm";
193f126890aSEmmanuel Vadot			};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot			gpu7 {
196f126890aSEmmanuel Vadot				nvidia,pins = "gpu7";
197f126890aSEmmanuel Vadot				nvidia,function = "rtck";
198f126890aSEmmanuel Vadot			};
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot			gpv {
201f126890aSEmmanuel Vadot				nvidia,pins = "gpv", "slxa";
202f126890aSEmmanuel Vadot				nvidia,function = "pcie";
203f126890aSEmmanuel Vadot			};
204f126890aSEmmanuel Vadot
205f126890aSEmmanuel Vadot			hdint {
206f126890aSEmmanuel Vadot				nvidia,pins = "hdint";
207f126890aSEmmanuel Vadot				nvidia,function = "hdmi";
208f126890aSEmmanuel Vadot			};
209f126890aSEmmanuel Vadot
210f126890aSEmmanuel Vadot			i2cp {
211f126890aSEmmanuel Vadot				nvidia,pins = "i2cp";
212f126890aSEmmanuel Vadot				nvidia,function = "i2cp";
213f126890aSEmmanuel Vadot			};
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot			irrx {
216f126890aSEmmanuel Vadot				nvidia,pins = "irrx", "irtx";
217f126890aSEmmanuel Vadot				nvidia,function = "uartb";
218f126890aSEmmanuel Vadot			};
219f126890aSEmmanuel Vadot
220f126890aSEmmanuel Vadot			kbca {
221f126890aSEmmanuel Vadot				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
222f126890aSEmmanuel Vadot					"kbce", "kbcf";
223f126890aSEmmanuel Vadot				nvidia,function = "kbc";
224f126890aSEmmanuel Vadot			};
225f126890aSEmmanuel Vadot
226f126890aSEmmanuel Vadot			lcsn {
227f126890aSEmmanuel Vadot				nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
228f126890aSEmmanuel Vadot					"lsdi", "lvp0";
229f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
230f126890aSEmmanuel Vadot			};
231f126890aSEmmanuel Vadot
232f126890aSEmmanuel Vadot			ld0 {
233f126890aSEmmanuel Vadot				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
234f126890aSEmmanuel Vadot					"ld5", "ld6", "ld7", "ld8", "ld9",
235f126890aSEmmanuel Vadot					"ld10", "ld11", "ld12", "ld13", "ld14",
236f126890aSEmmanuel Vadot					"ld15", "ld16", "ld17", "ldi", "lhp0",
237f126890aSEmmanuel Vadot					"lhp1", "lhp2", "lhs", "lpp", "lpw0",
238f126890aSEmmanuel Vadot					"lpw2", "lsc0", "lsc1", "lsck", "lsda",
239f126890aSEmmanuel Vadot					"lspi", "lvp1", "lvs";
240f126890aSEmmanuel Vadot				nvidia,function = "displaya";
241f126890aSEmmanuel Vadot			};
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot			owc {
244f126890aSEmmanuel Vadot				nvidia,pins = "owc", "spdi", "spdo", "uac";
245f126890aSEmmanuel Vadot				nvidia,function = "rsvd2";
246f126890aSEmmanuel Vadot			};
247f126890aSEmmanuel Vadot
248f126890aSEmmanuel Vadot			pmc {
249f126890aSEmmanuel Vadot				nvidia,pins = "pmc";
250f126890aSEmmanuel Vadot				nvidia,function = "pwr_on";
251f126890aSEmmanuel Vadot			};
252f126890aSEmmanuel Vadot
253f126890aSEmmanuel Vadot			rm {
254f126890aSEmmanuel Vadot				nvidia,pins = "rm";
255f126890aSEmmanuel Vadot				nvidia,function = "i2c1";
256f126890aSEmmanuel Vadot			};
257f126890aSEmmanuel Vadot
258f126890aSEmmanuel Vadot			sdb {
259f126890aSEmmanuel Vadot				nvidia,pins = "sdb", "sdc", "sdd", "slxc", "slxk";
260f126890aSEmmanuel Vadot				nvidia,function = "sdio3";
261f126890aSEmmanuel Vadot			};
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot			sdio1 {
264f126890aSEmmanuel Vadot				nvidia,pins = "sdio1";
265f126890aSEmmanuel Vadot				nvidia,function = "sdio1";
266f126890aSEmmanuel Vadot			};
267f126890aSEmmanuel Vadot
268f126890aSEmmanuel Vadot			slxd {
269f126890aSEmmanuel Vadot				nvidia,pins = "slxd";
270f126890aSEmmanuel Vadot				nvidia,function = "spdif";
271f126890aSEmmanuel Vadot			};
272f126890aSEmmanuel Vadot
273f126890aSEmmanuel Vadot			spid {
274f126890aSEmmanuel Vadot				nvidia,pins = "spid", "spie", "spif";
275f126890aSEmmanuel Vadot				nvidia,function = "spi1";
276f126890aSEmmanuel Vadot			};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot			spig {
279f126890aSEmmanuel Vadot				nvidia,pins = "spig", "spih";
280f126890aSEmmanuel Vadot				nvidia,function = "spi2_alt";
281f126890aSEmmanuel Vadot			};
282f126890aSEmmanuel Vadot
283f126890aSEmmanuel Vadot			uaa {
284f126890aSEmmanuel Vadot				nvidia,pins = "uaa", "uab", "uda";
285f126890aSEmmanuel Vadot				nvidia,function = "ulpi";
286f126890aSEmmanuel Vadot			};
287f126890aSEmmanuel Vadot
288f126890aSEmmanuel Vadot			uad {
289f126890aSEmmanuel Vadot				nvidia,pins = "uad";
290f126890aSEmmanuel Vadot				nvidia,function = "irda";
291f126890aSEmmanuel Vadot			};
292f126890aSEmmanuel Vadot
293f126890aSEmmanuel Vadot			uca {
294f126890aSEmmanuel Vadot				nvidia,pins = "uca", "ucb";
295f126890aSEmmanuel Vadot				nvidia,function = "uartc";
296f126890aSEmmanuel Vadot			};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot			conf_ata {
299f126890aSEmmanuel Vadot				nvidia,pins = "ata", "atb", "atc", "atd",
300f126890aSEmmanuel Vadot					"cdev1", "cdev2", "dap1", "dap4",
301f126890aSEmmanuel Vadot					"dte", "ddc", "dtf", "gma", "gmc",
302f126890aSEmmanuel Vadot					"gme", "gpu", "gpu7", "gpv", "i2cp",
303f126890aSEmmanuel Vadot					"irrx", "irtx", "pta", "rm", "sdc",
304f126890aSEmmanuel Vadot					"sdd", "slxc", "slxd", "slxk", "spdi",
305f126890aSEmmanuel Vadot					"spdo", "uac", "uad",
306f126890aSEmmanuel Vadot					"uda", "csus";
307f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
308f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
309f126890aSEmmanuel Vadot			};
310f126890aSEmmanuel Vadot
311f126890aSEmmanuel Vadot			conf_ate {
312f126890aSEmmanuel Vadot				nvidia,pins = "ate", "dap2", "dap3", "gmb", "gmd",
313f126890aSEmmanuel Vadot					"owc", "spia", "spib", "spic",
314f126890aSEmmanuel Vadot					"spid", "spie", "spig", "slxa";
315f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
316f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
317f126890aSEmmanuel Vadot			};
318f126890aSEmmanuel Vadot
319f126890aSEmmanuel Vadot			conf_ck32 {
320f126890aSEmmanuel Vadot				nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
321f126890aSEmmanuel Vadot					"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
322f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
323f126890aSEmmanuel Vadot			};
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot			conf_crtp {
326f126890aSEmmanuel Vadot				nvidia,pins = "crtp", "spih";
327f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
328f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
329f126890aSEmmanuel Vadot			};
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot			conf_dta {
332f126890aSEmmanuel Vadot				nvidia,pins = "dta", "dtb", "dtc", "dtd";
333f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
334f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
335f126890aSEmmanuel Vadot			};
336f126890aSEmmanuel Vadot
337f126890aSEmmanuel Vadot			conf_spif {
338f126890aSEmmanuel Vadot				nvidia,pins = "spif";
339f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
340f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
341f126890aSEmmanuel Vadot			};
342f126890aSEmmanuel Vadot
343f126890aSEmmanuel Vadot			conf_hdint {
344f126890aSEmmanuel Vadot				nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
345f126890aSEmmanuel Vadot					"lpw1", "lsck", "lsda", "lsdi", "lvp0";
346f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
347f126890aSEmmanuel Vadot			};
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot			conf_kbca {
350f126890aSEmmanuel Vadot				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
351f126890aSEmmanuel Vadot					"kbce", "kbcf", "sdio1", "uaa", "uab",
352f126890aSEmmanuel Vadot					"uca", "ucb";
353f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
354f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
355f126890aSEmmanuel Vadot			};
356f126890aSEmmanuel Vadot
357f126890aSEmmanuel Vadot			conf_lc {
358f126890aSEmmanuel Vadot				nvidia,pins = "lc", "ls";
359f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
360f126890aSEmmanuel Vadot			};
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot			conf_ld0 {
363f126890aSEmmanuel Vadot				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
364f126890aSEmmanuel Vadot					"ld5", "ld6", "ld7", "ld8", "ld9",
365f126890aSEmmanuel Vadot					"ld10", "ld11", "ld12", "ld13", "ld14",
366f126890aSEmmanuel Vadot					"ld15", "ld16", "ld17", "ldi", "lhp0",
367f126890aSEmmanuel Vadot					"lhp1", "lhp2", "lhs", "lm0", "lpp",
368f126890aSEmmanuel Vadot					"lpw0", "lpw2", "lsc0", "lsc1", "lspi",
369f126890aSEmmanuel Vadot					"lvp1", "lvs", "pmc", "sdb";
370f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
371f126890aSEmmanuel Vadot			};
372f126890aSEmmanuel Vadot
373f126890aSEmmanuel Vadot			conf_ld17_0 {
374f126890aSEmmanuel Vadot				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
375f126890aSEmmanuel Vadot					"ld23_22";
376f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
377f126890aSEmmanuel Vadot			};
378f126890aSEmmanuel Vadot
379f126890aSEmmanuel Vadot			drive_sdio1 {
380f126890aSEmmanuel Vadot				nvidia,pins = "drive_sdio1", "drive_ddc", "drive_vi1";
381f126890aSEmmanuel Vadot				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
382f126890aSEmmanuel Vadot				nvidia,schmitt = <TEGRA_PIN_ENABLE>;
383f126890aSEmmanuel Vadot				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
384f126890aSEmmanuel Vadot				nvidia,pull-down-strength = <31>;
385f126890aSEmmanuel Vadot				nvidia,pull-up-strength = <31>;
386f126890aSEmmanuel Vadot				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
387f126890aSEmmanuel Vadot				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
388f126890aSEmmanuel Vadot			};
389f126890aSEmmanuel Vadot
390f126890aSEmmanuel Vadot			drive_csus {
391f126890aSEmmanuel Vadot				nvidia,pins = "drive_csus";
392f126890aSEmmanuel Vadot				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
393f126890aSEmmanuel Vadot				nvidia,schmitt = <TEGRA_PIN_DISABLE>;
394f126890aSEmmanuel Vadot				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
395f126890aSEmmanuel Vadot				nvidia,pull-down-strength = <31>;
396f126890aSEmmanuel Vadot				nvidia,pull-up-strength = <31>;
397f126890aSEmmanuel Vadot				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
398f126890aSEmmanuel Vadot				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
399f126890aSEmmanuel Vadot			};
400f126890aSEmmanuel Vadot		};
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot		state_i2cmux_ddc: pinmux-i2cmux-ddc {
403f126890aSEmmanuel Vadot			ddc {
404f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
405f126890aSEmmanuel Vadot				nvidia,function = "i2c2";
406f126890aSEmmanuel Vadot			};
407f126890aSEmmanuel Vadot
408f126890aSEmmanuel Vadot			pta {
409f126890aSEmmanuel Vadot				nvidia,pins = "pta";
410f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
411f126890aSEmmanuel Vadot			};
412f126890aSEmmanuel Vadot		};
413f126890aSEmmanuel Vadot
414f126890aSEmmanuel Vadot		state_i2cmux_idle: pinmux-i2cmux-idle {
415f126890aSEmmanuel Vadot			ddc {
416f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
417f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
418f126890aSEmmanuel Vadot			};
419f126890aSEmmanuel Vadot
420f126890aSEmmanuel Vadot			pta {
421f126890aSEmmanuel Vadot				nvidia,pins = "pta";
422f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
423f126890aSEmmanuel Vadot			};
424f126890aSEmmanuel Vadot		};
425f126890aSEmmanuel Vadot
426f126890aSEmmanuel Vadot		state_i2cmux_pta: pinmux-i2cmux-pta {
427f126890aSEmmanuel Vadot			ddc {
428f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
429f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
430f126890aSEmmanuel Vadot			};
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot			pta {
433f126890aSEmmanuel Vadot				nvidia,pins = "pta";
434f126890aSEmmanuel Vadot				nvidia,function = "i2c2";
435f126890aSEmmanuel Vadot			};
436f126890aSEmmanuel Vadot		};
437f126890aSEmmanuel Vadot	};
438f126890aSEmmanuel Vadot
439f126890aSEmmanuel Vadot	spdif@70002400 {
440f126890aSEmmanuel Vadot		status = "okay";
441f126890aSEmmanuel Vadot
442f126890aSEmmanuel Vadot		nvidia,fixed-parent-rate;
443f126890aSEmmanuel Vadot	};
444f126890aSEmmanuel Vadot
445f126890aSEmmanuel Vadot	i2s@70002800 {
446f126890aSEmmanuel Vadot		status = "okay";
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot		nvidia,fixed-parent-rate;
449f126890aSEmmanuel Vadot	};
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot	serial@70006040 {
452f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-hsuart";
453aa1a8ff2SEmmanuel Vadot		reset-names = "serial";
454f126890aSEmmanuel Vadot		/delete-property/ reg-shift;
455f126890aSEmmanuel Vadot		/* GPS BCM4751 */
456f126890aSEmmanuel Vadot	};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot	serial@70006200 {
459f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-hsuart";
460aa1a8ff2SEmmanuel Vadot		reset-names = "serial";
461f126890aSEmmanuel Vadot		/delete-property/ reg-shift;
462f126890aSEmmanuel Vadot		status = "okay";
463f126890aSEmmanuel Vadot
464f126890aSEmmanuel Vadot		/* Azurewave AW-NH615 BCM4329B1 */
465f126890aSEmmanuel Vadot		bluetooth {
466f126890aSEmmanuel Vadot			compatible = "brcm,bcm4329-bt";
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
469f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_EDGE_RISING>;
470f126890aSEmmanuel Vadot			interrupt-names = "host-wakeup";
471f126890aSEmmanuel Vadot
472f126890aSEmmanuel Vadot			/* PLLP 216MHz / 16 / 4 */
473f126890aSEmmanuel Vadot			max-speed = <3375000>;
474f126890aSEmmanuel Vadot
475f126890aSEmmanuel Vadot			clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
476f126890aSEmmanuel Vadot			clock-names = "txco";
477f126890aSEmmanuel Vadot
478f126890aSEmmanuel Vadot			vbat-supply  = <&vdd_3v3_sys>;
479f126890aSEmmanuel Vadot			vddio-supply = <&vdd_1v8_sys>;
480f126890aSEmmanuel Vadot
481f126890aSEmmanuel Vadot			device-wakeup-gpios = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>;
482f126890aSEmmanuel Vadot			shutdown-gpios = <&gpio TEGRA_GPIO(U, 0) GPIO_ACTIVE_HIGH>;
483f126890aSEmmanuel Vadot		};
484f126890aSEmmanuel Vadot	};
485f126890aSEmmanuel Vadot
486f126890aSEmmanuel Vadot	serial@70006300 {
487aa1a8ff2SEmmanuel Vadot		/delete-property/ dmas;
488aa1a8ff2SEmmanuel Vadot		/delete-property/ dma-names;
489f126890aSEmmanuel Vadot		status = "okay";
490f126890aSEmmanuel Vadot	};
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot	pwm@7000a000 {
493f126890aSEmmanuel Vadot		status = "okay";
494f126890aSEmmanuel Vadot	};
495f126890aSEmmanuel Vadot
496f126890aSEmmanuel Vadot	i2c@7000c000 {
497f126890aSEmmanuel Vadot		status = "okay";
498f126890aSEmmanuel Vadot		clock-frequency = <400000>;
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot		/* Aichi AMI306 digital compass */
501f126890aSEmmanuel Vadot		magnetometer@e {
502f126890aSEmmanuel Vadot			compatible = "asahi-kasei,ak8974";
503f126890aSEmmanuel Vadot			reg = <0xe>;
504f126890aSEmmanuel Vadot
505f126890aSEmmanuel Vadot			avdd-supply = <&vdd_3v3_sys>;
506f126890aSEmmanuel Vadot			dvdd-supply = <&vdd_1v8_sys>;
507f126890aSEmmanuel Vadot
508f126890aSEmmanuel Vadot			mount-matrix = "-1",  "0",  "0",
509f126890aSEmmanuel Vadot					"0",  "1",  "0",
510f126890aSEmmanuel Vadot					"0",  "0", "-1";
511f126890aSEmmanuel Vadot		};
512f126890aSEmmanuel Vadot
513f126890aSEmmanuel Vadot		wm8903: audio-codec@1a {
514f126890aSEmmanuel Vadot			compatible = "wlf,wm8903";
515f126890aSEmmanuel Vadot			reg = <0x1a>;
516f126890aSEmmanuel Vadot
517f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
518f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_EDGE_BOTH>;
519f126890aSEmmanuel Vadot
520f126890aSEmmanuel Vadot			gpio-controller;
521f126890aSEmmanuel Vadot			#gpio-cells = <2>;
522f126890aSEmmanuel Vadot
523f126890aSEmmanuel Vadot			micdet-cfg = <0x83>;
524f126890aSEmmanuel Vadot			micdet-delay = <100>;
525f126890aSEmmanuel Vadot
526f126890aSEmmanuel Vadot			gpio-cfg = <
527f126890aSEmmanuel Vadot				0x00000600 /* DMIC_LR, output */
528f126890aSEmmanuel Vadot				0x00000680 /* DMIC_DAT, input */
529f126890aSEmmanuel Vadot				0x00000000 /* Speaker-enable GPIO, output, low */
530f126890aSEmmanuel Vadot				0xffffffff /* don't touch */
531f126890aSEmmanuel Vadot				0xffffffff /* don't touch */
532f126890aSEmmanuel Vadot			>;
533f126890aSEmmanuel Vadot
534f126890aSEmmanuel Vadot			AVDD-supply  = <&vdd_1v8_sys>;
535f126890aSEmmanuel Vadot			CPVDD-supply = <&vdd_1v8_sys>;
536f126890aSEmmanuel Vadot			DBVDD-supply = <&vdd_1v8_sys>;
537f126890aSEmmanuel Vadot			DCVDD-supply = <&vdd_1v8_sys>;
538f126890aSEmmanuel Vadot		};
539f126890aSEmmanuel Vadot
540f126890aSEmmanuel Vadot		/* Atmel MXT1386 Touchscreen */
541f126890aSEmmanuel Vadot		touchscreen@5b {
542f126890aSEmmanuel Vadot			compatible = "atmel,maxtouch";
543f126890aSEmmanuel Vadot			reg = <0x5b>;
544f126890aSEmmanuel Vadot
545f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
546f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(V, 6) IRQ_TYPE_LEVEL_LOW>;
547f126890aSEmmanuel Vadot
548f126890aSEmmanuel Vadot			reset-gpios = <&gpio TEGRA_GPIO(Q, 7) GPIO_ACTIVE_LOW>;
549f126890aSEmmanuel Vadot
550f126890aSEmmanuel Vadot			vdda-supply = <&vdd_3v3_sys>;
551f126890aSEmmanuel Vadot			vdd-supply  = <&vdd_3v3_sys>;
552f126890aSEmmanuel Vadot
553f126890aSEmmanuel Vadot			atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
554f126890aSEmmanuel Vadot		};
555f126890aSEmmanuel Vadot
556f126890aSEmmanuel Vadot		gyroscope@68 {
557f126890aSEmmanuel Vadot			compatible = "invensense,mpu3050";
558f126890aSEmmanuel Vadot			reg = <0x68>;
559f126890aSEmmanuel Vadot
560f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
561f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_EDGE_RISING>;
562f126890aSEmmanuel Vadot
563f126890aSEmmanuel Vadot			vdd-supply    = <&vdd_3v3_sys>;
564f126890aSEmmanuel Vadot			vlogic-supply = <&vdd_1v8_sys>;
565f126890aSEmmanuel Vadot
566f126890aSEmmanuel Vadot			mount-matrix =	 "0",  "1",  "0",
567f126890aSEmmanuel Vadot					"-1",  "0",  "0",
568f126890aSEmmanuel Vadot					 "0",  "0",  "1";
569f126890aSEmmanuel Vadot
570f126890aSEmmanuel Vadot			i2c-gate {
571f126890aSEmmanuel Vadot				#address-cells = <1>;
572f126890aSEmmanuel Vadot				#size-cells = <0>;
573f126890aSEmmanuel Vadot
574f126890aSEmmanuel Vadot				accelerometer@f {
575f126890aSEmmanuel Vadot					compatible = "kionix,kxtf9";
576f126890aSEmmanuel Vadot					reg = <0xf>;
577f126890aSEmmanuel Vadot
578f126890aSEmmanuel Vadot					interrupt-parent = <&gpio>;
579f126890aSEmmanuel Vadot					interrupts = <TEGRA_GPIO(N, 4) IRQ_TYPE_EDGE_RISING>;
580f126890aSEmmanuel Vadot
581f126890aSEmmanuel Vadot					vdd-supply = <&vdd_1v8_sys>;
582f126890aSEmmanuel Vadot					vddio-supply = <&vdd_1v8_sys>;
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot					mount-matrix =	"-1",  "0",  "0",
585f126890aSEmmanuel Vadot							 "0", "-1",  "0",
586f126890aSEmmanuel Vadot							 "0",  "0", "-1";
587f126890aSEmmanuel Vadot				};
588f126890aSEmmanuel Vadot			};
589f126890aSEmmanuel Vadot		};
590f126890aSEmmanuel Vadot	};
591f126890aSEmmanuel Vadot
592f126890aSEmmanuel Vadot	i2c2: i2c@7000c400 {
593f126890aSEmmanuel Vadot		status = "okay";
594f126890aSEmmanuel Vadot		clock-frequency = <100000>;
595f126890aSEmmanuel Vadot	};
596f126890aSEmmanuel Vadot
597f126890aSEmmanuel Vadot	i2c@7000c500 {
598f126890aSEmmanuel Vadot		status = "okay";
599f126890aSEmmanuel Vadot		clock-frequency = <400000>;
600f126890aSEmmanuel Vadot	};
601f126890aSEmmanuel Vadot
602f126890aSEmmanuel Vadot	i2c@7000d000 {
603f126890aSEmmanuel Vadot		status = "okay";
604f126890aSEmmanuel Vadot		clock-frequency = <400000>;
605f126890aSEmmanuel Vadot
606f126890aSEmmanuel Vadot		pmic: pmic@34 {
607f126890aSEmmanuel Vadot			compatible = "ti,tps6586x";
608f126890aSEmmanuel Vadot			reg = <0x34>;
609f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
610f126890aSEmmanuel Vadot
611f126890aSEmmanuel Vadot			ti,system-power-controller;
612f126890aSEmmanuel Vadot
613f126890aSEmmanuel Vadot			#gpio-cells = <2>;
614f126890aSEmmanuel Vadot			gpio-controller;
615f126890aSEmmanuel Vadot
616f126890aSEmmanuel Vadot			sys-supply = <&vdd_5v0_sys>;
617f126890aSEmmanuel Vadot			vin-sm0-supply = <&sys_reg>;
618f126890aSEmmanuel Vadot			vin-sm1-supply = <&sys_reg>;
619f126890aSEmmanuel Vadot			vin-sm2-supply = <&sys_reg>;
620f126890aSEmmanuel Vadot			vinldo01-supply = <&sm2_reg>;
621f126890aSEmmanuel Vadot			vinldo23-supply = <&sm2_reg>;
622f126890aSEmmanuel Vadot			vinldo4-supply = <&sm2_reg>;
623f126890aSEmmanuel Vadot			vinldo678-supply = <&sm2_reg>;
624f126890aSEmmanuel Vadot			vinldo9-supply = <&sm2_reg>;
625f126890aSEmmanuel Vadot
626f126890aSEmmanuel Vadot			regulators {
627f126890aSEmmanuel Vadot				sys_reg: sys {
628f126890aSEmmanuel Vadot					regulator-name = "vdd_sys";
629f126890aSEmmanuel Vadot					regulator-always-on;
630f126890aSEmmanuel Vadot				};
631f126890aSEmmanuel Vadot
632f126890aSEmmanuel Vadot				vdd_core: sm0 {
633f126890aSEmmanuel Vadot					regulator-name = "vdd_sm0,vdd_core";
634f126890aSEmmanuel Vadot					regulator-min-microvolt = <950000>;
635f126890aSEmmanuel Vadot					regulator-max-microvolt = <1300000>;
636f126890aSEmmanuel Vadot					regulator-coupled-with = <&rtc_vdd &vdd_cpu>;
637f126890aSEmmanuel Vadot					regulator-coupled-max-spread = <170000 550000>;
638f126890aSEmmanuel Vadot					regulator-always-on;
639f126890aSEmmanuel Vadot					regulator-boot-on;
640f126890aSEmmanuel Vadot
641f126890aSEmmanuel Vadot					nvidia,tegra-core-regulator;
642f126890aSEmmanuel Vadot				};
643f126890aSEmmanuel Vadot
644f126890aSEmmanuel Vadot				vdd_cpu: sm1 {
645f126890aSEmmanuel Vadot					regulator-name = "vdd_sm1,vdd_cpu";
646f126890aSEmmanuel Vadot					regulator-min-microvolt = <750000>;
647f126890aSEmmanuel Vadot					regulator-max-microvolt = <1125000>;
648f126890aSEmmanuel Vadot					regulator-coupled-with = <&vdd_core &rtc_vdd>;
649f126890aSEmmanuel Vadot					regulator-coupled-max-spread = <550000 550000>;
650f126890aSEmmanuel Vadot					regulator-always-on;
651f126890aSEmmanuel Vadot					regulator-boot-on;
652f126890aSEmmanuel Vadot
653f126890aSEmmanuel Vadot					nvidia,tegra-cpu-regulator;
654f126890aSEmmanuel Vadot				};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot				sm2_reg: sm2 {
657f126890aSEmmanuel Vadot					regulator-name = "vdd_sm2,vin_ldo*";
658f126890aSEmmanuel Vadot					regulator-min-microvolt = <3700000>;
659f126890aSEmmanuel Vadot					regulator-max-microvolt = <3700000>;
660f126890aSEmmanuel Vadot					regulator-always-on;
661f126890aSEmmanuel Vadot				};
662f126890aSEmmanuel Vadot
663f126890aSEmmanuel Vadot				/* LDO0 is not connected to anything */
664f126890aSEmmanuel Vadot
665f126890aSEmmanuel Vadot				ldo1 {
666f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo1,avdd_pll*";
667f126890aSEmmanuel Vadot					regulator-min-microvolt = <1100000>;
668f126890aSEmmanuel Vadot					regulator-max-microvolt = <1100000>;
669f126890aSEmmanuel Vadot					regulator-always-on;
670f126890aSEmmanuel Vadot				};
671f126890aSEmmanuel Vadot
672f126890aSEmmanuel Vadot				rtc_vdd: ldo2 {
673f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo2,vdd_rtc";
674f126890aSEmmanuel Vadot					regulator-min-microvolt = <950000>;
675f126890aSEmmanuel Vadot					regulator-max-microvolt = <1300000>;
676f126890aSEmmanuel Vadot					regulator-coupled-with = <&vdd_core &vdd_cpu>;
677f126890aSEmmanuel Vadot					regulator-coupled-max-spread = <170000 550000>;
678f126890aSEmmanuel Vadot					regulator-always-on;
679f126890aSEmmanuel Vadot					regulator-boot-on;
680f126890aSEmmanuel Vadot
681f126890aSEmmanuel Vadot					nvidia,tegra-rtc-regulator;
682f126890aSEmmanuel Vadot				};
683f126890aSEmmanuel Vadot
684f126890aSEmmanuel Vadot				ldo3 {
685f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo3,avdd_usb*";
686f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
687f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
688f126890aSEmmanuel Vadot					regulator-always-on;
689f126890aSEmmanuel Vadot				};
690f126890aSEmmanuel Vadot
691f126890aSEmmanuel Vadot				ldo4 {
692f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
693f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
694f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
695f126890aSEmmanuel Vadot					regulator-always-on;
696f126890aSEmmanuel Vadot				};
697f126890aSEmmanuel Vadot
698f126890aSEmmanuel Vadot				vcore_emmc: ldo5 {
699f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo5,vcore_mmc";
700f126890aSEmmanuel Vadot					regulator-min-microvolt = <2850000>;
701f126890aSEmmanuel Vadot					regulator-max-microvolt = <2850000>;
702f126890aSEmmanuel Vadot					regulator-always-on;
703f126890aSEmmanuel Vadot				};
704f126890aSEmmanuel Vadot
705f126890aSEmmanuel Vadot				ldo6 {
706f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo6,avdd_vdac";
707f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
708f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
709f126890aSEmmanuel Vadot				};
710f126890aSEmmanuel Vadot
711f126890aSEmmanuel Vadot				hdmi_vdd_reg: ldo7 {
712f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
713f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
714f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
715f126890aSEmmanuel Vadot				};
716f126890aSEmmanuel Vadot
717f126890aSEmmanuel Vadot				hdmi_pll_reg: ldo8 {
718f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo8,avdd_hdmi_pll";
719f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
720f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
721f126890aSEmmanuel Vadot				};
722f126890aSEmmanuel Vadot
723f126890aSEmmanuel Vadot				ldo9 {
724f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
725f126890aSEmmanuel Vadot					regulator-min-microvolt = <2850000>;
726f126890aSEmmanuel Vadot					regulator-max-microvolt = <2850000>;
727f126890aSEmmanuel Vadot					regulator-always-on;
728f126890aSEmmanuel Vadot				};
729f126890aSEmmanuel Vadot
730f126890aSEmmanuel Vadot				ldo_rtc {
731f126890aSEmmanuel Vadot					regulator-name = "vdd_rtc_out,vdd_cell";
732f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
733f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
734f126890aSEmmanuel Vadot					regulator-always-on;
735f126890aSEmmanuel Vadot				};
736f126890aSEmmanuel Vadot			};
737f126890aSEmmanuel Vadot		};
738f126890aSEmmanuel Vadot
739f126890aSEmmanuel Vadot		nct1008: temperature-sensor@4c {
740f126890aSEmmanuel Vadot			compatible = "onnn,nct1008";
741f126890aSEmmanuel Vadot			reg = <0x4c>;
742f126890aSEmmanuel Vadot			vcc-supply = <&vdd_3v3_sys>;
743f126890aSEmmanuel Vadot
744f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
745f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_EDGE_FALLING>;
746f126890aSEmmanuel Vadot
747f126890aSEmmanuel Vadot			#thermal-sensor-cells = <1>;
748f126890aSEmmanuel Vadot		};
749f126890aSEmmanuel Vadot	};
750f126890aSEmmanuel Vadot
751f126890aSEmmanuel Vadot	pmc@7000e400 {
752f126890aSEmmanuel Vadot		nvidia,invert-interrupt;
753f126890aSEmmanuel Vadot		nvidia,suspend-mode = <1>;
754f126890aSEmmanuel Vadot		nvidia,cpu-pwr-good-time = <2000>;
755f126890aSEmmanuel Vadot		nvidia,cpu-pwr-off-time = <100>;
756f126890aSEmmanuel Vadot		nvidia,core-pwr-good-time = <3845 3845>;
757f126890aSEmmanuel Vadot		nvidia,core-pwr-off-time = <458>;
758f126890aSEmmanuel Vadot		nvidia,sys-clock-req-active-high;
759f126890aSEmmanuel Vadot		core-supply = <&vdd_core>;
760f126890aSEmmanuel Vadot	};
761f126890aSEmmanuel Vadot
762f126890aSEmmanuel Vadot	memory-controller@7000f400 {
763f126890aSEmmanuel Vadot		nvidia,use-ram-code;
764f126890aSEmmanuel Vadot
765f126890aSEmmanuel Vadot		emc-tables@3 {
766f126890aSEmmanuel Vadot			reg = <0x3>;
767f126890aSEmmanuel Vadot
768f126890aSEmmanuel Vadot			#address-cells = <1>;
769f126890aSEmmanuel Vadot			#size-cells = <0>;
770f126890aSEmmanuel Vadot
771f126890aSEmmanuel Vadot			emc-table@25000 {
772f126890aSEmmanuel Vadot				reg = <25000>;
773f126890aSEmmanuel Vadot				compatible = "nvidia,tegra20-emc-table";
774f126890aSEmmanuel Vadot				clock-frequency = <25000>;
775f126890aSEmmanuel Vadot				nvidia,emc-registers = <0x00000002 0x00000006
776f126890aSEmmanuel Vadot					0x00000003 0x00000003 0x00000006 0x00000004
777f126890aSEmmanuel Vadot					0x00000002 0x00000009 0x00000003 0x00000003
778f126890aSEmmanuel Vadot					0x00000002 0x00000002 0x00000002 0x00000004
779f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x0000000b 0x0000004d
780f126890aSEmmanuel Vadot					0x00000000 0x00000003 0x00000003 0x00000003
781f126890aSEmmanuel Vadot					0x00000008 0x00000001 0x0000000a 0x00000004
782f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x00000004 0x00000006
783f126890aSEmmanuel Vadot					0x00000002 0x00000068 0x00000000 0x00000003
784f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000282 0xa0ae04ae
785f126890aSEmmanuel Vadot					0x00070000 0x00000000 0x00000000 0x00000003
786f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000000 0x00000000>;
787f126890aSEmmanuel Vadot			};
788f126890aSEmmanuel Vadot
789f126890aSEmmanuel Vadot			emc-table@50000 {
790f126890aSEmmanuel Vadot				reg = <50000>;
791f126890aSEmmanuel Vadot				compatible = "nvidia,tegra20-emc-table";
792f126890aSEmmanuel Vadot				clock-frequency = <50000>;
793f126890aSEmmanuel Vadot				nvidia,emc-registers = <0x00000003 0x00000007
794f126890aSEmmanuel Vadot					0x00000003 0x00000003 0x00000006 0x00000004
795f126890aSEmmanuel Vadot					0x00000002 0x00000009 0x00000003 0x00000003
796f126890aSEmmanuel Vadot					0x00000002 0x00000002 0x00000002 0x00000005
797f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x0000000b 0x0000009f
798f126890aSEmmanuel Vadot					0x00000000 0x00000003 0x00000003 0x00000003
799f126890aSEmmanuel Vadot					0x00000008 0x00000001 0x0000000a 0x00000007
800f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x00000004 0x00000006
801f126890aSEmmanuel Vadot					0x00000002 0x000000d0 0x00000000 0x00000000
802f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000282 0xa0ae04ae
803f126890aSEmmanuel Vadot					0x00070000 0x00000000 0x00000000 0x00000005
804f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000000 0x00000000>;
805f126890aSEmmanuel Vadot			};
806f126890aSEmmanuel Vadot
807f126890aSEmmanuel Vadot			emc-table@75000 {
808f126890aSEmmanuel Vadot				reg = <75000>;
809f126890aSEmmanuel Vadot				compatible = "nvidia,tegra20-emc-table";
810f126890aSEmmanuel Vadot				clock-frequency = <75000>;
811f126890aSEmmanuel Vadot				nvidia,emc-registers = <0x00000005 0x0000000a
812f126890aSEmmanuel Vadot					0x00000004 0x00000003 0x00000006 0x00000004
813f126890aSEmmanuel Vadot					0x00000002 0x00000009 0x00000003 0x00000003
814f126890aSEmmanuel Vadot					0x00000002 0x00000002 0x00000002 0x00000005
815f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x0000000b 0x000000ff
816f126890aSEmmanuel Vadot					0x00000000 0x00000003 0x00000003 0x00000003
817f126890aSEmmanuel Vadot					0x00000008 0x00000001 0x0000000a 0x0000000b
818f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x00000004 0x00000006
819f126890aSEmmanuel Vadot					0x00000002 0x00000138 0x00000000 0x00000000
820f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000282 0xa0ae04ae
821f126890aSEmmanuel Vadot					0x00070000 0x00000000 0x00000000 0x00000007
822f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000000 0x00000000>;
823f126890aSEmmanuel Vadot			};
824f126890aSEmmanuel Vadot
825f126890aSEmmanuel Vadot			emc-table@150000 {
826f126890aSEmmanuel Vadot				reg = <150000>;
827f126890aSEmmanuel Vadot				compatible = "nvidia,tegra20-emc-table";
828f126890aSEmmanuel Vadot				clock-frequency = <150000>;
829f126890aSEmmanuel Vadot				nvidia,emc-registers = <0x00000009 0x00000014
830f126890aSEmmanuel Vadot					0x00000007 0x00000003 0x00000006 0x00000004
831f126890aSEmmanuel Vadot					0x00000002 0x00000009 0x00000003 0x00000003
832f126890aSEmmanuel Vadot					0x00000002 0x00000002 0x00000002 0x00000005
833f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x0000000b 0x0000021f
834f126890aSEmmanuel Vadot					0x00000000 0x00000003 0x00000003 0x00000003
835f126890aSEmmanuel Vadot					0x00000008 0x00000001 0x0000000a 0x00000015
836f126890aSEmmanuel Vadot					0x00000003 0x00000008 0x00000004 0x00000006
837f126890aSEmmanuel Vadot					0x00000002 0x00000270 0x00000000 0x00000001
838f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000282 0xa07c04ae
839f126890aSEmmanuel Vadot					0x007dc010 0x00000000 0x00000000 0x0000000e
840f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000000 0x00000000>;
841f126890aSEmmanuel Vadot			};
842f126890aSEmmanuel Vadot
843f126890aSEmmanuel Vadot			emc-table@300000 {
844f126890aSEmmanuel Vadot				reg = <300000>;
845f126890aSEmmanuel Vadot				compatible = "nvidia,tegra20-emc-table";
846f126890aSEmmanuel Vadot				clock-frequency = <300000>;
847f126890aSEmmanuel Vadot				nvidia,emc-registers = <0x00000012 0x00000027
848f126890aSEmmanuel Vadot					0x0000000d 0x00000006 0x00000007 0x00000005
849f126890aSEmmanuel Vadot					0x00000003 0x00000009 0x00000006 0x00000006
850f126890aSEmmanuel Vadot					0x00000003 0x00000003 0x00000002 0x00000006
851f126890aSEmmanuel Vadot					0x00000003 0x00000009 0x0000000c 0x0000045f
852f126890aSEmmanuel Vadot					0x00000000 0x00000004 0x00000004 0x00000006
853f126890aSEmmanuel Vadot					0x00000008 0x00000001 0x0000000e 0x0000002a
854f126890aSEmmanuel Vadot					0x00000003 0x0000000f 0x00000007 0x00000005
855f126890aSEmmanuel Vadot					0x00000002 0x000004e0 0x00000005 0x00000002
856f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000282 0xe059048b
857f126890aSEmmanuel Vadot					0x007e0010 0x00000000 0x00000000 0x0000001b
858f126890aSEmmanuel Vadot					0x00000000 0x00000000 0x00000000 0x00000000>;
859f126890aSEmmanuel Vadot			};
860f126890aSEmmanuel Vadot
861f126890aSEmmanuel Vadot			lpddr2 {
862f126890aSEmmanuel Vadot				compatible = "elpida,B8132B2PB-6D-F", "jedec,lpddr2-s4";
863f126890aSEmmanuel Vadot				revision-id = <1 0>;
864f126890aSEmmanuel Vadot				density = <2048>;
865f126890aSEmmanuel Vadot				io-width = <16>;
866f126890aSEmmanuel Vadot			};
867f126890aSEmmanuel Vadot		};
868f126890aSEmmanuel Vadot	};
869f126890aSEmmanuel Vadot
870f126890aSEmmanuel Vadot	/* Peripheral USB via ASUS connector */
871f126890aSEmmanuel Vadot	usb@c5000000 {
872f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-udc";
873f126890aSEmmanuel Vadot		status = "okay";
874f126890aSEmmanuel Vadot		dr_mode = "peripheral";
875f126890aSEmmanuel Vadot	};
876f126890aSEmmanuel Vadot
877f126890aSEmmanuel Vadot	usb-phy@c5000000 {
878f126890aSEmmanuel Vadot		status = "okay";
879f126890aSEmmanuel Vadot		dr_mode = "peripheral";
880f126890aSEmmanuel Vadot		nvidia,xcvr-setup-use-fuses;
881f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <2>;
882f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <2>;
883f126890aSEmmanuel Vadot		vbus-supply = <&vdd_5v0_sys>;
884f126890aSEmmanuel Vadot	};
885f126890aSEmmanuel Vadot
886f126890aSEmmanuel Vadot	/* Dock's USB port */
887f126890aSEmmanuel Vadot	usb@c5008000 {
888f126890aSEmmanuel Vadot		status = "okay";
889f126890aSEmmanuel Vadot	};
890f126890aSEmmanuel Vadot
891f126890aSEmmanuel Vadot	usb-phy@c5008000 {
892f126890aSEmmanuel Vadot		status = "okay";
893f126890aSEmmanuel Vadot		nvidia,xcvr-setup-use-fuses;
894f126890aSEmmanuel Vadot		vbus-supply = <&vdd_5v0_sys>;
895f126890aSEmmanuel Vadot	};
896f126890aSEmmanuel Vadot
897f126890aSEmmanuel Vadot	sdmmc1: mmc@c8000000 {
898f126890aSEmmanuel Vadot		status = "okay";
899f126890aSEmmanuel Vadot
900f126890aSEmmanuel Vadot		#address-cells = <1>;
901f126890aSEmmanuel Vadot		#size-cells = <0>;
902f126890aSEmmanuel Vadot
903f126890aSEmmanuel Vadot		assigned-clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
904f126890aSEmmanuel Vadot		assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_C>;
905f126890aSEmmanuel Vadot		assigned-clock-rates = <40000000>;
906f126890aSEmmanuel Vadot
907f126890aSEmmanuel Vadot		max-frequency = <40000000>;
908f126890aSEmmanuel Vadot		keep-power-in-suspend;
909f126890aSEmmanuel Vadot		bus-width = <4>;
910f126890aSEmmanuel Vadot		non-removable;
911f126890aSEmmanuel Vadot
912f126890aSEmmanuel Vadot		mmc-pwrseq = <&brcm_wifi_pwrseq>;
913f126890aSEmmanuel Vadot		vmmc-supply = <&vdd_3v3_sys>;
914f126890aSEmmanuel Vadot		vqmmc-supply = <&vdd_3v3_sys>;
915f126890aSEmmanuel Vadot
916f126890aSEmmanuel Vadot		/* Azurewave AW-NH615 BCM4329B1 */
917f126890aSEmmanuel Vadot		wifi@1 {
918f126890aSEmmanuel Vadot			compatible = "brcm,bcm4329-fmac";
919f126890aSEmmanuel Vadot			reg = <1>;
920f126890aSEmmanuel Vadot
921f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
922f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_LEVEL_HIGH>;
923f126890aSEmmanuel Vadot			interrupt-names = "host-wake";
924f126890aSEmmanuel Vadot		};
925f126890aSEmmanuel Vadot	};
926f126890aSEmmanuel Vadot
927f126890aSEmmanuel Vadot	sdmmc3: mmc@c8000400 {
928f126890aSEmmanuel Vadot		status = "okay";
929f126890aSEmmanuel Vadot		bus-width = <4>;
930f126890aSEmmanuel Vadot		cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
931f126890aSEmmanuel Vadot		wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
932f126890aSEmmanuel Vadot		power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
933f126890aSEmmanuel Vadot		vmmc-supply = <&vdd_3v3_sys>;
934f126890aSEmmanuel Vadot		vqmmc-supply = <&vdd_3v3_sys>;
935f126890aSEmmanuel Vadot	};
936f126890aSEmmanuel Vadot
937f126890aSEmmanuel Vadot	sdmmc4: mmc@c8000600 {
938f126890aSEmmanuel Vadot		status = "okay";
939f126890aSEmmanuel Vadot		bus-width = <8>;
940f126890aSEmmanuel Vadot		vmmc-supply = <&vcore_emmc>;
941f126890aSEmmanuel Vadot		vqmmc-supply = <&vdd_3v3_sys>;
942f126890aSEmmanuel Vadot		non-removable;
943f126890aSEmmanuel Vadot	};
944f126890aSEmmanuel Vadot
945f126890aSEmmanuel Vadot	mains: ac-adapter-detect {
946f126890aSEmmanuel Vadot		compatible = "gpio-charger";
947f126890aSEmmanuel Vadot		charger-type = "mains";
948f126890aSEmmanuel Vadot		gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
949f126890aSEmmanuel Vadot	};
950f126890aSEmmanuel Vadot
951f126890aSEmmanuel Vadot	backlight: backlight {
952f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
953f126890aSEmmanuel Vadot
954f126890aSEmmanuel Vadot		enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
955f126890aSEmmanuel Vadot		power-supply = <&vdd_3v3_sys>;
956f126890aSEmmanuel Vadot		pwms = <&pwm 2 4000000>;
957f126890aSEmmanuel Vadot
958f126890aSEmmanuel Vadot		brightness-levels = <7 255>;
959f126890aSEmmanuel Vadot		num-interpolated-steps = <248>;
960f126890aSEmmanuel Vadot		default-brightness-level = <20>;
961f126890aSEmmanuel Vadot	};
962f126890aSEmmanuel Vadot
963f126890aSEmmanuel Vadot	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
964f126890aSEmmanuel Vadot	clk32k_in: clock-32k-in {
965f126890aSEmmanuel Vadot		compatible = "fixed-clock";
966f126890aSEmmanuel Vadot		clock-frequency = <32768>;
967f126890aSEmmanuel Vadot		#clock-cells = <0>;
968f126890aSEmmanuel Vadot	};
969f126890aSEmmanuel Vadot
970f126890aSEmmanuel Vadot	cpus {
971f126890aSEmmanuel Vadot		cpu0: cpu@0 {
972f126890aSEmmanuel Vadot			cpu-supply = <&vdd_cpu>;
973f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
974f126890aSEmmanuel Vadot			#cooling-cells = <2>;
975f126890aSEmmanuel Vadot		};
976f126890aSEmmanuel Vadot
977f126890aSEmmanuel Vadot		cpu1: cpu@1 {
978f126890aSEmmanuel Vadot			cpu-supply = <&vdd_cpu>;
979f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
980f126890aSEmmanuel Vadot			#cooling-cells = <2>;
981f126890aSEmmanuel Vadot		};
982f126890aSEmmanuel Vadot	};
983f126890aSEmmanuel Vadot
984f126890aSEmmanuel Vadot	display-panel {
985f126890aSEmmanuel Vadot		compatible = "auo,b101ew05", "panel-lvds";
986f126890aSEmmanuel Vadot
987f126890aSEmmanuel Vadot		/* AUO B101EW05 using custom timings */
988f126890aSEmmanuel Vadot
989f126890aSEmmanuel Vadot		backlight = <&backlight>;
990f126890aSEmmanuel Vadot		ddc-i2c-bus = <&lvds_ddc>;
991f126890aSEmmanuel Vadot		power-supply = <&vdd_pnl_reg>;
992f126890aSEmmanuel Vadot
993f126890aSEmmanuel Vadot		width-mm = <218>;
994f126890aSEmmanuel Vadot		height-mm = <135>;
995f126890aSEmmanuel Vadot
996f126890aSEmmanuel Vadot		data-mapping = "jeida-18";
997f126890aSEmmanuel Vadot
998f126890aSEmmanuel Vadot		panel-timing {
999f126890aSEmmanuel Vadot			clock-frequency = <71200000>;
1000f126890aSEmmanuel Vadot			hactive = <1280>;
1001f126890aSEmmanuel Vadot			vactive = <800>;
1002f126890aSEmmanuel Vadot			hfront-porch = <8>;
1003f126890aSEmmanuel Vadot			hback-porch = <18>;
1004f126890aSEmmanuel Vadot			hsync-len = <184>;
1005f126890aSEmmanuel Vadot			vsync-len = <3>;
1006f126890aSEmmanuel Vadot			vfront-porch = <4>;
1007f126890aSEmmanuel Vadot			vback-porch = <8>;
1008f126890aSEmmanuel Vadot		};
1009f126890aSEmmanuel Vadot
1010f126890aSEmmanuel Vadot		port {
1011f126890aSEmmanuel Vadot			panel_input: endpoint {
1012f126890aSEmmanuel Vadot				remote-endpoint = <&lvds_encoder_output>;
1013f126890aSEmmanuel Vadot			};
1014f126890aSEmmanuel Vadot		};
1015f126890aSEmmanuel Vadot	};
1016f126890aSEmmanuel Vadot
1017f126890aSEmmanuel Vadot	gpio-keys {
1018f126890aSEmmanuel Vadot		compatible = "gpio-keys";
1019f126890aSEmmanuel Vadot
1020f126890aSEmmanuel Vadot		key-power {
1021f126890aSEmmanuel Vadot			label = "Power";
1022f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
1023f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
1024f126890aSEmmanuel Vadot			debounce-interval = <10>;
1025f126890aSEmmanuel Vadot			wakeup-event-action = <EV_ACT_ASSERTED>;
1026f126890aSEmmanuel Vadot			wakeup-source;
1027f126890aSEmmanuel Vadot		};
1028f126890aSEmmanuel Vadot
1029f126890aSEmmanuel Vadot		key-volume-down {
1030f126890aSEmmanuel Vadot			label = "Volume Down";
1031f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
1032f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
1033f126890aSEmmanuel Vadot			debounce-interval = <10>;
1034f126890aSEmmanuel Vadot			wakeup-event-action = <EV_ACT_ASSERTED>;
1035f126890aSEmmanuel Vadot			wakeup-source;
1036f126890aSEmmanuel Vadot		};
1037f126890aSEmmanuel Vadot
1038f126890aSEmmanuel Vadot		key-volume-up {
1039f126890aSEmmanuel Vadot			label = "Volume Up";
1040f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
1041f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
1042f126890aSEmmanuel Vadot			debounce-interval = <10>;
1043f126890aSEmmanuel Vadot			wakeup-event-action = <EV_ACT_ASSERTED>;
1044f126890aSEmmanuel Vadot			wakeup-source;
1045f126890aSEmmanuel Vadot		};
1046f126890aSEmmanuel Vadot
1047f126890aSEmmanuel Vadot		switch-dock-hall-sensor {
1048f126890aSEmmanuel Vadot			label = "Lid";
1049f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(S, 4) GPIO_ACTIVE_LOW>;
1050f126890aSEmmanuel Vadot			linux,input-type = <EV_SW>;
1051f126890aSEmmanuel Vadot			linux,code = <SW_LID>;
1052f126890aSEmmanuel Vadot			debounce-interval = <500>;
1053f126890aSEmmanuel Vadot			wakeup-event-action = <EV_ACT_ASSERTED>;
1054f126890aSEmmanuel Vadot			wakeup-source;
1055f126890aSEmmanuel Vadot		};
1056f126890aSEmmanuel Vadot	};
1057f126890aSEmmanuel Vadot
1058f126890aSEmmanuel Vadot	i2cmux {
1059f126890aSEmmanuel Vadot		compatible = "i2c-mux-pinctrl";
1060f126890aSEmmanuel Vadot		#address-cells = <1>;
1061f126890aSEmmanuel Vadot		#size-cells = <0>;
1062f126890aSEmmanuel Vadot
1063f126890aSEmmanuel Vadot		i2c-parent = <&i2c2>;
1064f126890aSEmmanuel Vadot
1065f126890aSEmmanuel Vadot		pinctrl-names = "ddc", "pta", "idle";
1066f126890aSEmmanuel Vadot		pinctrl-0 = <&state_i2cmux_ddc>;
1067f126890aSEmmanuel Vadot		pinctrl-1 = <&state_i2cmux_pta>;
1068f126890aSEmmanuel Vadot		pinctrl-2 = <&state_i2cmux_idle>;
1069f126890aSEmmanuel Vadot
1070f126890aSEmmanuel Vadot		hdmi_ddc: i2c@0 {
1071f126890aSEmmanuel Vadot			reg = <0>;
1072f126890aSEmmanuel Vadot			#address-cells = <1>;
1073f126890aSEmmanuel Vadot			#size-cells = <0>;
1074f126890aSEmmanuel Vadot		};
1075f126890aSEmmanuel Vadot
1076f126890aSEmmanuel Vadot		lvds_ddc: i2c@1 {
1077f126890aSEmmanuel Vadot			reg = <1>;
1078f126890aSEmmanuel Vadot			#address-cells = <1>;
1079f126890aSEmmanuel Vadot			#size-cells = <0>;
1080f126890aSEmmanuel Vadot
1081f126890aSEmmanuel Vadot			smart-battery@b {
1082f126890aSEmmanuel Vadot				compatible = "ti,bq20z75", "sbs,sbs-battery";
1083f126890aSEmmanuel Vadot				reg = <0xb>;
1084f126890aSEmmanuel Vadot				sbs,i2c-retry-count = <2>;
1085f126890aSEmmanuel Vadot				sbs,poll-retry-count = <10>;
1086f126890aSEmmanuel Vadot				power-supplies = <&mains>;
1087f126890aSEmmanuel Vadot			};
1088f126890aSEmmanuel Vadot		};
1089f126890aSEmmanuel Vadot	};
1090f126890aSEmmanuel Vadot
1091f126890aSEmmanuel Vadot	lvds-encoder {
1092f126890aSEmmanuel Vadot		compatible = "ti,sn75lvds83", "lvds-encoder";
1093f126890aSEmmanuel Vadot
1094f126890aSEmmanuel Vadot		powerdown-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>;
1095f126890aSEmmanuel Vadot		power-supply = <&vdd_3v3_sys>;
1096f126890aSEmmanuel Vadot
1097f126890aSEmmanuel Vadot		ports {
1098f126890aSEmmanuel Vadot			#address-cells = <1>;
1099f126890aSEmmanuel Vadot			#size-cells = <0>;
1100f126890aSEmmanuel Vadot
1101f126890aSEmmanuel Vadot			port@0 {
1102f126890aSEmmanuel Vadot				reg = <0>;
1103f126890aSEmmanuel Vadot
1104f126890aSEmmanuel Vadot				lvds_encoder_input: endpoint {
1105f126890aSEmmanuel Vadot					remote-endpoint = <&lcd_output>;
1106f126890aSEmmanuel Vadot				};
1107f126890aSEmmanuel Vadot			};
1108f126890aSEmmanuel Vadot
1109f126890aSEmmanuel Vadot			port@1 {
1110f126890aSEmmanuel Vadot				reg = <1>;
1111f126890aSEmmanuel Vadot
1112f126890aSEmmanuel Vadot				lvds_encoder_output: endpoint {
1113f126890aSEmmanuel Vadot					remote-endpoint = <&panel_input>;
1114f126890aSEmmanuel Vadot				};
1115f126890aSEmmanuel Vadot			};
1116f126890aSEmmanuel Vadot		};
1117f126890aSEmmanuel Vadot	};
1118f126890aSEmmanuel Vadot
1119f126890aSEmmanuel Vadot	opp-table-emc {
1120f126890aSEmmanuel Vadot		/delete-node/ opp-666000000;
1121f126890aSEmmanuel Vadot		/delete-node/ opp-760000000;
1122f126890aSEmmanuel Vadot	};
1123f126890aSEmmanuel Vadot
1124f126890aSEmmanuel Vadot	vdd_5v0_sys: regulator-5v0 {
1125f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1126f126890aSEmmanuel Vadot		regulator-name = "vdd_5v0";
1127f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1128f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1129f126890aSEmmanuel Vadot		regulator-always-on;
1130f126890aSEmmanuel Vadot	};
1131f126890aSEmmanuel Vadot
1132f126890aSEmmanuel Vadot	vdd_3v3_sys: regulator-3v3 {
1133f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1134f126890aSEmmanuel Vadot		regulator-name = "vdd_3v3_vs";
1135f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1136f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1137f126890aSEmmanuel Vadot		regulator-always-on;
1138f126890aSEmmanuel Vadot		vin-supply = <&vdd_5v0_sys>;
1139f126890aSEmmanuel Vadot	};
1140f126890aSEmmanuel Vadot
1141f126890aSEmmanuel Vadot	regulator-pcie {
1142f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1143f126890aSEmmanuel Vadot		regulator-name = "pcie_vdd";
1144f126890aSEmmanuel Vadot		regulator-min-microvolt = <1500000>;
1145f126890aSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
1146f126890aSEmmanuel Vadot		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
1147f126890aSEmmanuel Vadot		regulator-always-on;
1148f126890aSEmmanuel Vadot	};
1149f126890aSEmmanuel Vadot
1150f126890aSEmmanuel Vadot	vdd_pnl_reg: regulator-panel {
1151f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1152f126890aSEmmanuel Vadot		regulator-name = "vdd_pnl";
1153f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
1154f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
1155f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
1156f126890aSEmmanuel Vadot		enable-active-high;
1157f126890aSEmmanuel Vadot	};
1158f126890aSEmmanuel Vadot
1159f126890aSEmmanuel Vadot	vdd_1v8_sys: regulator-1v8 {
1160f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1161f126890aSEmmanuel Vadot		regulator-name = "vdd_1v8_vs";
1162f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1163f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1164f126890aSEmmanuel Vadot		regulator-always-on;
1165f126890aSEmmanuel Vadot		vin-supply = <&vdd_5v0_sys>;
1166f126890aSEmmanuel Vadot	};
1167f126890aSEmmanuel Vadot
1168f126890aSEmmanuel Vadot	vdd_hdmi_en: regulator-hdmi {
1169f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
1170f126890aSEmmanuel Vadot		regulator-name = "vdd_5v0_hdmi_en";
1171f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1172f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1173f126890aSEmmanuel Vadot		regulator-always-on;
1174f126890aSEmmanuel Vadot		vin-supply = <&vdd_5v0_sys>;
1175f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
1176f126890aSEmmanuel Vadot		enable-active-high;
1177f126890aSEmmanuel Vadot	};
1178f126890aSEmmanuel Vadot
1179f126890aSEmmanuel Vadot	sound {
1180f126890aSEmmanuel Vadot		compatible = "asus,tegra-audio-wm8903-tf101",
1181f126890aSEmmanuel Vadot			     "nvidia,tegra-audio-wm8903";
1182f126890aSEmmanuel Vadot		nvidia,model = "Asus EeePad Transformer WM8903";
1183f126890aSEmmanuel Vadot
1184f126890aSEmmanuel Vadot		nvidia,audio-routing =
1185f126890aSEmmanuel Vadot			"Headphone Jack", "HPOUTR",
1186f126890aSEmmanuel Vadot			"Headphone Jack", "HPOUTL",
1187f126890aSEmmanuel Vadot			"Int Spk", "ROP",
1188f126890aSEmmanuel Vadot			"Int Spk", "RON",
1189f126890aSEmmanuel Vadot			"Int Spk", "LOP",
1190f126890aSEmmanuel Vadot			"Int Spk", "LON",
1191f126890aSEmmanuel Vadot			"IN2L", "Mic Jack",
1192f126890aSEmmanuel Vadot			"DMICDAT", "Int Mic";
1193f126890aSEmmanuel Vadot
1194f126890aSEmmanuel Vadot		nvidia,i2s-controller = <&tegra_i2s1>;
1195f126890aSEmmanuel Vadot		nvidia,audio-codec = <&wm8903>;
1196f126890aSEmmanuel Vadot
1197f126890aSEmmanuel Vadot		nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
1198f126890aSEmmanuel Vadot		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
1199f126890aSEmmanuel Vadot		nvidia,mic-det-gpios = <&gpio TEGRA_GPIO(X, 1) GPIO_ACTIVE_LOW>;
1200f126890aSEmmanuel Vadot		nvidia,coupled-mic-hp-det;
1201f126890aSEmmanuel Vadot
1202f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
1203f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
1204f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_CDEV1>;
1205f126890aSEmmanuel Vadot		clock-names = "pll_a", "pll_a_out0", "mclk";
1206f126890aSEmmanuel Vadot	};
1207f126890aSEmmanuel Vadot
1208f126890aSEmmanuel Vadot	thermal-zones {
1209f126890aSEmmanuel Vadot		/*
1210f126890aSEmmanuel Vadot		 * NCT1008 has two sensors:
1211f126890aSEmmanuel Vadot		 *
1212f126890aSEmmanuel Vadot		 *	0: internal that monitors ambient/skin temperature
1213f126890aSEmmanuel Vadot		 *	1: external that is connected to the CPU's diode
1214f126890aSEmmanuel Vadot		 *
1215f126890aSEmmanuel Vadot		 * Ideally we should use userspace thermal governor,
1216f126890aSEmmanuel Vadot		 * but it's a much more complex solution.  The "skin"
1217f126890aSEmmanuel Vadot		 * zone is a simpler solution which prevents TF101 from
1218f126890aSEmmanuel Vadot		 * getting too hot from a user's tactile perspective.
1219f126890aSEmmanuel Vadot		 * The CPU zone is intended to protect silicon from damage.
1220f126890aSEmmanuel Vadot		 */
1221f126890aSEmmanuel Vadot
1222f126890aSEmmanuel Vadot		skin-thermal {
1223f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
1224f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
1225f126890aSEmmanuel Vadot
1226f126890aSEmmanuel Vadot			thermal-sensors = <&nct1008 0>;
1227f126890aSEmmanuel Vadot
1228f126890aSEmmanuel Vadot			trips {
1229f126890aSEmmanuel Vadot				trip0: skin-alert {
1230f126890aSEmmanuel Vadot					/* start throttling at 60C */
1231f126890aSEmmanuel Vadot					temperature = <60000>;
1232f126890aSEmmanuel Vadot					hysteresis = <200>;
1233f126890aSEmmanuel Vadot					type = "passive";
1234f126890aSEmmanuel Vadot				};
1235f126890aSEmmanuel Vadot
1236f126890aSEmmanuel Vadot				trip1: skin-crit {
1237f126890aSEmmanuel Vadot					/* shut down at 70C */
1238f126890aSEmmanuel Vadot					temperature = <70000>;
1239f126890aSEmmanuel Vadot					hysteresis = <2000>;
1240f126890aSEmmanuel Vadot					type = "critical";
1241f126890aSEmmanuel Vadot				};
1242f126890aSEmmanuel Vadot			};
1243f126890aSEmmanuel Vadot
1244f126890aSEmmanuel Vadot			cooling-maps {
1245f126890aSEmmanuel Vadot				map0 {
1246f126890aSEmmanuel Vadot					trip = <&trip0>;
1247f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1248f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1249f126890aSEmmanuel Vadot				};
1250f126890aSEmmanuel Vadot			};
1251f126890aSEmmanuel Vadot		};
1252f126890aSEmmanuel Vadot
1253f126890aSEmmanuel Vadot		cpu-thermal {
1254f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
1255f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
1256f126890aSEmmanuel Vadot
1257f126890aSEmmanuel Vadot			thermal-sensors = <&nct1008 1>;
1258f126890aSEmmanuel Vadot
1259f126890aSEmmanuel Vadot			trips {
1260f126890aSEmmanuel Vadot				trip2: cpu-alert {
1261f126890aSEmmanuel Vadot					/* throttle at 85C until temperature drops to 84.8C */
1262f126890aSEmmanuel Vadot					temperature = <85000>;
1263f126890aSEmmanuel Vadot					hysteresis = <200>;
1264f126890aSEmmanuel Vadot					type = "passive";
1265f126890aSEmmanuel Vadot				};
1266f126890aSEmmanuel Vadot
1267f126890aSEmmanuel Vadot				trip3: cpu-crit {
1268f126890aSEmmanuel Vadot					/* shut down at 90C */
1269f126890aSEmmanuel Vadot					temperature = <90000>;
1270f126890aSEmmanuel Vadot					hysteresis = <2000>;
1271f126890aSEmmanuel Vadot					type = "critical";
1272f126890aSEmmanuel Vadot				};
1273f126890aSEmmanuel Vadot			};
1274f126890aSEmmanuel Vadot
1275f126890aSEmmanuel Vadot			cooling-maps {
1276f126890aSEmmanuel Vadot				map1 {
1277f126890aSEmmanuel Vadot					trip = <&trip2>;
1278f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1279f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1280f126890aSEmmanuel Vadot				};
1281f126890aSEmmanuel Vadot			};
1282f126890aSEmmanuel Vadot		};
1283f126890aSEmmanuel Vadot	};
1284f126890aSEmmanuel Vadot
1285f126890aSEmmanuel Vadot	brcm_wifi_pwrseq: wifi-pwrseq {
1286f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
1287f126890aSEmmanuel Vadot
1288f126890aSEmmanuel Vadot		clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
1289f126890aSEmmanuel Vadot		clock-names = "ext_clock";
1290f126890aSEmmanuel Vadot
1291f126890aSEmmanuel Vadot		reset-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_LOW>;
1292f126890aSEmmanuel Vadot		post-power-on-delay-ms = <200>;
1293f126890aSEmmanuel Vadot		power-off-delay-us = <200>;
1294f126890aSEmmanuel Vadot	};
1295f126890aSEmmanuel Vadot};
1296