1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
5f126890aSEmmanuel Vadot#include "tegra20.dtsi"
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	model = "NVIDIA Seaboard";
9f126890aSEmmanuel Vadot	compatible = "nvidia,seaboard", "nvidia,tegra20";
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot	aliases {
12f126890aSEmmanuel Vadot		rtc0 = "/i2c@7000d000/tps6586x@34";
13f126890aSEmmanuel Vadot		rtc1 = "/rtc@7000e000";
14f126890aSEmmanuel Vadot		serial0 = &uartd;
15f126890aSEmmanuel Vadot	};
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot	chosen {
18f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
19f126890aSEmmanuel Vadot	};
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot	memory@0 {
22f126890aSEmmanuel Vadot		reg = <0x00000000 0x40000000>;
23f126890aSEmmanuel Vadot	};
24f126890aSEmmanuel Vadot
25f126890aSEmmanuel Vadot	host1x@50000000 {
26f126890aSEmmanuel Vadot		dc@54200000 {
27f126890aSEmmanuel Vadot			rgb {
28f126890aSEmmanuel Vadot				status = "okay";
29f126890aSEmmanuel Vadot
30f126890aSEmmanuel Vadot				nvidia,panel = <&panel>;
31f126890aSEmmanuel Vadot			};
32f126890aSEmmanuel Vadot		};
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot		hdmi@54280000 {
35f126890aSEmmanuel Vadot			status = "okay";
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadot			vdd-supply = <&hdmi_vdd_reg>;
38f126890aSEmmanuel Vadot			pll-supply = <&hdmi_pll_reg>;
39f126890aSEmmanuel Vadot			hdmi-supply = <&vdd_hdmi>;
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
42f126890aSEmmanuel Vadot			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
43f126890aSEmmanuel Vadot				GPIO_ACTIVE_HIGH>;
44f126890aSEmmanuel Vadot		};
45f126890aSEmmanuel Vadot	};
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot	pinmux@70000014 {
48f126890aSEmmanuel Vadot		pinctrl-names = "default";
49f126890aSEmmanuel Vadot		pinctrl-0 = <&state_default>;
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot		state_default: pinmux {
52f126890aSEmmanuel Vadot			ata {
53f126890aSEmmanuel Vadot				nvidia,pins = "ata";
54f126890aSEmmanuel Vadot				nvidia,function = "ide";
55f126890aSEmmanuel Vadot			};
56f126890aSEmmanuel Vadot			atb {
57f126890aSEmmanuel Vadot				nvidia,pins = "atb", "gma", "gme";
58f126890aSEmmanuel Vadot				nvidia,function = "sdio4";
59f126890aSEmmanuel Vadot			};
60f126890aSEmmanuel Vadot			atc {
61f126890aSEmmanuel Vadot				nvidia,pins = "atc";
62f126890aSEmmanuel Vadot				nvidia,function = "nand";
63f126890aSEmmanuel Vadot			};
64f126890aSEmmanuel Vadot			atd {
65f126890aSEmmanuel Vadot				nvidia,pins = "atd", "ate", "gmb", "spia",
66f126890aSEmmanuel Vadot					"spib", "spic";
67f126890aSEmmanuel Vadot				nvidia,function = "gmi";
68f126890aSEmmanuel Vadot			};
69f126890aSEmmanuel Vadot			cdev1 {
70f126890aSEmmanuel Vadot				nvidia,pins = "cdev1";
71f126890aSEmmanuel Vadot				nvidia,function = "plla_out";
72f126890aSEmmanuel Vadot			};
73f126890aSEmmanuel Vadot			cdev2 {
74f126890aSEmmanuel Vadot				nvidia,pins = "cdev2";
75f126890aSEmmanuel Vadot				nvidia,function = "pllp_out4";
76f126890aSEmmanuel Vadot			};
77f126890aSEmmanuel Vadot			crtp {
78f126890aSEmmanuel Vadot				nvidia,pins = "crtp", "lm1";
79f126890aSEmmanuel Vadot				nvidia,function = "crt";
80f126890aSEmmanuel Vadot			};
81f126890aSEmmanuel Vadot			csus {
82f126890aSEmmanuel Vadot				nvidia,pins = "csus";
83f126890aSEmmanuel Vadot				nvidia,function = "vi_sensor_clk";
84f126890aSEmmanuel Vadot			};
85f126890aSEmmanuel Vadot			dap1 {
86f126890aSEmmanuel Vadot				nvidia,pins = "dap1";
87f126890aSEmmanuel Vadot				nvidia,function = "dap1";
88f126890aSEmmanuel Vadot			};
89f126890aSEmmanuel Vadot			dap2 {
90f126890aSEmmanuel Vadot				nvidia,pins = "dap2";
91f126890aSEmmanuel Vadot				nvidia,function = "dap2";
92f126890aSEmmanuel Vadot			};
93f126890aSEmmanuel Vadot			dap3 {
94f126890aSEmmanuel Vadot				nvidia,pins = "dap3";
95f126890aSEmmanuel Vadot				nvidia,function = "dap3";
96f126890aSEmmanuel Vadot			};
97f126890aSEmmanuel Vadot			dap4 {
98f126890aSEmmanuel Vadot				nvidia,pins = "dap4";
99f126890aSEmmanuel Vadot				nvidia,function = "dap4";
100f126890aSEmmanuel Vadot			};
101f126890aSEmmanuel Vadot			dta {
102f126890aSEmmanuel Vadot				nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
103f126890aSEmmanuel Vadot				nvidia,function = "vi";
104f126890aSEmmanuel Vadot			};
105f126890aSEmmanuel Vadot			dtf {
106f126890aSEmmanuel Vadot				nvidia,pins = "dtf";
107f126890aSEmmanuel Vadot				nvidia,function = "i2c3";
108f126890aSEmmanuel Vadot			};
109f126890aSEmmanuel Vadot			gmc {
110f126890aSEmmanuel Vadot				nvidia,pins = "gmc";
111f126890aSEmmanuel Vadot				nvidia,function = "uartd";
112f126890aSEmmanuel Vadot			};
113f126890aSEmmanuel Vadot			gmd {
114f126890aSEmmanuel Vadot				nvidia,pins = "gmd";
115f126890aSEmmanuel Vadot				nvidia,function = "sflash";
116f126890aSEmmanuel Vadot			};
117f126890aSEmmanuel Vadot			gpu {
118f126890aSEmmanuel Vadot				nvidia,pins = "gpu";
119f126890aSEmmanuel Vadot				nvidia,function = "pwm";
120f126890aSEmmanuel Vadot			};
121f126890aSEmmanuel Vadot			gpu7 {
122f126890aSEmmanuel Vadot				nvidia,pins = "gpu7";
123f126890aSEmmanuel Vadot				nvidia,function = "rtck";
124f126890aSEmmanuel Vadot			};
125f126890aSEmmanuel Vadot			gpv {
126f126890aSEmmanuel Vadot				nvidia,pins = "gpv", "slxa", "slxk";
127f126890aSEmmanuel Vadot				nvidia,function = "pcie";
128f126890aSEmmanuel Vadot			};
129f126890aSEmmanuel Vadot			hdint {
130f126890aSEmmanuel Vadot				nvidia,pins = "hdint", "lpw0", "lpw2", "lsc1",
131f126890aSEmmanuel Vadot					"lsck", "lsda";
132f126890aSEmmanuel Vadot				nvidia,function = "hdmi";
133f126890aSEmmanuel Vadot			};
134f126890aSEmmanuel Vadot			i2cp {
135f126890aSEmmanuel Vadot				nvidia,pins = "i2cp";
136f126890aSEmmanuel Vadot				nvidia,function = "i2cp";
137f126890aSEmmanuel Vadot			};
138f126890aSEmmanuel Vadot			irrx {
139f126890aSEmmanuel Vadot				nvidia,pins = "irrx", "irtx";
140f126890aSEmmanuel Vadot				nvidia,function = "uartb";
141f126890aSEmmanuel Vadot			};
142f126890aSEmmanuel Vadot			kbca {
143f126890aSEmmanuel Vadot				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
144f126890aSEmmanuel Vadot					"kbce", "kbcf";
145f126890aSEmmanuel Vadot				nvidia,function = "kbc";
146f126890aSEmmanuel Vadot			};
147f126890aSEmmanuel Vadot			lcsn {
148f126890aSEmmanuel Vadot				nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
149f126890aSEmmanuel Vadot					"lsdi", "lvp0";
150f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
151f126890aSEmmanuel Vadot			};
152f126890aSEmmanuel Vadot			ld0 {
153f126890aSEmmanuel Vadot				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
154f126890aSEmmanuel Vadot					"ld5", "ld6", "ld7", "ld8", "ld9",
155f126890aSEmmanuel Vadot					"ld10", "ld11", "ld12", "ld13", "ld14",
156f126890aSEmmanuel Vadot					"ld15", "ld16", "ld17", "ldi", "lhp0",
157f126890aSEmmanuel Vadot					"lhp1", "lhp2", "lhs", "lpp", "lsc0",
158f126890aSEmmanuel Vadot					"lspi", "lvp1", "lvs";
159f126890aSEmmanuel Vadot				nvidia,function = "displaya";
160f126890aSEmmanuel Vadot			};
161f126890aSEmmanuel Vadot			owc {
162f126890aSEmmanuel Vadot				nvidia,pins = "owc", "spdi", "spdo", "uac";
163f126890aSEmmanuel Vadot				nvidia,function = "rsvd2";
164f126890aSEmmanuel Vadot			};
165f126890aSEmmanuel Vadot			pmc {
166f126890aSEmmanuel Vadot				nvidia,pins = "pmc";
167f126890aSEmmanuel Vadot				nvidia,function = "pwr_on";
168f126890aSEmmanuel Vadot			};
169f126890aSEmmanuel Vadot			rm {
170f126890aSEmmanuel Vadot				nvidia,pins = "rm";
171f126890aSEmmanuel Vadot				nvidia,function = "i2c1";
172f126890aSEmmanuel Vadot			};
173f126890aSEmmanuel Vadot			sdb {
174f126890aSEmmanuel Vadot				nvidia,pins = "sdb", "sdc", "sdd";
175f126890aSEmmanuel Vadot				nvidia,function = "sdio3";
176f126890aSEmmanuel Vadot			};
177f126890aSEmmanuel Vadot			sdio1 {
178f126890aSEmmanuel Vadot				nvidia,pins = "sdio1";
179f126890aSEmmanuel Vadot				nvidia,function = "sdio1";
180f126890aSEmmanuel Vadot			};
181f126890aSEmmanuel Vadot			slxc {
182f126890aSEmmanuel Vadot				nvidia,pins = "slxc", "slxd";
183f126890aSEmmanuel Vadot				nvidia,function = "spdif";
184f126890aSEmmanuel Vadot			};
185f126890aSEmmanuel Vadot			spid {
186f126890aSEmmanuel Vadot				nvidia,pins = "spid", "spie", "spif";
187f126890aSEmmanuel Vadot				nvidia,function = "spi1";
188f126890aSEmmanuel Vadot			};
189f126890aSEmmanuel Vadot			spig {
190f126890aSEmmanuel Vadot				nvidia,pins = "spig", "spih";
191f126890aSEmmanuel Vadot				nvidia,function = "spi2_alt";
192f126890aSEmmanuel Vadot			};
193f126890aSEmmanuel Vadot			uaa {
194f126890aSEmmanuel Vadot				nvidia,pins = "uaa", "uab", "uda";
195f126890aSEmmanuel Vadot				nvidia,function = "ulpi";
196f126890aSEmmanuel Vadot			};
197f126890aSEmmanuel Vadot			uad {
198f126890aSEmmanuel Vadot				nvidia,pins = "uad";
199f126890aSEmmanuel Vadot				nvidia,function = "irda";
200f126890aSEmmanuel Vadot			};
201f126890aSEmmanuel Vadot			uca {
202f126890aSEmmanuel Vadot				nvidia,pins = "uca", "ucb";
203f126890aSEmmanuel Vadot				nvidia,function = "uartc";
204f126890aSEmmanuel Vadot			};
205f126890aSEmmanuel Vadot			conf_ata {
206f126890aSEmmanuel Vadot				nvidia,pins = "ata", "atb", "atc", "atd",
207f126890aSEmmanuel Vadot					"cdev1", "cdev2", "dap1", "dap2",
208f126890aSEmmanuel Vadot					"dap4", "ddc", "dtf", "gma", "gmc", "gmd",
209f126890aSEmmanuel Vadot					"gme", "gpu", "gpu7", "i2cp", "irrx",
210f126890aSEmmanuel Vadot					"irtx", "pta", "rm", "sdc", "sdd",
211f126890aSEmmanuel Vadot					"slxd", "slxk", "spdi", "spdo", "uac",
212f126890aSEmmanuel Vadot					"uad", "uca", "ucb", "uda";
213f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
214f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
215f126890aSEmmanuel Vadot			};
216f126890aSEmmanuel Vadot			conf_ate {
217f126890aSEmmanuel Vadot				nvidia,pins = "ate", "csus", "dap3",
218f126890aSEmmanuel Vadot					"gpv", "owc", "slxc", "spib", "spid",
219f126890aSEmmanuel Vadot					"spie";
220f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
221f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
222f126890aSEmmanuel Vadot			};
223f126890aSEmmanuel Vadot			conf_ck32 {
224f126890aSEmmanuel Vadot				nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
225f126890aSEmmanuel Vadot					"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
226f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
227f126890aSEmmanuel Vadot			};
228f126890aSEmmanuel Vadot			conf_crtp {
229f126890aSEmmanuel Vadot				nvidia,pins = "crtp", "gmb", "slxa", "spia",
230f126890aSEmmanuel Vadot					"spig", "spih";
231f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
232f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
233f126890aSEmmanuel Vadot			};
234f126890aSEmmanuel Vadot			conf_dta {
235f126890aSEmmanuel Vadot				nvidia,pins = "dta", "dtb", "dtc", "dtd";
236f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
237f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
238f126890aSEmmanuel Vadot			};
239f126890aSEmmanuel Vadot			conf_dte {
240f126890aSEmmanuel Vadot				nvidia,pins = "dte", "spif";
241f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
242f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
243f126890aSEmmanuel Vadot			};
244f126890aSEmmanuel Vadot			conf_hdint {
245f126890aSEmmanuel Vadot				nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
246f126890aSEmmanuel Vadot					"lpw1", "lsc1", "lsck", "lsda", "lsdi",
247f126890aSEmmanuel Vadot					"lvp0";
248f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_ENABLE>;
249f126890aSEmmanuel Vadot			};
250f126890aSEmmanuel Vadot			conf_kbca {
251f126890aSEmmanuel Vadot				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
252f126890aSEmmanuel Vadot					"kbce", "kbcf", "sdio1", "spic", "uaa",
253f126890aSEmmanuel Vadot					"uab";
254f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
255f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
256f126890aSEmmanuel Vadot			};
257f126890aSEmmanuel Vadot			conf_lc {
258f126890aSEmmanuel Vadot				nvidia,pins = "lc", "ls";
259f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_UP>;
260f126890aSEmmanuel Vadot			};
261f126890aSEmmanuel Vadot			conf_ld0 {
262f126890aSEmmanuel Vadot				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
263f126890aSEmmanuel Vadot					"ld5", "ld6", "ld7", "ld8", "ld9",
264f126890aSEmmanuel Vadot					"ld10", "ld11", "ld12", "ld13", "ld14",
265f126890aSEmmanuel Vadot					"ld15", "ld16", "ld17", "ldi", "lhp0",
266f126890aSEmmanuel Vadot					"lhp1", "lhp2", "lhs", "lm0", "lpp",
267f126890aSEmmanuel Vadot					"lpw0", "lpw2", "lsc0", "lspi", "lvp1",
268f126890aSEmmanuel Vadot					"lvs", "pmc", "sdb";
269f126890aSEmmanuel Vadot				nvidia,tristate = <TEGRA_PIN_DISABLE>;
270f126890aSEmmanuel Vadot			};
271f126890aSEmmanuel Vadot			conf_ld17_0 {
272f126890aSEmmanuel Vadot				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
273f126890aSEmmanuel Vadot					"ld23_22";
274f126890aSEmmanuel Vadot				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
275f126890aSEmmanuel Vadot			};
276f126890aSEmmanuel Vadot			drive_sdio1 {
277f126890aSEmmanuel Vadot				nvidia,pins = "drive_sdio1";
278f126890aSEmmanuel Vadot				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
279f126890aSEmmanuel Vadot				nvidia,schmitt = <TEGRA_PIN_DISABLE>;
280f126890aSEmmanuel Vadot				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
281f126890aSEmmanuel Vadot				nvidia,pull-down-strength = <31>;
282f126890aSEmmanuel Vadot				nvidia,pull-up-strength = <31>;
283f126890aSEmmanuel Vadot				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
284f126890aSEmmanuel Vadot				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
285f126890aSEmmanuel Vadot			};
286f126890aSEmmanuel Vadot		};
287f126890aSEmmanuel Vadot
288f126890aSEmmanuel Vadot		state_i2cmux_ddc: pinmux-i2cmux-ddc {
289f126890aSEmmanuel Vadot			ddc {
290f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
291f126890aSEmmanuel Vadot				nvidia,function = "i2c2";
292f126890aSEmmanuel Vadot			};
293f126890aSEmmanuel Vadot			pta {
294f126890aSEmmanuel Vadot				nvidia,pins = "pta";
295f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
296f126890aSEmmanuel Vadot			};
297f126890aSEmmanuel Vadot		};
298f126890aSEmmanuel Vadot
299f126890aSEmmanuel Vadot		state_i2cmux_idle: pinmux-i2cmux-idle {
300f126890aSEmmanuel Vadot			ddc {
301f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
302f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
303f126890aSEmmanuel Vadot			};
304f126890aSEmmanuel Vadot			pta {
305f126890aSEmmanuel Vadot				nvidia,pins = "pta";
306f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
307f126890aSEmmanuel Vadot			};
308f126890aSEmmanuel Vadot		};
309f126890aSEmmanuel Vadot
310f126890aSEmmanuel Vadot		state_i2cmux_pta: pinmux-i2cmux-pta {
311f126890aSEmmanuel Vadot			ddc {
312f126890aSEmmanuel Vadot				nvidia,pins = "ddc";
313f126890aSEmmanuel Vadot				nvidia,function = "rsvd4";
314f126890aSEmmanuel Vadot			};
315f126890aSEmmanuel Vadot			pta {
316f126890aSEmmanuel Vadot				nvidia,pins = "pta";
317f126890aSEmmanuel Vadot				nvidia,function = "i2c2";
318f126890aSEmmanuel Vadot			};
319f126890aSEmmanuel Vadot		};
320f126890aSEmmanuel Vadot	};
321f126890aSEmmanuel Vadot
322f126890aSEmmanuel Vadot	i2s@70002800 {
323f126890aSEmmanuel Vadot		status = "okay";
324f126890aSEmmanuel Vadot	};
325f126890aSEmmanuel Vadot
326f126890aSEmmanuel Vadot	serial@70006300 {
327*aa1a8ff2SEmmanuel Vadot		/delete-property/ dmas;
328*aa1a8ff2SEmmanuel Vadot		/delete-property/ dma-names;
329f126890aSEmmanuel Vadot		status = "okay";
330f126890aSEmmanuel Vadot	};
331f126890aSEmmanuel Vadot
332f126890aSEmmanuel Vadot	pwm: pwm@7000a000 {
333f126890aSEmmanuel Vadot		status = "okay";
334f126890aSEmmanuel Vadot	};
335f126890aSEmmanuel Vadot
336f126890aSEmmanuel Vadot	i2c@7000c000 {
337f126890aSEmmanuel Vadot		status = "okay";
338f126890aSEmmanuel Vadot		clock-frequency = <400000>;
339f126890aSEmmanuel Vadot
340f126890aSEmmanuel Vadot		wm8903: wm8903@1a {
341f126890aSEmmanuel Vadot			compatible = "wlf,wm8903";
342f126890aSEmmanuel Vadot			reg = <0x1a>;
343f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
344f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_LEVEL_HIGH>;
345f126890aSEmmanuel Vadot
346f126890aSEmmanuel Vadot			gpio-controller;
347f126890aSEmmanuel Vadot			#gpio-cells = <2>;
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot			micdet-cfg = <0>;
350f126890aSEmmanuel Vadot			micdet-delay = <100>;
351f126890aSEmmanuel Vadot			gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
352f126890aSEmmanuel Vadot		};
353f126890aSEmmanuel Vadot
354f126890aSEmmanuel Vadot		/* ALS and proximity sensor */
355f126890aSEmmanuel Vadot		isl29018@44 {
356f126890aSEmmanuel Vadot			compatible = "isil,isl29018";
357f126890aSEmmanuel Vadot			reg = <0x44>;
358f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
359f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(Z, 2) IRQ_TYPE_LEVEL_HIGH>;
360f126890aSEmmanuel Vadot		};
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot		gyrometer@68 {
363f126890aSEmmanuel Vadot			compatible = "invensense,mpu3050";
364f126890aSEmmanuel Vadot			reg = <0x68>;
365f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
366f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_LEVEL_HIGH>;
367f126890aSEmmanuel Vadot		};
368f126890aSEmmanuel Vadot	};
369f126890aSEmmanuel Vadot
370f126890aSEmmanuel Vadot	i2c@7000c400 {
371f126890aSEmmanuel Vadot		status = "okay";
372f126890aSEmmanuel Vadot		clock-frequency = <100000>;
373f126890aSEmmanuel Vadot	};
374f126890aSEmmanuel Vadot
375f126890aSEmmanuel Vadot	i2c@7000c500 {
376f126890aSEmmanuel Vadot		status = "okay";
377f126890aSEmmanuel Vadot		clock-frequency = <400000>;
378f126890aSEmmanuel Vadot	};
379f126890aSEmmanuel Vadot
380f126890aSEmmanuel Vadot	i2c@7000d000 {
381f126890aSEmmanuel Vadot		status = "okay";
382f126890aSEmmanuel Vadot		clock-frequency = <400000>;
383f126890aSEmmanuel Vadot
384f126890aSEmmanuel Vadot		magnetometer@c {
385f126890aSEmmanuel Vadot			compatible = "asahi-kasei,ak8975";
386f126890aSEmmanuel Vadot			reg = <0xc>;
387f126890aSEmmanuel Vadot			interrupt-parent = <&gpio>;
388f126890aSEmmanuel Vadot			interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_LEVEL_HIGH>;
389f126890aSEmmanuel Vadot		};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot		pmic: tps6586x@34 {
392f126890aSEmmanuel Vadot			compatible = "ti,tps6586x";
393f126890aSEmmanuel Vadot			reg = <0x34>;
394f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
395f126890aSEmmanuel Vadot
396f126890aSEmmanuel Vadot			ti,system-power-controller;
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot			#gpio-cells = <2>;
399f126890aSEmmanuel Vadot			gpio-controller;
400f126890aSEmmanuel Vadot
401f126890aSEmmanuel Vadot			sys-supply = <&vdd_5v0_reg>;
402f126890aSEmmanuel Vadot			vin-sm0-supply = <&sys_reg>;
403f126890aSEmmanuel Vadot			vin-sm1-supply = <&sys_reg>;
404f126890aSEmmanuel Vadot			vin-sm2-supply = <&sys_reg>;
405f126890aSEmmanuel Vadot			vinldo01-supply = <&sm2_reg>;
406f126890aSEmmanuel Vadot			vinldo23-supply = <&sm2_reg>;
407f126890aSEmmanuel Vadot			vinldo4-supply = <&sm2_reg>;
408f126890aSEmmanuel Vadot			vinldo678-supply = <&sm2_reg>;
409f126890aSEmmanuel Vadot			vinldo9-supply = <&sm2_reg>;
410f126890aSEmmanuel Vadot
411f126890aSEmmanuel Vadot			regulators {
412f126890aSEmmanuel Vadot				sys_reg: sys {
413f126890aSEmmanuel Vadot					regulator-name = "vdd_sys";
414f126890aSEmmanuel Vadot					regulator-always-on;
415f126890aSEmmanuel Vadot				};
416f126890aSEmmanuel Vadot
417f126890aSEmmanuel Vadot				vdd_core: sm0 {
418f126890aSEmmanuel Vadot					regulator-name = "vdd_sm0,vdd_core";
419f126890aSEmmanuel Vadot					regulator-min-microvolt = <1300000>;
420f126890aSEmmanuel Vadot					regulator-max-microvolt = <1300000>;
421f126890aSEmmanuel Vadot					regulator-always-on;
422f126890aSEmmanuel Vadot				};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot				sm1 {
425f126890aSEmmanuel Vadot					regulator-name = "vdd_sm1,vdd_cpu";
426f126890aSEmmanuel Vadot					regulator-min-microvolt = <1125000>;
427f126890aSEmmanuel Vadot					regulator-max-microvolt = <1125000>;
428f126890aSEmmanuel Vadot					regulator-always-on;
429f126890aSEmmanuel Vadot				};
430f126890aSEmmanuel Vadot
431f126890aSEmmanuel Vadot				sm2_reg: sm2 {
432f126890aSEmmanuel Vadot					regulator-name = "vdd_sm2,vin_ldo*";
433f126890aSEmmanuel Vadot					regulator-min-microvolt = <3700000>;
434f126890aSEmmanuel Vadot					regulator-max-microvolt = <3700000>;
435f126890aSEmmanuel Vadot					regulator-always-on;
436f126890aSEmmanuel Vadot				};
437f126890aSEmmanuel Vadot
438f126890aSEmmanuel Vadot				/* LDO0 is not connected to anything */
439f126890aSEmmanuel Vadot
440f126890aSEmmanuel Vadot				ldo1 {
441f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo1,avdd_pll*";
442f126890aSEmmanuel Vadot					regulator-min-microvolt = <1100000>;
443f126890aSEmmanuel Vadot					regulator-max-microvolt = <1100000>;
444f126890aSEmmanuel Vadot					regulator-always-on;
445f126890aSEmmanuel Vadot				};
446f126890aSEmmanuel Vadot
447f126890aSEmmanuel Vadot				ldo2 {
448f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo2,vdd_rtc";
449f126890aSEmmanuel Vadot					regulator-min-microvolt = <1200000>;
450f126890aSEmmanuel Vadot					regulator-max-microvolt = <1200000>;
451f126890aSEmmanuel Vadot				};
452f126890aSEmmanuel Vadot
453f126890aSEmmanuel Vadot				ldo3 {
454f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo3,avdd_usb*";
455f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
456f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
457f126890aSEmmanuel Vadot					regulator-always-on;
458f126890aSEmmanuel Vadot				};
459f126890aSEmmanuel Vadot
460f126890aSEmmanuel Vadot				ldo4 {
461f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
462f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
463f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
464f126890aSEmmanuel Vadot					regulator-always-on;
465f126890aSEmmanuel Vadot				};
466f126890aSEmmanuel Vadot
467f126890aSEmmanuel Vadot				ldo5 {
468f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo5,vcore_mmc";
469f126890aSEmmanuel Vadot					regulator-min-microvolt = <2850000>;
470f126890aSEmmanuel Vadot					regulator-max-microvolt = <2850000>;
471f126890aSEmmanuel Vadot					regulator-always-on;
472f126890aSEmmanuel Vadot				};
473f126890aSEmmanuel Vadot
474f126890aSEmmanuel Vadot				ldo6 {
475f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam";
476f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
477f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
478f126890aSEmmanuel Vadot				};
479f126890aSEmmanuel Vadot
480f126890aSEmmanuel Vadot				hdmi_vdd_reg: ldo7 {
481f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
482f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
483f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
484f126890aSEmmanuel Vadot				};
485f126890aSEmmanuel Vadot
486f126890aSEmmanuel Vadot				hdmi_pll_reg: ldo8 {
487f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo8,avdd_hdmi_pll";
488f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
489f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
490f126890aSEmmanuel Vadot				};
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot				ldo9 {
493f126890aSEmmanuel Vadot					regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
494f126890aSEmmanuel Vadot					regulator-min-microvolt = <2850000>;
495f126890aSEmmanuel Vadot					regulator-max-microvolt = <2850000>;
496f126890aSEmmanuel Vadot					regulator-always-on;
497f126890aSEmmanuel Vadot				};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot				ldo_rtc {
500f126890aSEmmanuel Vadot					regulator-name = "vdd_rtc_out,vdd_cell";
501f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
502f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
503f126890aSEmmanuel Vadot					regulator-always-on;
504f126890aSEmmanuel Vadot				};
505f126890aSEmmanuel Vadot			};
506f126890aSEmmanuel Vadot		};
507f126890aSEmmanuel Vadot
508f126890aSEmmanuel Vadot		temperature-sensor@4c {
509f126890aSEmmanuel Vadot			compatible = "onnn,nct1008";
510f126890aSEmmanuel Vadot			reg = <0x4c>;
511f126890aSEmmanuel Vadot		};
512f126890aSEmmanuel Vadot	};
513f126890aSEmmanuel Vadot
514f126890aSEmmanuel Vadot	kbc@7000e200 {
515f126890aSEmmanuel Vadot		status = "okay";
516f126890aSEmmanuel Vadot		nvidia,debounce-delay-ms = <32>;
517f126890aSEmmanuel Vadot		nvidia,repeat-delay-ms = <160>;
518f126890aSEmmanuel Vadot		nvidia,ghost-filter;
519f126890aSEmmanuel Vadot		nvidia,kbc-row-pins = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
520f126890aSEmmanuel Vadot		nvidia,kbc-col-pins = <16 17 18 19 20 21 22 23>;
521f126890aSEmmanuel Vadot		linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_W)
522f126890aSEmmanuel Vadot				MATRIX_KEY(0x00, 0x03, KEY_S)
523f126890aSEmmanuel Vadot				MATRIX_KEY(0x00, 0x04, KEY_A)
524f126890aSEmmanuel Vadot				MATRIX_KEY(0x00, 0x05, KEY_Z)
525f126890aSEmmanuel Vadot				MATRIX_KEY(0x00, 0x07, KEY_FN)
526f126890aSEmmanuel Vadot
527f126890aSEmmanuel Vadot				MATRIX_KEY(0x01, 0x07, KEY_LEFTMETA)
528f126890aSEmmanuel Vadot				MATRIX_KEY(0x02, 0x06, KEY_RIGHTALT)
529f126890aSEmmanuel Vadot				MATRIX_KEY(0x02, 0x07, KEY_LEFTALT)
530f126890aSEmmanuel Vadot
531f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x00, KEY_5)
532f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x01, KEY_4)
533f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x02, KEY_R)
534f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x03, KEY_E)
535f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x04, KEY_F)
536f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x05, KEY_D)
537f126890aSEmmanuel Vadot				MATRIX_KEY(0x03, 0x06, KEY_X)
538f126890aSEmmanuel Vadot
539f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x00, KEY_7)
540f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x01, KEY_6)
541f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x02, KEY_T)
542f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x03, KEY_H)
543f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x04, KEY_G)
544f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x05, KEY_V)
545f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x06, KEY_C)
546f126890aSEmmanuel Vadot				MATRIX_KEY(0x04, 0x07, KEY_SPACE)
547f126890aSEmmanuel Vadot
548f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x00, KEY_9)
549f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x01, KEY_8)
550f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x02, KEY_U)
551f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x03, KEY_Y)
552f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x04, KEY_J)
553f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x05, KEY_N)
554f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x06, KEY_B)
555f126890aSEmmanuel Vadot				MATRIX_KEY(0x05, 0x07, KEY_BACKSLASH)
556f126890aSEmmanuel Vadot
557f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x00, KEY_MINUS)
558f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x01, KEY_0)
559f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x02, KEY_O)
560f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x03, KEY_I)
561f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x04, KEY_L)
562f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x05, KEY_K)
563f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x06, KEY_COMMA)
564f126890aSEmmanuel Vadot				MATRIX_KEY(0x06, 0x07, KEY_M)
565f126890aSEmmanuel Vadot
566f126890aSEmmanuel Vadot				MATRIX_KEY(0x07, 0x01, KEY_EQUAL)
567f126890aSEmmanuel Vadot				MATRIX_KEY(0x07, 0x02, KEY_RIGHTBRACE)
568f126890aSEmmanuel Vadot				MATRIX_KEY(0x07, 0x03, KEY_ENTER)
569f126890aSEmmanuel Vadot				MATRIX_KEY(0x07, 0x07, KEY_MENU)
570f126890aSEmmanuel Vadot
571f126890aSEmmanuel Vadot				MATRIX_KEY(0x08, 0x04, KEY_RIGHTSHIFT)
572f126890aSEmmanuel Vadot				MATRIX_KEY(0x08, 0x05, KEY_LEFTSHIFT)
573f126890aSEmmanuel Vadot
574f126890aSEmmanuel Vadot				MATRIX_KEY(0x09, 0x05, KEY_RIGHTCTRL)
575f126890aSEmmanuel Vadot				MATRIX_KEY(0x09, 0x07, KEY_LEFTCTRL)
576f126890aSEmmanuel Vadot
577f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x00, KEY_LEFTBRACE)
578f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x01, KEY_P)
579f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x02, KEY_APOSTROPHE)
580f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x03, KEY_SEMICOLON)
581f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x04, KEY_SLASH)
582f126890aSEmmanuel Vadot				MATRIX_KEY(0x0B, 0x05, KEY_DOT)
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x00, KEY_F10)
585f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x01, KEY_F9)
586f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x02, KEY_BACKSPACE)
587f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x03, KEY_3)
588f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x04, KEY_2)
589f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x05, KEY_UP)
590f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x06, KEY_PRINT)
591f126890aSEmmanuel Vadot				MATRIX_KEY(0x0C, 0x07, KEY_PAUSE)
592f126890aSEmmanuel Vadot
593f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x00, KEY_INSERT)
594f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x01, KEY_DELETE)
595f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x03, KEY_PAGEUP )
596f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x04, KEY_PAGEDOWN)
597f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x05, KEY_RIGHT)
598f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x06, KEY_DOWN)
599f126890aSEmmanuel Vadot				MATRIX_KEY(0x0D, 0x07, KEY_LEFT)
600f126890aSEmmanuel Vadot
601f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x00, KEY_F11)
602f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x01, KEY_F12)
603f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x02, KEY_F8)
604f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x03, KEY_Q)
605f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x04, KEY_F4)
606f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x05, KEY_F3)
607f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x06, KEY_1)
608f126890aSEmmanuel Vadot				MATRIX_KEY(0x0E, 0x07, KEY_F7)
609f126890aSEmmanuel Vadot
610f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x00, KEY_ESC)
611f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x01, KEY_GRAVE)
612f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x02, KEY_F5)
613f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x03, KEY_TAB)
614f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x04, KEY_F1)
615f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x05, KEY_F2)
616f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x06, KEY_CAPSLOCK)
617f126890aSEmmanuel Vadot				MATRIX_KEY(0x0F, 0x07, KEY_F6)
618f126890aSEmmanuel Vadot
619f126890aSEmmanuel Vadot				/* Software Handled Function Keys */
620f126890aSEmmanuel Vadot				MATRIX_KEY(0x14, 0x00, KEY_KP7)
621f126890aSEmmanuel Vadot
622f126890aSEmmanuel Vadot				MATRIX_KEY(0x15, 0x00, KEY_KP9)
623f126890aSEmmanuel Vadot				MATRIX_KEY(0x15, 0x01, KEY_KP8)
624f126890aSEmmanuel Vadot				MATRIX_KEY(0x15, 0x02, KEY_KP4)
625f126890aSEmmanuel Vadot				MATRIX_KEY(0x15, 0x04, KEY_KP1)
626f126890aSEmmanuel Vadot
627f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x01, KEY_KPSLASH)
628f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x02, KEY_KP6)
629f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x03, KEY_KP5)
630f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x04, KEY_KP3)
631f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x05, KEY_KP2)
632f126890aSEmmanuel Vadot				MATRIX_KEY(0x16, 0x07, KEY_KP0)
633f126890aSEmmanuel Vadot
634f126890aSEmmanuel Vadot				MATRIX_KEY(0x1B, 0x01, KEY_KPASTERISK)
635f126890aSEmmanuel Vadot				MATRIX_KEY(0x1B, 0x03, KEY_KPMINUS)
636f126890aSEmmanuel Vadot				MATRIX_KEY(0x1B, 0x04, KEY_KPPLUS)
637f126890aSEmmanuel Vadot				MATRIX_KEY(0x1B, 0x05, KEY_KPDOT)
638f126890aSEmmanuel Vadot
639f126890aSEmmanuel Vadot				MATRIX_KEY(0x1C, 0x05, KEY_VOLUMEUP)
640f126890aSEmmanuel Vadot
641f126890aSEmmanuel Vadot				MATRIX_KEY(0x1D, 0x03, KEY_HOME)
642f126890aSEmmanuel Vadot				MATRIX_KEY(0x1D, 0x04, KEY_END)
643f126890aSEmmanuel Vadot				MATRIX_KEY(0x1D, 0x05, KEY_BRIGHTNESSDOWN)
644f126890aSEmmanuel Vadot				MATRIX_KEY(0x1D, 0x06, KEY_VOLUMEDOWN)
645f126890aSEmmanuel Vadot				MATRIX_KEY(0x1D, 0x07, KEY_BRIGHTNESSUP)
646f126890aSEmmanuel Vadot
647f126890aSEmmanuel Vadot				MATRIX_KEY(0x1E, 0x00, KEY_NUMLOCK)
648f126890aSEmmanuel Vadot				MATRIX_KEY(0x1E, 0x01, KEY_SCROLLLOCK)
649f126890aSEmmanuel Vadot				MATRIX_KEY(0x1E, 0x02, KEY_MUTE)
650f126890aSEmmanuel Vadot
651f126890aSEmmanuel Vadot				MATRIX_KEY(0x1F, 0x04, KEY_HELP)>;
652f126890aSEmmanuel Vadot	};
653f126890aSEmmanuel Vadot
654f126890aSEmmanuel Vadot	pmc@7000e400 {
655f126890aSEmmanuel Vadot		nvidia,invert-interrupt;
656f126890aSEmmanuel Vadot		nvidia,suspend-mode = <1>;
657f126890aSEmmanuel Vadot		nvidia,cpu-pwr-good-time = <5000>;
658f126890aSEmmanuel Vadot		nvidia,cpu-pwr-off-time = <5000>;
659f126890aSEmmanuel Vadot		nvidia,core-pwr-good-time = <3845 3845>;
660f126890aSEmmanuel Vadot		nvidia,core-pwr-off-time = <3875>;
661f126890aSEmmanuel Vadot		nvidia,sys-clock-req-active-high;
662f126890aSEmmanuel Vadot		core-supply = <&vdd_core>;
663f126890aSEmmanuel Vadot	};
664f126890aSEmmanuel Vadot
665f126890aSEmmanuel Vadot	memory-controller@7000f400 {
666f126890aSEmmanuel Vadot		emc-table@190000 {
667f126890aSEmmanuel Vadot			reg = <190000>;
668f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-emc-table";
669f126890aSEmmanuel Vadot			clock-frequency = <190000>;
670f126890aSEmmanuel Vadot			nvidia,emc-registers = <0x0000000c 0x00000026
671f126890aSEmmanuel Vadot				0x00000009 0x00000003 0x00000004 0x00000004
672f126890aSEmmanuel Vadot				0x00000002 0x0000000c 0x00000003 0x00000003
673f126890aSEmmanuel Vadot				0x00000002 0x00000001 0x00000004 0x00000005
674f126890aSEmmanuel Vadot				0x00000004 0x00000009 0x0000000d 0x0000059f
675f126890aSEmmanuel Vadot				0x00000000 0x00000003 0x00000003 0x00000003
676f126890aSEmmanuel Vadot				0x00000003 0x00000001 0x0000000b 0x000000c8
677f126890aSEmmanuel Vadot				0x00000003 0x00000007 0x00000004 0x0000000f
678f126890aSEmmanuel Vadot				0x00000002 0x00000000 0x00000000 0x00000002
679f126890aSEmmanuel Vadot				0x00000000 0x00000000 0x00000083 0xa06204ae
680f126890aSEmmanuel Vadot				0x007dc010 0x00000000 0x00000000 0x00000000
681f126890aSEmmanuel Vadot				0x00000000 0x00000000 0x00000000 0x00000000>;
682f126890aSEmmanuel Vadot		};
683f126890aSEmmanuel Vadot
684f126890aSEmmanuel Vadot		emc-table@380000 {
685f126890aSEmmanuel Vadot			reg = <380000>;
686f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-emc-table";
687f126890aSEmmanuel Vadot			clock-frequency = <380000>;
688f126890aSEmmanuel Vadot			nvidia,emc-registers = <0x00000017 0x0000004b
689f126890aSEmmanuel Vadot				0x00000012 0x00000006 0x00000004 0x00000005
690f126890aSEmmanuel Vadot				0x00000003 0x0000000c 0x00000006 0x00000006
691f126890aSEmmanuel Vadot				0x00000003 0x00000001 0x00000004 0x00000005
692f126890aSEmmanuel Vadot				0x00000004 0x00000009 0x0000000d 0x00000b5f
693f126890aSEmmanuel Vadot				0x00000000 0x00000003 0x00000003 0x00000006
694f126890aSEmmanuel Vadot				0x00000006 0x00000001 0x00000011 0x000000c8
695f126890aSEmmanuel Vadot				0x00000003 0x0000000e 0x00000007 0x0000000f
696f126890aSEmmanuel Vadot				0x00000002 0x00000000 0x00000000 0x00000002
697f126890aSEmmanuel Vadot				0x00000000 0x00000000 0x00000083 0xe044048b
698f126890aSEmmanuel Vadot				0x007d8010 0x00000000 0x00000000 0x00000000
699f126890aSEmmanuel Vadot				0x00000000 0x00000000 0x00000000 0x00000000>;
700f126890aSEmmanuel Vadot		};
701f126890aSEmmanuel Vadot	};
702f126890aSEmmanuel Vadot
703f126890aSEmmanuel Vadot	usb@c5000000 {
704f126890aSEmmanuel Vadot		status = "okay";
705f126890aSEmmanuel Vadot		dr_mode = "otg";
706f126890aSEmmanuel Vadot	};
707f126890aSEmmanuel Vadot
708f126890aSEmmanuel Vadot	usb-phy@c5000000 {
709f126890aSEmmanuel Vadot		status = "okay";
710f126890aSEmmanuel Vadot		vbus-supply = <&vbus_reg>;
711f126890aSEmmanuel Vadot		dr_mode = "otg";
712f126890aSEmmanuel Vadot	};
713f126890aSEmmanuel Vadot
714f126890aSEmmanuel Vadot	usb@c5004000 {
715f126890aSEmmanuel Vadot		status = "okay";
716f126890aSEmmanuel Vadot	};
717f126890aSEmmanuel Vadot
718f126890aSEmmanuel Vadot	usb-phy@c5004000 {
719f126890aSEmmanuel Vadot		status = "okay";
720f126890aSEmmanuel Vadot		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
721f126890aSEmmanuel Vadot			GPIO_ACTIVE_LOW>;
722f126890aSEmmanuel Vadot	};
723f126890aSEmmanuel Vadot
724f126890aSEmmanuel Vadot	usb@c5008000 {
725f126890aSEmmanuel Vadot		status = "okay";
726f126890aSEmmanuel Vadot	};
727f126890aSEmmanuel Vadot
728f126890aSEmmanuel Vadot	usb-phy@c5008000 {
729f126890aSEmmanuel Vadot		status = "okay";
730f126890aSEmmanuel Vadot	};
731f126890aSEmmanuel Vadot
732f126890aSEmmanuel Vadot	mmc@c8000000 {
733f126890aSEmmanuel Vadot		status = "okay";
734f126890aSEmmanuel Vadot		power-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
735f126890aSEmmanuel Vadot		bus-width = <4>;
736f126890aSEmmanuel Vadot		keep-power-in-suspend;
737f126890aSEmmanuel Vadot	};
738f126890aSEmmanuel Vadot
739f126890aSEmmanuel Vadot	mmc@c8000400 {
740f126890aSEmmanuel Vadot		status = "okay";
741f126890aSEmmanuel Vadot		cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
742f126890aSEmmanuel Vadot		wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
743f126890aSEmmanuel Vadot		power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
744f126890aSEmmanuel Vadot		bus-width = <4>;
745f126890aSEmmanuel Vadot	};
746f126890aSEmmanuel Vadot
747f126890aSEmmanuel Vadot	mmc@c8000600 {
748f126890aSEmmanuel Vadot		status = "okay";
749f126890aSEmmanuel Vadot		bus-width = <8>;
750f126890aSEmmanuel Vadot		non-removable;
751f126890aSEmmanuel Vadot	};
752f126890aSEmmanuel Vadot
753f126890aSEmmanuel Vadot	backlight: backlight {
754f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
755f126890aSEmmanuel Vadot
756f126890aSEmmanuel Vadot		enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
757f126890aSEmmanuel Vadot		power-supply = <&vdd_bl_reg>;
758f126890aSEmmanuel Vadot		pwms = <&pwm 2 5000000>;
759f126890aSEmmanuel Vadot
760f126890aSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
761f126890aSEmmanuel Vadot		default-brightness-level = <6>;
762f126890aSEmmanuel Vadot	};
763f126890aSEmmanuel Vadot
764f126890aSEmmanuel Vadot	clk32k_in: clock-32k {
765f126890aSEmmanuel Vadot		compatible = "fixed-clock";
766f126890aSEmmanuel Vadot		clock-frequency = <32768>;
767f126890aSEmmanuel Vadot		#clock-cells = <0>;
768f126890aSEmmanuel Vadot	};
769f126890aSEmmanuel Vadot
770f126890aSEmmanuel Vadot	gpio-keys {
771f126890aSEmmanuel Vadot		compatible = "gpio-keys";
772f126890aSEmmanuel Vadot
773f126890aSEmmanuel Vadot		key-power {
774f126890aSEmmanuel Vadot			label = "Power";
775f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
776f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
777f126890aSEmmanuel Vadot			wakeup-source;
778f126890aSEmmanuel Vadot		};
779f126890aSEmmanuel Vadot
780f126890aSEmmanuel Vadot		switch-lid {
781f126890aSEmmanuel Vadot			label = "Lid";
782f126890aSEmmanuel Vadot			gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
783f126890aSEmmanuel Vadot			linux,input-type = <5>; /* EV_SW */
784f126890aSEmmanuel Vadot			linux,code = <0>; /* SW_LID */
785f126890aSEmmanuel Vadot			debounce-interval = <1>;
786f126890aSEmmanuel Vadot			wakeup-source;
787f126890aSEmmanuel Vadot		};
788f126890aSEmmanuel Vadot	};
789f126890aSEmmanuel Vadot
790f126890aSEmmanuel Vadot	i2cmux {
791f126890aSEmmanuel Vadot		compatible = "i2c-mux-pinctrl";
792f126890aSEmmanuel Vadot		#address-cells = <1>;
793f126890aSEmmanuel Vadot		#size-cells = <0>;
794f126890aSEmmanuel Vadot
795f126890aSEmmanuel Vadot		i2c-parent = <&{/i2c@7000c400}>;
796f126890aSEmmanuel Vadot
797f126890aSEmmanuel Vadot		pinctrl-names = "ddc", "pta", "idle";
798f126890aSEmmanuel Vadot		pinctrl-0 = <&state_i2cmux_ddc>;
799f126890aSEmmanuel Vadot		pinctrl-1 = <&state_i2cmux_pta>;
800f126890aSEmmanuel Vadot		pinctrl-2 = <&state_i2cmux_idle>;
801f126890aSEmmanuel Vadot
802f126890aSEmmanuel Vadot		hdmi_ddc: i2c@0 {
803f126890aSEmmanuel Vadot			reg = <0>;
804f126890aSEmmanuel Vadot			#address-cells = <1>;
805f126890aSEmmanuel Vadot			#size-cells = <0>;
806f126890aSEmmanuel Vadot		};
807f126890aSEmmanuel Vadot
808f126890aSEmmanuel Vadot		lvds_ddc: i2c@1 {
809f126890aSEmmanuel Vadot			reg = <1>;
810f126890aSEmmanuel Vadot			#address-cells = <1>;
811f126890aSEmmanuel Vadot			#size-cells = <0>;
812f126890aSEmmanuel Vadot
813f126890aSEmmanuel Vadot			smart-battery@b {
814f126890aSEmmanuel Vadot				compatible = "ti,bq20z75", "sbs,sbs-battery";
815f126890aSEmmanuel Vadot				reg = <0xb>;
816f126890aSEmmanuel Vadot				sbs,i2c-retry-count = <2>;
817f126890aSEmmanuel Vadot				sbs,poll-retry-count = <10>;
818f126890aSEmmanuel Vadot			};
819f126890aSEmmanuel Vadot		};
820f126890aSEmmanuel Vadot	};
821f126890aSEmmanuel Vadot
822f126890aSEmmanuel Vadot	panel: panel {
823f126890aSEmmanuel Vadot		compatible = "chunghwa,claa101wa01a";
824f126890aSEmmanuel Vadot
825f126890aSEmmanuel Vadot		power-supply = <&vdd_pnl_reg>;
826f126890aSEmmanuel Vadot		enable-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
827f126890aSEmmanuel Vadot
828f126890aSEmmanuel Vadot		backlight = <&backlight>;
829f126890aSEmmanuel Vadot		ddc-i2c-bus = <&lvds_ddc>;
830f126890aSEmmanuel Vadot	};
831f126890aSEmmanuel Vadot
832f126890aSEmmanuel Vadot	vdd_5v0_reg: regulator-5v0 {
833f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
834f126890aSEmmanuel Vadot		regulator-name = "vdd_5v0";
835f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
836f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
837f126890aSEmmanuel Vadot		regulator-always-on;
838f126890aSEmmanuel Vadot	};
839f126890aSEmmanuel Vadot
840f126890aSEmmanuel Vadot	regulator-1v5 {
841f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
842f126890aSEmmanuel Vadot		regulator-name = "vdd_1v5";
843f126890aSEmmanuel Vadot		regulator-min-microvolt = <1500000>;
844f126890aSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
845f126890aSEmmanuel Vadot		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
846f126890aSEmmanuel Vadot	};
847f126890aSEmmanuel Vadot
848f126890aSEmmanuel Vadot	regulator-1v2 {
849f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
850f126890aSEmmanuel Vadot		regulator-name = "vdd_1v2";
851f126890aSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
852f126890aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
853f126890aSEmmanuel Vadot		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
854f126890aSEmmanuel Vadot		enable-active-high;
855f126890aSEmmanuel Vadot	};
856f126890aSEmmanuel Vadot
857f126890aSEmmanuel Vadot	vbus_reg: regulator-vbus {
858f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
859f126890aSEmmanuel Vadot		regulator-name = "vdd_vbus_wup1";
860f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
861f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
862f126890aSEmmanuel Vadot		enable-active-high;
863f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
864f126890aSEmmanuel Vadot		regulator-always-on;
865f126890aSEmmanuel Vadot		regulator-boot-on;
866f126890aSEmmanuel Vadot	};
867f126890aSEmmanuel Vadot
868f126890aSEmmanuel Vadot	vdd_pnl_reg: regulator-pnl {
869f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
870f126890aSEmmanuel Vadot		regulator-name = "vdd_pnl";
871f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
872f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
873f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
874f126890aSEmmanuel Vadot		enable-active-high;
875f126890aSEmmanuel Vadot	};
876f126890aSEmmanuel Vadot
877f126890aSEmmanuel Vadot	vdd_bl_reg: regulator-bl {
878f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
879f126890aSEmmanuel Vadot		regulator-name = "vdd_bl";
880f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
881f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
882f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
883f126890aSEmmanuel Vadot		enable-active-high;
884f126890aSEmmanuel Vadot	};
885f126890aSEmmanuel Vadot
886f126890aSEmmanuel Vadot	vdd_hdmi: regulator-hdmi {
887f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
888f126890aSEmmanuel Vadot		regulator-name = "VDDIO_HDMI";
889f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
890f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
891f126890aSEmmanuel Vadot		gpio = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
892f126890aSEmmanuel Vadot		enable-active-high;
893f126890aSEmmanuel Vadot		vin-supply = <&vdd_5v0_reg>;
894f126890aSEmmanuel Vadot	};
895f126890aSEmmanuel Vadot
896f126890aSEmmanuel Vadot	sound {
897f126890aSEmmanuel Vadot		compatible = "nvidia,tegra-audio-wm8903-seaboard",
898f126890aSEmmanuel Vadot			     "nvidia,tegra-audio-wm8903";
899f126890aSEmmanuel Vadot		nvidia,model = "NVIDIA Tegra Seaboard";
900f126890aSEmmanuel Vadot
901f126890aSEmmanuel Vadot		nvidia,audio-routing =
902f126890aSEmmanuel Vadot			"Headphone Jack", "HPOUTR",
903f126890aSEmmanuel Vadot			"Headphone Jack", "HPOUTL",
904f126890aSEmmanuel Vadot			"Int Spk", "ROP",
905f126890aSEmmanuel Vadot			"Int Spk", "RON",
906f126890aSEmmanuel Vadot			"Int Spk", "LOP",
907f126890aSEmmanuel Vadot			"Int Spk", "LON",
908f126890aSEmmanuel Vadot			"Mic Jack", "MICBIAS",
909f126890aSEmmanuel Vadot			"IN1R", "Mic Jack";
910f126890aSEmmanuel Vadot
911f126890aSEmmanuel Vadot		nvidia,i2s-controller = <&tegra_i2s1>;
912f126890aSEmmanuel Vadot		nvidia,audio-codec = <&wm8903>;
913f126890aSEmmanuel Vadot
914f126890aSEmmanuel Vadot		nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
915f126890aSEmmanuel Vadot		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(X, 1) GPIO_ACTIVE_LOW>;
916f126890aSEmmanuel Vadot
917f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
918f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
919f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_CDEV1>;
920f126890aSEmmanuel Vadot		clock-names = "pll_a", "pll_a_out0", "mclk";
921f126890aSEmmanuel Vadot	};
922f126890aSEmmanuel Vadot};
923