1/dts-v1/;
2
3#include <dt-bindings/input/input.h>
4#include "tegra20.dtsi"
5
6/ {
7	model = "Toshiba AC100 / Dynabook AZ";
8	compatible = "compal,paz00", "nvidia,tegra20";
9
10	chosen {
11		stdout-path = &uarta;
12	};
13
14	aliases {
15		rtc0 = "/i2c@7000d000/tps6586x@34";
16		rtc1 = "/rtc@7000e000";
17		serial0 = &uarta;
18		serial1 = &uartc;
19		usb0 = "/usb@c5000000";
20		usb1 = "/usb@c5004000";
21		usb2 = "/usb@c5008000";
22		mmc0 = "/sdhci@c8000600";
23		mmc1 = "/sdhci@c8000000";
24	};
25
26	memory {
27		reg = <0x00000000 0x20000000>;
28	};
29
30	host1x@50000000 {
31		status = "okay";
32		dc@54200000 {
33			status = "okay";
34			rgb {
35				status = "okay";
36
37				nvidia,panel = <&panel>;
38
39				display-timings {
40					timing@0 {
41						/* PAZ00 has 1024x600 */
42						clock-frequency = <54030000>;
43						hactive = <1024>;
44						vactive = <600>;
45						hback-porch = <160>;
46						hfront-porch = <24>;
47						hsync-len = <136>;
48						vback-porch = <3>;
49						vfront-porch = <61>;
50						vsync-len = <6>;
51						hsync-active = <1>;
52					};
53				};
54			};
55		};
56
57		hdmi@54280000 {
58			status = "okay";
59
60			vdd-supply = <&hdmi_vdd_reg>;
61			pll-supply = <&hdmi_pll_reg>;
62
63			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
64			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
65				GPIO_ACTIVE_HIGH>;
66		};
67	};
68
69	pinmux@70000014 {
70		pinctrl-names = "default";
71		pinctrl-0 = <&state_default>;
72
73		state_default: pinmux {
74			ata {
75				nvidia,pins = "ata", "atc", "atd", "ate",
76					"dap2", "gmb", "gmc", "gmd", "spia",
77					"spib", "spic", "spid", "spie";
78				nvidia,function = "gmi";
79			};
80			atb {
81				nvidia,pins = "atb", "gma", "gme";
82				nvidia,function = "sdio4";
83			};
84			cdev1 {
85				nvidia,pins = "cdev1";
86				nvidia,function = "plla_out";
87			};
88			cdev2 {
89				nvidia,pins = "cdev2";
90				nvidia,function = "pllp_out4";
91			};
92			crtp {
93				nvidia,pins = "crtp";
94				nvidia,function = "crt";
95			};
96			csus {
97				nvidia,pins = "csus";
98				nvidia,function = "pllc_out1";
99			};
100			dap1 {
101				nvidia,pins = "dap1";
102				nvidia,function = "dap1";
103			};
104			dap3 {
105				nvidia,pins = "dap3";
106				nvidia,function = "dap3";
107			};
108			dap4 {
109				nvidia,pins = "dap4";
110				nvidia,function = "dap4";
111			};
112			ddc {
113				nvidia,pins = "ddc";
114				nvidia,function = "i2c2";
115			};
116			dta {
117				nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
118				nvidia,function = "rsvd1";
119			};
120			dtf {
121				nvidia,pins = "dtf";
122				nvidia,function = "i2c3";
123			};
124			gpu {
125				nvidia,pins = "gpu", "sdb", "sdd";
126				nvidia,function = "pwm";
127			};
128			gpu7 {
129				nvidia,pins = "gpu7";
130				nvidia,function = "rtck";
131			};
132			gpv {
133				nvidia,pins = "gpv", "slxa", "slxk";
134				nvidia,function = "pcie";
135			};
136			hdint {
137				nvidia,pins = "hdint", "pta";
138				nvidia,function = "hdmi";
139			};
140			i2cp {
141				nvidia,pins = "i2cp";
142				nvidia,function = "i2cp";
143			};
144			irrx {
145				nvidia,pins = "irrx", "irtx";
146				nvidia,function = "uarta";
147			};
148			kbca {
149				nvidia,pins = "kbca", "kbcc", "kbce", "kbcf";
150				nvidia,function = "kbc";
151			};
152			kbcb {
153				nvidia,pins = "kbcb", "kbcd";
154				nvidia,function = "sdio2";
155			};
156			lcsn {
157				nvidia,pins = "lcsn", "ld0", "ld1", "ld2",
158					"ld3", "ld4", "ld5", "ld6", "ld7",
159					"ld8", "ld9", "ld10", "ld11", "ld12",
160					"ld13", "ld14", "ld15", "ld16", "ld17",
161					"ldc", "ldi", "lhp0", "lhp1", "lhp2",
162					"lhs", "lm0", "lm1", "lpp", "lpw0",
163					"lpw1", "lpw2", "lsc0", "lsc1", "lsck",
164					"lsda", "lsdi", "lspi", "lvp0", "lvp1",
165					"lvs";
166				nvidia,function = "displaya";
167			};
168			owc {
169				nvidia,pins = "owc";
170				nvidia,function = "owr";
171			};
172			pmc {
173				nvidia,pins = "pmc";
174				nvidia,function = "pwr_on";
175			};
176			rm {
177				nvidia,pins = "rm";
178				nvidia,function = "i2c1";
179			};
180			sdc {
181				nvidia,pins = "sdc";
182				nvidia,function = "twc";
183			};
184			sdio1 {
185				nvidia,pins = "sdio1";
186				nvidia,function = "sdio1";
187			};
188			slxc {
189				nvidia,pins = "slxc", "slxd";
190				nvidia,function = "spi4";
191			};
192			spdi {
193				nvidia,pins = "spdi", "spdo";
194				nvidia,function = "rsvd2";
195			};
196			spif {
197				nvidia,pins = "spif", "uac";
198				nvidia,function = "rsvd4";
199			};
200			spig {
201				nvidia,pins = "spig", "spih";
202				nvidia,function = "spi2_alt";
203			};
204			uaa {
205				nvidia,pins = "uaa", "uab", "uda";
206				nvidia,function = "ulpi";
207			};
208			uad {
209				nvidia,pins = "uad";
210				nvidia,function = "spdif";
211			};
212			uca {
213				nvidia,pins = "uca", "ucb";
214				nvidia,function = "uartc";
215			};
216			conf_ata {
217				nvidia,pins = "ata", "atb", "atc", "atd", "ate",
218					"cdev1", "cdev2", "dap1", "dap2", "dtf",
219					"gma", "gmb", "gmc", "gmd", "gme",
220					"gpu", "gpu7", "gpv", "i2cp", "pta",
221					"rm", "sdio1", "slxk", "spdo", "uac",
222					"uda";
223				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
224				nvidia,tristate = <TEGRA_PIN_DISABLE>;
225			};
226			conf_ck32 {
227				nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
228					"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
229				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
230			};
231			conf_crtp {
232				nvidia,pins = "crtp", "dap3", "dap4", "dtb",
233					"dtc", "dte", "slxa", "slxc", "slxd",
234					"spdi";
235				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
236				nvidia,tristate = <TEGRA_PIN_ENABLE>;
237			};
238			conf_csus {
239				nvidia,pins = "csus", "spia", "spib", "spid",
240					"spif";
241				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
242				nvidia,tristate = <TEGRA_PIN_ENABLE>;
243			};
244			conf_ddc {
245				nvidia,pins = "ddc", "irrx", "irtx", "kbca",
246					"kbcb", "kbcc", "kbcd", "kbce", "kbcf",
247					"spic", "spig", "uaa", "uab";
248				nvidia,pull = <TEGRA_PIN_PULL_UP>;
249				nvidia,tristate = <TEGRA_PIN_DISABLE>;
250			};
251			conf_dta {
252				nvidia,pins = "dta", "dtd", "owc", "sdc", "sdd",
253					"spie", "spih", "uad", "uca", "ucb";
254				nvidia,pull = <TEGRA_PIN_PULL_UP>;
255				nvidia,tristate = <TEGRA_PIN_ENABLE>;
256			};
257			conf_hdint {
258				nvidia,pins = "hdint", "ld0", "ld1", "ld2",
259					"ld3", "ld4", "ld5", "ld6", "ld7",
260					"ld8", "ld9", "ld10", "ld11", "ld12",
261					"ld13", "ld14", "ld15", "ld16", "ld17",
262					"ldc", "ldi", "lhs", "lsc0", "lspi",
263					"lvs", "pmc";
264				nvidia,tristate = <TEGRA_PIN_DISABLE>;
265			};
266			conf_lc {
267				nvidia,pins = "lc", "ls";
268				nvidia,pull = <TEGRA_PIN_PULL_UP>;
269			};
270			conf_lcsn {
271				nvidia,pins = "lcsn", "lhp0", "lhp1", "lhp2",
272					"lm0", "lm1", "lpp", "lpw0", "lpw1",
273					"lpw2", "lsc1", "lsck", "lsda", "lsdi",
274					"lvp0", "lvp1", "sdb";
275				nvidia,tristate = <TEGRA_PIN_ENABLE>;
276			};
277			conf_ld17_0 {
278				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
279					"ld23_22";
280				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
281			};
282		};
283	};
284
285	i2s@70002800 {
286		status = "okay";
287	};
288
289	serial@70006000 {
290		status = "okay";
291	};
292
293	serial@70006200 {
294		status = "okay";
295	};
296
297	pwm: pwm@7000a000 {
298		status = "okay";
299	};
300
301	lvds_ddc: i2c@7000c000 {
302		status = "okay";
303		clock-frequency = <400000>;
304
305		alc5632: alc5632@1e {
306			compatible = "realtek,alc5632";
307			reg = <0x1e>;
308			gpio-controller;
309			#gpio-cells = <2>;
310		};
311	};
312
313	hdmi_ddc: i2c@7000c400 {
314		status = "okay";
315		clock-frequency = <100000>;
316	};
317
318	nvec@7000c500 {
319		compatible = "nvidia,nvec";
320		reg = <0x7000c500 0x100>;
321		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
322		#address-cells = <1>;
323		#size-cells = <0>;
324		clock-frequency = <80000>;
325		request-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
326		slave-addr = <138>;
327		clocks = <&tegra_car TEGRA20_CLK_I2C3>,
328		         <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
329		clock-names = "div-clk", "fast-clk";
330		resets = <&tegra_car 67>;
331		reset-names = "i2c";
332	};
333
334	i2c@7000d000 {
335		status = "okay";
336		clock-frequency = <400000>;
337
338		pmic: tps6586x@34 {
339			compatible = "ti,tps6586x";
340			reg = <0x34>;
341			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
342
343			#gpio-cells = <2>;
344			gpio-controller;
345
346			sys-supply = <&p5valw_reg>;
347			vin-sm0-supply = <&sys_reg>;
348			vin-sm1-supply = <&sys_reg>;
349			vin-sm2-supply = <&sys_reg>;
350			vinldo01-supply = <&sm2_reg>;
351			vinldo23-supply = <&sm2_reg>;
352			vinldo4-supply = <&sm2_reg>;
353			vinldo678-supply = <&sm2_reg>;
354			vinldo9-supply = <&sm2_reg>;
355
356			regulators {
357				sys_reg: sys {
358					regulator-name = "vdd_sys";
359					regulator-always-on;
360				};
361
362				sm0 {
363					regulator-name = "+1.2vs_sm0,vdd_core";
364					regulator-min-microvolt = <1200000>;
365					regulator-max-microvolt = <1200000>;
366					regulator-always-on;
367				};
368
369				sm1 {
370					regulator-name = "+1.0vs_sm1,vdd_cpu";
371					regulator-min-microvolt = <1000000>;
372					regulator-max-microvolt = <1000000>;
373					regulator-always-on;
374				};
375
376				sm2_reg: sm2 {
377					regulator-name = "+3.7vs_sm2,vin_ldo*";
378					regulator-min-microvolt = <3700000>;
379					regulator-max-microvolt = <3700000>;
380					regulator-always-on;
381				};
382
383				/* LDO0 is not connected to anything */
384
385				ldo1 {
386					regulator-name = "+1.1vs_ldo1,avdd_pll*";
387					regulator-min-microvolt = <1100000>;
388					regulator-max-microvolt = <1100000>;
389					regulator-always-on;
390				};
391
392				ldo2 {
393					regulator-name = "+1.2vs_ldo2,vdd_rtc";
394					regulator-min-microvolt = <1200000>;
395					regulator-max-microvolt = <1200000>;
396				};
397
398				ldo3 {
399					regulator-name = "+3.3vs_ldo3,avdd_usb*";
400					regulator-min-microvolt = <3300000>;
401					regulator-max-microvolt = <3300000>;
402					regulator-always-on;
403				};
404
405				ldo4 {
406					regulator-name = "+1.8vs_ldo4,avdd_osc,vddio_sys";
407					regulator-min-microvolt = <1800000>;
408					regulator-max-microvolt = <1800000>;
409					regulator-always-on;
410				};
411
412				ldo5 {
413					regulator-name = "+2.85vs_ldo5,vcore_mmc";
414					regulator-min-microvolt = <2850000>;
415					regulator-max-microvolt = <2850000>;
416					regulator-always-on;
417				};
418
419				ldo6 {
420					/*
421					 * Research indicates this should be
422					 * 1.8v; other boards that use this
423					 * rail for the same purpose need it
424					 * set to 1.8v. The schematic signal
425					 * name is incorrect; perhaps copied
426					 * from an incorrect NVIDIA reference.
427					 */
428					regulator-name = "+2.85vs_ldo6,avdd_vdac";
429					regulator-min-microvolt = <1800000>;
430					regulator-max-microvolt = <1800000>;
431				};
432
433				hdmi_vdd_reg: ldo7 {
434					regulator-name = "+3.3vs_ldo7,avdd_hdmi";
435					regulator-min-microvolt = <3300000>;
436					regulator-max-microvolt = <3300000>;
437				};
438
439				hdmi_pll_reg: ldo8 {
440					regulator-name = "+1.8vs_ldo8,avdd_hdmi_pll";
441					regulator-min-microvolt = <1800000>;
442					regulator-max-microvolt = <1800000>;
443				};
444
445				ldo9 {
446					regulator-name = "+2.85vs_ldo9,vdd_ddr_rx";
447					regulator-min-microvolt = <2850000>;
448					regulator-max-microvolt = <2850000>;
449					regulator-always-on;
450				};
451
452				ldo_rtc {
453					regulator-name = "+3.3vs_rtc";
454					regulator-min-microvolt = <3300000>;
455					regulator-max-microvolt = <3300000>;
456					regulator-always-on;
457				};
458			};
459		};
460
461		adt7461@4c {
462			compatible = "adi,adt7461";
463			reg = <0x4c>;
464		};
465	};
466
467	pmc@7000e400 {
468		nvidia,invert-interrupt;
469		nvidia,suspend-mode = <1>;
470		nvidia,cpu-pwr-good-time = <2000>;
471		nvidia,cpu-pwr-off-time = <0>;
472		nvidia,core-pwr-good-time = <3845 3845>;
473		nvidia,core-pwr-off-time = <0>;
474		nvidia,sys-clock-req-active-high;
475	};
476
477	usb@c5000000 {
478		status = "okay";
479	};
480
481	usb-phy@c5000000 {
482		status = "okay";
483	};
484
485	usb@c5004000 {
486		status = "okay";
487		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
488			GPIO_ACTIVE_LOW>;
489	};
490
491	usb-phy@c5004000 {
492		status = "okay";
493		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
494			GPIO_ACTIVE_LOW>;
495	};
496
497	usb@c5008000 {
498		status = "okay";
499	};
500
501	usb-phy@c5008000 {
502		status = "okay";
503	};
504
505	sdhci@c8000000 {
506		status = "okay";
507		cd-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_LOW>;
508		wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
509		power-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
510		bus-width = <4>;
511	};
512
513	sdhci@c8000600 {
514		status = "okay";
515		bus-width = <8>;
516		non-removable;
517	};
518
519	backlight: backlight {
520		compatible = "pwm-backlight";
521
522		enable-gpios = <&gpio TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
523		power-supply = <&vdd_bl_reg>;
524		pwms = <&pwm 0 5000000>;
525
526		brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
527		default-brightness-level = <10>;
528
529		backlight-boot-off;
530	};
531
532	clocks {
533		compatible = "simple-bus";
534		#address-cells = <1>;
535		#size-cells = <0>;
536
537		clk32k_in: clock@0 {
538			compatible = "fixed-clock";
539			reg = <0>;
540			#clock-cells = <0>;
541			clock-frequency = <32768>;
542		};
543	};
544
545	gpio-keys {
546		compatible = "gpio-keys";
547
548		power {
549			label = "Power";
550			gpios = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_LOW>;
551			linux,code = <KEY_POWER>;
552			wakeup-source;
553		};
554	};
555
556	gpio-leds {
557		compatible = "gpio-leds";
558
559		wifi {
560			label = "wifi-led";
561			gpios = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
562			linux,default-trigger = "rfkill0";
563		};
564	};
565
566	panel: panel {
567		compatible = "samsung,ltn101nt05", "simple-panel";
568
569		ddc-i2c-bus = <&lvds_ddc>;
570		power-supply = <&vdd_pnl_reg>;
571		enable-gpios = <&gpio TEGRA_GPIO(M, 6) GPIO_ACTIVE_HIGH>;
572
573		backlight = <&backlight>;
574	};
575
576	regulators {
577		compatible = "simple-bus";
578		#address-cells = <1>;
579		#size-cells = <0>;
580
581		p5valw_reg: regulator@0 {
582			compatible = "regulator-fixed";
583			reg = <0>;
584			regulator-name = "+5valw";
585			regulator-min-microvolt = <5000000>;
586			regulator-max-microvolt = <5000000>;
587			regulator-always-on;
588		};
589
590		vdd_pnl_reg: regulator@1 {
591			compatible = "regulator-fixed";
592			reg = <1>;
593			regulator-name = "+3VS,vdd_pnl";
594			regulator-min-microvolt = <3300000>;
595			regulator-max-microvolt = <3300000>;
596			gpio = <&gpio TEGRA_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
597			enable-active-high;
598		};
599
600		vdd_bl_reg: regulator@2 {
601			compatible = "regulator-fixed";
602			reg = <2>;
603			regulator-name = "vdd_bl";
604			regulator-min-microvolt = <2800000>;
605			regulator-max-microvolt = <2800000>;
606			gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
607			enable-active-high;
608		};
609	};
610
611	sound {
612		compatible = "nvidia,tegra-audio-alc5632-paz00",
613			"nvidia,tegra-audio-alc5632";
614
615		nvidia,model = "Compal PAZ00";
616
617		nvidia,audio-routing =
618			"Int Spk", "SPKOUT",
619			"Int Spk", "SPKOUTN",
620			"Headset Mic", "MICBIAS1",
621			"MIC1", "Headset Mic",
622			"Headset Stereophone", "HPR",
623			"Headset Stereophone", "HPL",
624			"DMICDAT", "Digital Mic";
625
626		nvidia,audio-codec = <&alc5632>;
627		nvidia,i2s-controller = <&tegra_i2s1>;
628		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2)
629			GPIO_ACTIVE_HIGH>;
630
631		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
632		         <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
633		         <&tegra_car TEGRA20_CLK_CDEV1>;
634		clock-names = "pll_a", "pll_a_out0", "mclk";
635	};
636};
637