1 // SPDX-License-Identifier: GPL-2.0
4 #include <dt-bindings/input/input.h>
5 #include "tegra20.dtsi"
8 model = "Thinkpad Tablet paz00";
9 compatible = "nvidia,ventana", "nvidia,tegra20";
12 rtc0 = "/i2c@7000d000/tps6586x@34";
13 rtc1 = "/rtc@7000e000";
18 stdout-path = "serial0:115200n8";
19 bootargs = "mem=1024M@0M usbcore.old_scheme_first=1";
23 reg = <0x00000000 0x40000000>;
31 nvidia,panel = <&panel>;
39 vdd-supply = <&hdmi_vdd_reg>;
40 pll-supply = <&hdmi_pll_reg>;
42 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
43 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
49 pinctrl-names = "default";
50 pinctrl-0 = <&state_default>;
52 state_default: pinmux {
55 nvidia,function = "ide";
58 nvidia,pins = "atb", "gma", "gme";
59 nvidia,function = "sdio4";
63 nvidia,function = "nand";
66 nvidia,pins = "atd", "ate", "gmb", "spia",
68 nvidia,function = "gmi";
71 nvidia,pins = "cdev1";
72 nvidia,function = "plla_out";
75 nvidia,pins = "cdev2";
76 nvidia,function = "pllp_out4";
79 nvidia,pins = "crtp", "lm1";
80 nvidia,function = "crt";
84 nvidia,function = "vi_sensor_clk";
88 nvidia,function = "dap1";
92 nvidia,function = "dap2";
93 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
94 nvidia,tristate = <TEGRA_PIN_ENABLE>;
98 nvidia,function = "dap3";
101 nvidia,pins = "dap4";
102 nvidia,function = "dap4";
105 nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
106 nvidia,function = "vi";
110 nvidia,function = "i2c3";
114 nvidia,function = "uartd";
118 nvidia,function = "sflash";
122 nvidia,function = "pwm";
125 nvidia,pins = "gpu7";
126 nvidia,function = "rtck";
129 nvidia,pins = "gpv", "slxa", "slxk";
130 nvidia,function = "pcie";
133 nvidia,pins = "hdint";
134 nvidia,function = "hdmi";
137 nvidia,pins = "i2cp";
138 nvidia,function = "i2cp";
141 nvidia,pins = "irrx", "irtx";
142 nvidia,function = "uartb";
145 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
147 nvidia,function = "kbc";
150 nvidia,pins = "kbce";
151 nvidia,function = "kbc";
152 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
153 nvidia,tristate = <TEGRA_PIN_ENABLE>;
156 nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
158 nvidia,function = "rsvd4";
161 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
162 "ld5", "ld6", "ld7", "ld8", "ld9",
163 "ld10", "ld11", "ld12", "ld13", "ld14",
164 "ld15", "ld16", "ld17", "ldi", "lhp0",
165 "lhp1", "lhp2", "lhs", "lpp", "lpw0",
166 "lpw2", "lsc0", "lsc1", "lsck", "lsda",
167 "lspi", "lvp1", "lvs";
168 nvidia,function = "displaya";
171 nvidia,pins = "owc", "spdi", "spdo", "uac";
172 nvidia,function = "rsvd2";
176 nvidia,function = "pwr_on";
180 nvidia,function = "i2c1";
183 nvidia,pins = "sdb", "sdc", "sdd", "slxc";
184 nvidia,function = "sdio3";
187 nvidia,pins = "sdio1";
188 nvidia,function = "sdio1";
191 nvidia,pins = "slxd";
192 nvidia,function = "spdif";
195 nvidia,pins = "spid", "spif";
196 nvidia,function = "spi1";
197 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
198 nvidia,tristate = <TEGRA_PIN_DISABLE>;
201 nvidia,pins = "spie";
202 nvidia,function = "spi1";
203 nvidia,pull = <TEGRA_PIN_PULL_UP>;
204 nvidia,tristate = <TEGRA_PIN_DISABLE>;
207 nvidia,pins = "spig", "spih";
208 nvidia,function = "spi2_alt";
211 nvidia,pins = "uaa", "uab", "uda";
212 nvidia,function = "ulpi";
216 nvidia,function = "irda";
219 nvidia,pins = "uca", "ucb";
220 nvidia,function = "uartc";
223 nvidia,pins = "ata", "atb", "atc", "atd",
224 "cdev1", "cdev2", "dap1", "dap2",
225 "dap4", "dtf", "gma", "gmc",
226 "gme", "gpu", "gpu7", "i2cp", "irrx",
227 "irtx", "pta", "rm", "sdc", "sdd",
228 "slxc", "slxd", "slxk", "spdi", "spdo",
229 "uac", "uad", "uca", "ucb", "uda";
230 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
231 nvidia,tristate = <TEGRA_PIN_DISABLE>;
234 nvidia,pins = "ate", "csus", "dap3", "gmd",
235 "gpv", "owc", "spia", "spib", "spic",
236 "spid", "spie", "spig";
237 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
238 nvidia,tristate = <TEGRA_PIN_ENABLE>;
241 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
242 "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
243 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
246 nvidia,pins = "crtp", "gmb", "slxa", "spih";
247 nvidia,pull = <TEGRA_PIN_PULL_UP>;
248 nvidia,tristate = <TEGRA_PIN_ENABLE>;
251 nvidia,pins = "dta", "dtb", "dtc", "dtd";
252 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
253 nvidia,tristate = <TEGRA_PIN_DISABLE>;
256 nvidia,pins = "dte", "spif";
257 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
258 nvidia,tristate = <TEGRA_PIN_ENABLE>;
261 nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
262 "lpw1", "lsck", "lsda", "lsdi", "lvp0";
263 nvidia,tristate = <TEGRA_PIN_ENABLE>;
266 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
267 "kbce", "kbcf", "sdio1", "uaa", "uab";
268 nvidia,pull = <TEGRA_PIN_PULL_UP>;
269 nvidia,tristate = <TEGRA_PIN_DISABLE>;
272 nvidia,pins = "lc", "ls";
273 nvidia,pull = <TEGRA_PIN_PULL_UP>;
276 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
277 "ld5", "ld6", "ld7", "ld8", "ld9",
278 "ld10", "ld11", "ld12", "ld13", "ld14",
279 "ld15", "ld16", "ld17", "ldi", "lhp0",
280 "lhp1", "lhp2", "lhs", "lm0", "lpp",
281 "lpw0", "lpw2", "lsc0", "lsc1", "lspi",
282 "lvp1", "lvs", "pmc", "sdb";
283 nvidia,tristate = <TEGRA_PIN_DISABLE>;
286 nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
288 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
291 nvidia,pins = "drive_sdio1";
292 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
293 nvidia,schmitt = <TEGRA_PIN_ENABLE>;
294 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
295 nvidia,pull-down-strength = <31>;
296 nvidia,pull-up-strength = <31>;
297 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
298 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
302 state_i2cmux_ddc: pinmux_i2cmux_ddc {
305 nvidia,function = "i2c2";
309 nvidia,function = "rsvd4";
313 state_i2cmux_pta: pinmux_i2cmux_pta {
316 nvidia,function = "rsvd4";
320 nvidia,function = "i2c2";
324 state_i2cmux_idle: pinmux_i2cmux_idle {
327 nvidia,function = "rsvd4";
331 nvidia,function = "rsvd4";
348 i2c@7000c000 { /* i2c0 -- kernel name, TRM is i2c1 */
350 clock-frequency = <400000>;
353 compatible = "wlf,wm8903";
355 interrupt-parent = <&gpio>;
356 interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_LEVEL_HIGH>;
362 micdet-delay = <100>;
363 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
368 i2c@7000c400 { /* i2c1 */
370 clock-frequency = <100000>; /* (invalid) panel edid: i2cdump -y 5 0x50 */
374 compatible = "i2c-mux-pinctrl";
375 #address-cells = <1>;
378 i2c-parent = <&{/i2c@7000c400}>; /* 7000c400 = i2c1, 7000c500 = i2c2 */
380 pinctrl-names = "ddc", "pta", "idle";
381 pinctrl-0 = <&state_i2cmux_ddc>;
382 pinctrl-1 = <&state_i2cmux_pta>;
383 pinctrl-2 = <&state_i2cmux_idle>;
387 #address-cells = <1>;
393 #address-cells = <1>;
398 i2c@7000c500 { /* i2c2 */
400 clock-frequency = <400000>; /* 400000 */
403 i2c@7000d000 { /* DVC according to Tegra2 TRM */
405 clock-frequency = <400000>;
408 compatible = "ti,tps6586x";
410 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
412 ti,system-power-controller;
417 sys-supply = <&vdd_5v0_reg>;
418 vin-sm0-supply = <&sys_reg>;
419 vin-sm1-supply = <&sys_reg>;
420 vin-sm2-supply = <&sys_reg>;
421 vinldo01-supply = <&sm2_reg>;
422 vinldo23-supply = <&sm2_reg>;
423 vinldo4-supply = <&sm2_reg>;
424 vinldo678-supply = <&sm2_reg>;
425 vinldo9-supply = <&sm2_reg>;
429 regulator-name = "vdd_sys";
434 regulator-name = "vdd_sm0,vdd_core";
435 regulator-min-microvolt = <1200000>;
436 regulator-max-microvolt = <1300000>;
437 regulator-coupled-with = <&rtc_vdd_reg>;
438 regulator-coupled-max-spread = <150000>;
443 regulator-name = "vdd_sm1,vdd_cpu";
444 regulator-min-microvolt = <750000>;
445 regulator-max-microvolt = <1125000>;
450 regulator-name = "vdd_sm2,vin_ldo*";
451 regulator-min-microvolt = <3700000>;
452 regulator-max-microvolt = <3700000>;
456 /* LDO0 is not connected to anything */
459 regulator-name = "vdd_ldo1,avdd_pll*";
460 regulator-min-microvolt = <1100000>;
461 regulator-max-microvolt = <1100000>;
466 regulator-name = "vdd_ldo2,vdd_rtc";
467 regulator-min-microvolt = <1200000>;
468 regulator-max-microvolt = <1300000>;
469 regulator-coupled-with = <&core_vdd_reg>;
470 regulator-coupled-max-spread = <150000>;
475 regulator-name = "vdd_ldo3,avdd_usb*";
476 regulator-min-microvolt = <3300000>;
477 regulator-max-microvolt = <3300000>;
482 regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
483 regulator-min-microvolt = <1800000>;
484 regulator-max-microvolt = <1800000>;
489 regulator-name = "vdd_ldo5,vcore_mmc";
490 regulator-min-microvolt = <2850000>;
491 regulator-max-microvolt = <2850000>;
496 regulator-name = "vdd_ldo6,avdd_vdac";
497 regulator-min-microvolt = <1800000>;
498 regulator-max-microvolt = <1800000>;
502 regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
503 regulator-min-microvolt = <3300000>;
504 regulator-max-microvolt = <3300000>;
508 regulator-name = "vdd_ldo8,avdd_hdmi_pll";
509 regulator-min-microvolt = <1800000>;
510 regulator-max-microvolt = <1800000>;
514 regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
515 regulator-min-microvolt = <2850000>;
516 regulator-max-microvolt = <2850000>;
521 regulator-name = "vdd_rtc_out,vdd_cell";
522 regulator-min-microvolt = <3300000>;
523 regulator-max-microvolt = <3300000>;
529 temperature-sensor@4c {
530 compatible = "onnn,nct1008";
532 interrupt-parent = <&gpio>;
533 interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_LEVEL_LOW>; // FIXME Documentation/devicetree/bindings/hwmon/lm90.txt
536 compass@c { // CONFIG_AK8975
537 compatible = "asahi-kasei,ak8975";
539 interrupt-parent = <&gpio>;
540 interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_LEVEL_HIGH>;
543 accel@f { // CONFIG_KXCJK1013 -- does mention kxtf9 but doesn't work
544 compatible = "kxtf9";
551 nvidia,invert-interrupt;
552 nvidia,suspend-mode = <1>;
553 nvidia,cpu-pwr-good-time = <2000>;
554 nvidia,cpu-pwr-off-time = <100>;
555 nvidia,core-pwr-good-time = <3845 3845>;
556 nvidia,core-pwr-off-time = <458>;
557 nvidia,sys-clock-req-active-high;
570 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
576 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
591 keep-power-in-suspend;
596 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
597 wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
598 power-gpios = <&gpio TEGRA_GPIO(T, 3) GPIO_ACTIVE_HIGH>;
604 power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
609 backlight: backlight {
610 compatible = "pwm-backlight";
612 enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
613 power-supply = <&vdd_bl_reg>;
614 pwms = <&pwm 2 5000000>;
616 brightness-levels = <0 4 8 16 32 64 128 255>;
617 default-brightness-level = <6>;
621 compatible = "simple-bus";
622 #address-cells = <1>;
626 compatible = "fixed-clock";
629 clock-frequency = <32768>;
634 compatible = "gpio-keys";
637 keys on device are: rotate, www, back, back, homepage
638 two back keys are connected to same pin
640 relevant source from 2.6 kernel is:
642 #define GPIO_KEY(_id, _gpio, _isactivelow, _iswake) \
643 static struct gpio_keys_button ventana_keys[] = {
644 [0] = GPIO_KEY(KEY_WWW, PQ0, 1, 0),
645 [1] = GPIO_KEY(KEY_HOMEPAGE, PQ1, 1, 0),
646 [2] = GPIO_KEY(KEY_BACK, PQ2, 1, 0),
647 [3] = GPIO_KEY(KEY_AUTO_ROTATION, PQ3, 1, 0),
648 [4] = GPIO_KEY(KEY_VOLUMEDOWN, PQ4, 1, 0),
649 [5] = GPIO_KEY(KEY_VOLUMEUP, PQ5, 1, 0),
650 [6] = GPIO_KEY(KEY_POWER, PC7, 0, 1),
651 [7] = GPIO_KEY(KEY_POWER, PI3, 0, 0),
657 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
658 linux,code = <KEY_WWW>;
663 gpios = <&gpio TEGRA_GPIO(Q, 1) GPIO_ACTIVE_LOW>;
664 linux,code = <KEY_HOMEPAGE>;
669 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
670 linux,code = <KEY_BACK>;
675 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
676 linux,code = <KEY_ROTATE_DISPLAY>;
680 label = "volumedown";
681 gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
682 linux,code = <KEY_VOLUMEDOWN>;
687 gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
688 linux,code = <KEY_VOLUMEUP>;
693 gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
694 linux,code = <KEY_POWER>;
700 gpios = <&gpio TEGRA_GPIO(I, 3) GPIO_ACTIVE_HIGH>; /* this is power button on device */
701 linux,code = <KEY_POWER2>;
704 /* Charl5es 0508 start
713 psensor { /* IQS128 on separate board with 3 wires */
715 gpios = <&gpio TEGRA_GPIO(C, 1) GPIO_ACTIVE_HIGH>;
716 linux,code = <KEY_DASHBOARD>; /* include/uapi/linux/input-event-codes.h */
721 compatible = "lg,lp101wx1", "simple-panel";
723 power-supply = <&vdd_pnl_reg>;
724 enable-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
726 backlight = <&backlight>;
727 ddc-i2c-bus = <&lvds_ddc>;
731 /* XXX tegra_dc_mode ventana_panel_modes -- works for u-boot */
732 clock-frequency = <72072000>;
747 compatible = "simple-bus";
748 #address-cells = <1>;
751 vdd_5v0_reg: regulator@0 {
752 compatible = "regulator-fixed";
754 regulator-name = "vdd_5v0";
755 regulator-min-microvolt = <5000000>;
756 regulator-max-microvolt = <5000000>;
761 compatible = "regulator-fixed";
763 regulator-name = "vdd_1v5";
764 regulator-min-microvolt = <1500000>;
765 regulator-max-microvolt = <1500000>;
766 gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
770 compatible = "regulator-fixed";
772 regulator-name = "vdd_1v2";
773 regulator-min-microvolt = <1200000>;
774 regulator-max-microvolt = <1200000>;
775 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
779 vdd_pnl_reg: regulator@3 {
780 compatible = "regulator-fixed";
782 regulator-name = "vdd_pnl";
783 regulator-min-microvolt = <2800000>;
784 regulator-max-microvolt = <2800000>;
785 gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
789 vdd_bl_reg: regulator@4 {
790 compatible = "regulator-fixed";
792 regulator-name = "vdd_bl";
793 regulator-min-microvolt = <2800000>;
794 regulator-max-microvolt = <2800000>;
795 gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
801 compatible = "nvidia,tegra-audio-wm8903-ventana",
802 "nvidia,tegra-audio-wm8903";
803 nvidia,model = "NVIDIA Tegra Ventana";
805 nvidia,audio-routing =
806 "Headphone Jack", "HPOUTR",
807 "Headphone Jack", "HPOUTL",
812 "Mic Jack", "MICBIAS",
815 nvidia,i2s-controller = <&tegra_i2s1>;
816 nvidia,audio-codec = <&wm8903>;
818 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
819 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_HIGH>; /* ok */
821 nvidia,int-mic-en-gpios = <&gpio TEGRA_GPIO(X, 0)
824 nvidia,ext-mic-en-gpios = <&gpio TEGRA_GPIO(W, 3) /* fixed */
827 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
828 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
829 <&tegra_car TEGRA20_CLK_CDEV1>;
830 clock-names = "pll_a", "pll_a_out0", "mclk";
835 cpu-supply = <&cpu_vdd_reg>;
836 core-supply = <&core_vdd_reg>;
837 rtc-supply = <&rtc_vdd_reg>;