Linux Audio

Check our new training course

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