1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/input/input.h>
3 #include "tegra124.dtsi"
7 rtc0 = "/i2c@7000d000/pmic@40";
8 rtc1 = "/rtc@7000e000";
13 stdout-path = "serial0:115200n8";
17 * Note that recent version of the device tree compiler (starting with
18 * version 1.4.2) warn about this node containing a reg property, but
19 * missing a unit-address. However, the bootloader on these Chromebook
20 * devices relies on the full name of this node to be exactly /memory.
21 * Adding the unit-address causes the bootloader to create a /memory
22 * node and write the memory bank configuration to that node, which in
23 * turn leads the kernel to believe that the device has 2 GiB of
24 * memory instead of the amount detected by the bootloader.
26 * The name of this node is effectively ABI and must not be changed.
29 device_type = "memory";
30 reg = <0x0 0x80000000 0x0 0x80000000>;
33 /delete-node/ memory@80000000;
39 vdd-supply = <&vdd_3v3_hdmi>;
40 pll-supply = <&vdd_hdmi_pll>;
41 hdmi-supply = <&vdd_5v0_hdmi>;
43 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
45 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
51 nvidia,dpaux = <&dpaux>;
52 nvidia,panel = <&panel>;
56 vdd-supply = <&vdd_3v3_panel>;
64 vdd-supply = <&vdd_gpu>;
68 /* Debug connector on the bottom of the board near SD card. */
78 clock-frequency = <100000>;
80 acodec: audio-codec@10 {
81 compatible = "maxim,max98090";
83 interrupt-parent = <&gpio>;
84 interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
87 temperature-sensor@4c {
88 compatible = "ti,tmp451";
90 interrupt-parent = <&gpio>;
91 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
93 #thermal-sensor-cells = <1>;
99 clock-frequency = <100000>;
102 compatible = "elan,ekth3000";
104 interrupt-parent = <&gpio>;
105 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
112 clock-frequency = <400000>;
115 compatible = "infineon,slb9645tt";
120 hdmi_ddc: i2c@7000c700 {
122 clock-frequency = <100000>;
127 clock-frequency = <400000>;
130 compatible = "ams,as3722";
132 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
134 ams,system-power-controller;
136 #interrupt-cells = <2>;
137 interrupt-controller;
142 pinctrl-names = "default";
143 pinctrl-0 = <&as3722_default>;
145 as3722_default: pinmux {
159 pins = "gpio2", "gpio4", "gpio7";
165 pins = "gpio3", "gpio6";
171 function = "clk32k-out";
177 vsup-sd2-supply = <&vdd_5v0_sys>;
178 vsup-sd3-supply = <&vdd_5v0_sys>;
179 vsup-sd4-supply = <&vdd_5v0_sys>;
180 vsup-sd5-supply = <&vdd_5v0_sys>;
181 vin-ldo0-supply = <&vdd_1v35_lp0>;
182 vin-ldo1-6-supply = <&vdd_3v3_run>;
183 vin-ldo2-5-7-supply = <&vddio_1v8>;
184 vin-ldo3-4-supply = <&vdd_3v3_sys>;
185 vin-ldo9-10-supply = <&vdd_5v0_sys>;
186 vin-ldo11-supply = <&vdd_3v3_run>;
189 regulator-name = "+VDD_CPU_AP";
190 regulator-min-microvolt = <700000>;
191 regulator-max-microvolt = <1350000>;
192 regulator-min-microamp = <3500000>;
193 regulator-max-microamp = <3500000>;
196 ams,ext-control = <2>;
200 regulator-name = "+VDD_CORE";
201 regulator-min-microvolt = <700000>;
202 regulator-max-microvolt = <1350000>;
203 regulator-min-microamp = <2500000>;
204 regulator-max-microamp = <4000000>;
207 ams,ext-control = <1>;
211 regulator-name = "+1.35V_LP0(sd2)";
212 regulator-min-microvolt = <1350000>;
213 regulator-max-microvolt = <1350000>;
219 regulator-name = "+1.35V_LP0(sd3)";
220 regulator-min-microvolt = <1350000>;
221 regulator-max-microvolt = <1350000>;
227 regulator-name = "+1.05V_RUN";
228 regulator-min-microvolt = <1050000>;
229 regulator-max-microvolt = <1050000>;
233 regulator-name = "+1.8V_VDDIO";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
240 regulator-name = "+VDD_GPU_AP";
241 regulator-min-microvolt = <650000>;
242 regulator-max-microvolt = <1200000>;
243 regulator-min-microamp = <3500000>;
244 regulator-max-microamp = <3500000>;
249 avdd_1v05_run: ldo0 {
250 regulator-name = "+1.05V_RUN_AVDD";
251 regulator-min-microvolt = <1050000>;
252 regulator-max-microvolt = <1050000>;
255 ams,ext-control = <1>;
259 regulator-name = "+1.8V_RUN_CAM";
260 regulator-min-microvolt = <1800000>;
261 regulator-max-microvolt = <1800000>;
265 regulator-name = "+1.2V_GEN_AVDD";
266 regulator-min-microvolt = <1200000>;
267 regulator-max-microvolt = <1200000>;
273 regulator-name = "+1.00V_LP0_VDD_RTC";
274 regulator-min-microvolt = <1000000>;
275 regulator-max-microvolt = <1000000>;
282 regulator-name = "+3.3V_RUN_CAM";
283 regulator-min-microvolt = <2800000>;
284 regulator-max-microvolt = <2800000>;
288 regulator-name = "+1.2V_RUN_CAM_FRONT";
289 regulator-min-microvolt = <1200000>;
290 regulator-max-microvolt = <1200000>;
294 regulator-name = "+VDDIO_SDMMC3";
295 regulator-min-microvolt = <1800000>;
296 regulator-max-microvolt = <3300000>;
300 regulator-name = "+1.05V_RUN_CAM_REAR";
301 regulator-min-microvolt = <1050000>;
302 regulator-max-microvolt = <1050000>;
306 regulator-name = "+2.8V_RUN_TOUCH";
307 regulator-min-microvolt = <2800000>;
308 regulator-max-microvolt = <2800000>;
312 regulator-name = "+2.8V_RUN_CAM_AF";
313 regulator-min-microvolt = <2800000>;
314 regulator-max-microvolt = <2800000>;
318 regulator-name = "+1.8V_RUN_VPP_FUSE";
319 regulator-min-microvolt = <1800000>;
320 regulator-max-microvolt = <1800000>;
330 compatible = "google,cros-ec-spi";
331 spi-max-frequency = <3000000>;
332 interrupt-parent = <&gpio>;
333 interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
336 google,cros-ec-spi-msg-delay = <2000>;
339 compatible = "google,cros-ec-i2c-tunnel";
340 #address-cells = <1>;
343 google,remote-bus = <0>;
346 compatible = "ti,bq24735";
348 interrupt-parent = <&gpio>;
349 interrupts = <TEGRA_GPIO(J, 0)
351 ti,ac-detect-gpios = <&gpio
357 battery: sbs-battery@b {
358 compatible = "sbs,sbs-battery";
360 sbs,i2c-retry-count = <2>;
361 sbs,poll-retry-count = <10>;
362 power-supplies = <&charger>;
370 spi-max-frequency = <25000000>;
373 compatible = "winbond,w25q32dw";
374 spi-max-frequency = <25000000>;
380 nvidia,invert-interrupt;
381 nvidia,suspend-mode = <0>;
382 nvidia,cpu-pwr-good-time = <500>;
383 nvidia,cpu-pwr-off-time = <300>;
384 nvidia,core-pwr-good-time = <641 3845>;
385 nvidia,core-pwr-off-time = <61036>;
386 nvidia,core-power-req-active-high;
387 nvidia,sys-clock-req-active-high;
395 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
396 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
397 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
398 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
399 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
400 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
402 avddio-pex-supply = <&vdd_1v05_run>;
403 dvddio-pex-supply = <&vdd_1v05_run>;
404 avdd-usb-supply = <&vdd_3v3_lp0>;
405 avdd-pll-utmip-supply = <&vddio_1v8>;
406 avdd-pll-erefe-supply = <&avdd_1v05_run>;
407 avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
408 hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
409 hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
423 nvidia,function = "xusb";
428 nvidia,function = "xusb";
433 nvidia,function = "xusb";
444 nvidia,function = "usb3-ss";
449 nvidia,function = "usb3-ss";
458 vbus-supply = <&vdd_usb1_vbus>;
464 vbus-supply = <&vdd_run_cam>;
470 vbus-supply = <&vdd_usb3_vbus>;
476 nvidia,usb2-companion = <0>;
481 nvidia,usb2-companion = <1>;
487 sdhci0_pwrseq: sdhci0_pwrseq {
488 compatible = "mmc-pwrseq-simple";
490 reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
493 sdhci@700b0000 { /* WiFi/BT on this bus */
498 mmc-pwrseq = <&sdhci0_pwrseq>;
499 vmmc-supply = <&vdd_3v3_lp0>;
500 vqmmc-supply = <&vddio_1v8>;
501 keep-power-in-suspend;
504 sdhci@700b0400 { /* SD Card on this bus */
506 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
507 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
510 vqmmc-supply = <&vddio_sdmmc3>;
513 sdhci@700b0600 { /* eMMC on this bus */
523 vdd-cpu-supply = <&vdd_cpu>;
524 nvidia,i2c-fs-rate = <400000>;
533 backlight: backlight {
534 compatible = "pwm-backlight";
536 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
537 power-supply = <&vdd_led>;
538 pwms = <&pwm 1 1000000>;
540 default-brightness-level = <224>;
543 8 9 10 11 12 13 14 15
544 16 17 18 19 20 21 22 23
545 24 25 26 27 28 29 30 31
546 32 33 34 35 36 37 38 39
547 40 41 42 43 44 45 46 47
548 48 49 50 51 52 53 54 55
549 56 57 58 59 60 61 62 63
550 64 65 66 67 68 69 70 71
551 72 73 74 75 76 77 78 79
552 80 81 82 83 84 85 86 87
553 88 89 90 91 92 93 94 95
554 96 97 98 99 100 101 102 103
555 104 105 106 107 108 109 110 111
556 112 113 114 115 116 117 118 119
557 120 121 122 123 124 125 126 127
558 128 129 130 131 132 133 134 135
559 136 137 138 139 140 141 142 143
560 144 145 146 147 148 149 150 151
561 152 153 154 155 156 157 158 159
562 160 161 162 163 164 165 166 167
563 168 169 170 171 172 173 174 175
564 176 177 178 179 180 181 182 183
565 184 185 186 187 188 189 190 191
566 192 193 194 195 196 197 198 199
567 200 201 202 203 204 205 206 207
568 208 209 210 211 212 213 214 215
569 216 217 218 219 220 221 222 223
570 224 225 226 227 228 229 230 231
571 232 233 234 235 236 237 238 239
572 240 241 242 243 244 245 246 247
573 248 249 250 251 252 253 254 255
578 compatible = "simple-bus";
579 #address-cells = <1>;
583 compatible = "fixed-clock";
586 clock-frequency = <32768>;
592 vdd-cpu-supply = <&vdd_cpu>;
597 compatible = "gpio-keys";
601 gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
602 linux,input-type = <5>;
603 linux,code = <KEY_RESERVED>;
604 debounce-interval = <1>;
610 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
611 linux,code = <KEY_POWER>;
612 debounce-interval = <30>;
618 compatible = "simple-bus";
619 #address-cells = <1>;
622 vdd_mux: regulator@0 {
623 compatible = "regulator-fixed";
625 regulator-name = "+VDD_MUX";
626 regulator-min-microvolt = <12000000>;
627 regulator-max-microvolt = <12000000>;
632 vdd_5v0_sys: regulator@1 {
633 compatible = "regulator-fixed";
635 regulator-name = "+5V_SYS";
636 regulator-min-microvolt = <5000000>;
637 regulator-max-microvolt = <5000000>;
640 vin-supply = <&vdd_mux>;
643 vdd_3v3_sys: regulator@2 {
644 compatible = "regulator-fixed";
646 regulator-name = "+3.3V_SYS";
647 regulator-min-microvolt = <3300000>;
648 regulator-max-microvolt = <3300000>;
651 vin-supply = <&vdd_mux>;
654 vdd_3v3_run: regulator@3 {
655 compatible = "regulator-fixed";
657 regulator-name = "+3.3V_RUN";
658 regulator-min-microvolt = <3300000>;
659 regulator-max-microvolt = <3300000>;
662 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
664 vin-supply = <&vdd_3v3_sys>;
667 vdd_3v3_hdmi: regulator@4 {
668 compatible = "regulator-fixed";
670 regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
671 regulator-min-microvolt = <3300000>;
672 regulator-max-microvolt = <3300000>;
673 vin-supply = <&vdd_3v3_run>;
676 vdd_led: regulator@5 {
677 compatible = "regulator-fixed";
679 regulator-name = "+VDD_LED";
680 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
682 vin-supply = <&vdd_mux>;
685 vdd_5v0_ts: regulator@6 {
686 compatible = "regulator-fixed";
688 regulator-name = "+5V_VDD_TS_SW";
689 regulator-min-microvolt = <5000000>;
690 regulator-max-microvolt = <5000000>;
692 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
694 vin-supply = <&vdd_5v0_sys>;
697 vdd_usb1_vbus: regulator@7 {
698 compatible = "regulator-fixed";
700 regulator-name = "+5V_USB_HS";
701 regulator-min-microvolt = <5000000>;
702 regulator-max-microvolt = <5000000>;
703 gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
706 vin-supply = <&vdd_5v0_sys>;
709 vdd_usb3_vbus: regulator@8 {
710 compatible = "regulator-fixed";
712 regulator-name = "+5V_USB_SS";
713 regulator-min-microvolt = <5000000>;
714 regulator-max-microvolt = <5000000>;
715 gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
718 vin-supply = <&vdd_5v0_sys>;
721 vdd_3v3_panel: regulator@9 {
722 compatible = "regulator-fixed";
724 regulator-name = "+3.3V_PANEL";
725 regulator-min-microvolt = <3300000>;
726 regulator-max-microvolt = <3300000>;
727 gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
729 vin-supply = <&vdd_3v3_run>;
732 vdd_3v3_lp0: regulator@10 {
733 compatible = "regulator-fixed";
735 regulator-name = "+3.3V_LP0";
736 regulator-min-microvolt = <3300000>;
737 regulator-max-microvolt = <3300000>;
739 * TODO: find a way to wire this up with the USB EHCI
740 * controllers so that it can be enabled on demand.
743 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
745 vin-supply = <&vdd_3v3_sys>;
748 vdd_hdmi_pll: regulator@11 {
749 compatible = "regulator-fixed";
751 regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
752 regulator-min-microvolt = <1050000>;
753 regulator-max-microvolt = <1050000>;
754 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
755 vin-supply = <&vdd_1v05_run>;
758 vdd_5v0_hdmi: regulator@12 {
759 compatible = "regulator-fixed";
761 regulator-name = "+5V_HDMI_CON";
762 regulator-min-microvolt = <5000000>;
763 regulator-max-microvolt = <5000000>;
764 gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
766 vin-supply = <&vdd_5v0_sys>;
771 nvidia,audio-routing =
776 "Mic Jack", "MICBIAS",
781 nvidia,i2s-controller = <&tegra_i2s1>;
782 nvidia,audio-codec = <&acodec>;
784 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
785 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
786 <&tegra_car TEGRA124_CLK_EXTERN1>;
787 clock-names = "pll_a", "pll_a_out0", "mclk";
789 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
790 nvidia,mic-det-gpios =
791 <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
795 compatible = "gpio-restart";
796 gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
801 #include "cros-ec-keyboard.dtsi"