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