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