1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/input/input.h>
3 #include <dt-bindings/thermal/thermal.h>
4 #include "tegra124.dtsi"
8 rtc0 = "/i2c@7000d000/pmic@40";
9 rtc1 = "/rtc@7000e000";
14 stdout-path = "serial0:115200n8";
18 * Note that recent version of the device tree compiler (starting with
19 * version 1.4.2) warn about this node containing a reg property, but
20 * missing a unit-address. However, the bootloader on these Chromebook
21 * devices relies on the full name of this node to be exactly /memory.
22 * Adding the unit-address causes the bootloader to create a /memory
23 * node and write the memory bank configuration to that node, which in
24 * turn leads the kernel to believe that the device has 2 GiB of
25 * memory instead of the amount detected by the bootloader.
27 * The name of this node is effectively ABI and must not be changed.
30 device_type = "memory";
31 reg = <0x0 0x80000000 0x0 0x80000000>;
34 /delete-node/ memory@80000000;
40 vdd-supply = <&vdd_3v3_hdmi>;
41 pll-supply = <&vdd_hdmi_pll>;
42 hdmi-supply = <&vdd_5v0_hdmi>;
44 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
46 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
52 avdd-io-hdmi-dp-supply = <&vdd_3v3_hdmi>;
53 vdd-hdmi-dp-pll-supply = <&vdd_hdmi_pll>;
55 nvidia,dpaux = <&dpaux>;
56 nvidia,panel = <&panel>;
60 vdd-supply = <&vdd_3v3_panel>;
68 vdd-supply = <&vdd_gpu>;
72 /* Debug connector on the bottom of the board near SD card. */
82 clock-frequency = <100000>;
84 acodec: audio-codec@10 {
85 compatible = "maxim,max98090";
87 interrupt-parent = <&gpio>;
88 interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
91 tmp451: temperature-sensor@4c {
92 compatible = "ti,tmp451";
94 interrupt-parent = <&gpio>;
95 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_EDGE_FALLING>;
97 #thermal-sensor-cells = <1>;
103 clock-frequency = <100000>;
106 compatible = "elan,ekth3000";
108 interrupt-parent = <&gpio>;
109 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
116 clock-frequency = <400000>;
119 compatible = "infineon,slb9645tt";
124 hdmi_ddc: i2c@7000c700 {
126 clock-frequency = <100000>;
131 clock-frequency = <400000>;
134 compatible = "ams,as3722";
136 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
138 ams,system-power-controller;
140 #interrupt-cells = <2>;
141 interrupt-controller;
146 pinctrl-names = "default";
147 pinctrl-0 = <&as3722_default>;
149 as3722_default: pinmux {
163 pins = "gpio2", "gpio4", "gpio7";
169 pins = "gpio3", "gpio6";
175 function = "clk32k-out";
181 vsup-sd2-supply = <&vdd_5v0_sys>;
182 vsup-sd3-supply = <&vdd_5v0_sys>;
183 vsup-sd4-supply = <&vdd_5v0_sys>;
184 vsup-sd5-supply = <&vdd_5v0_sys>;
185 vin-ldo0-supply = <&vdd_1v35_lp0>;
186 vin-ldo1-6-supply = <&vdd_3v3_run>;
187 vin-ldo2-5-7-supply = <&vddio_1v8>;
188 vin-ldo3-4-supply = <&vdd_3v3_sys>;
189 vin-ldo9-10-supply = <&vdd_5v0_sys>;
190 vin-ldo11-supply = <&vdd_3v3_run>;
193 regulator-name = "+VDD_CPU_AP";
194 regulator-min-microvolt = <700000>;
195 regulator-max-microvolt = <1350000>;
196 regulator-min-microamp = <3500000>;
197 regulator-max-microamp = <3500000>;
200 ams,ext-control = <2>;
204 regulator-name = "+VDD_CORE";
205 regulator-min-microvolt = <700000>;
206 regulator-max-microvolt = <1350000>;
207 regulator-min-microamp = <2500000>;
208 regulator-max-microamp = <4000000>;
211 ams,ext-control = <1>;
215 regulator-name = "+1.35V_LP0(sd2)";
216 regulator-min-microvolt = <1350000>;
217 regulator-max-microvolt = <1350000>;
223 regulator-name = "+1.35V_LP0(sd3)";
224 regulator-min-microvolt = <1350000>;
225 regulator-max-microvolt = <1350000>;
231 regulator-name = "+1.05V_RUN";
232 regulator-min-microvolt = <1050000>;
233 regulator-max-microvolt = <1050000>;
237 regulator-name = "+1.8V_VDDIO";
238 regulator-min-microvolt = <1800000>;
239 regulator-max-microvolt = <1800000>;
244 regulator-name = "+VDD_GPU_AP";
245 regulator-min-microvolt = <650000>;
246 regulator-max-microvolt = <1200000>;
247 regulator-min-microamp = <3500000>;
248 regulator-max-microamp = <3500000>;
253 avdd_1v05_run: ldo0 {
254 regulator-name = "+1.05V_RUN_AVDD";
255 regulator-min-microvolt = <1050000>;
256 regulator-max-microvolt = <1050000>;
259 ams,ext-control = <1>;
263 regulator-name = "+1.8V_RUN_CAM";
264 regulator-min-microvolt = <1800000>;
265 regulator-max-microvolt = <1800000>;
269 regulator-name = "+1.2V_GEN_AVDD";
270 regulator-min-microvolt = <1200000>;
271 regulator-max-microvolt = <1200000>;
277 regulator-name = "+1.00V_LP0_VDD_RTC";
278 regulator-min-microvolt = <1000000>;
279 regulator-max-microvolt = <1000000>;
286 regulator-name = "+3.3V_RUN_CAM";
287 regulator-min-microvolt = <2800000>;
288 regulator-max-microvolt = <2800000>;
292 regulator-name = "+1.2V_RUN_CAM_FRONT";
293 regulator-min-microvolt = <1200000>;
294 regulator-max-microvolt = <1200000>;
298 regulator-name = "+VDDIO_SDMMC3";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <3300000>;
304 regulator-name = "+1.05V_RUN_CAM_REAR";
305 regulator-min-microvolt = <1050000>;
306 regulator-max-microvolt = <1050000>;
310 regulator-name = "+2.8V_RUN_TOUCH";
311 regulator-min-microvolt = <2800000>;
312 regulator-max-microvolt = <2800000>;
316 regulator-name = "+2.8V_RUN_CAM_AF";
317 regulator-min-microvolt = <2800000>;
318 regulator-max-microvolt = <2800000>;
322 regulator-name = "+1.8V_RUN_VPP_FUSE";
323 regulator-min-microvolt = <1800000>;
324 regulator-max-microvolt = <1800000>;
334 compatible = "google,cros-ec-spi";
335 spi-max-frequency = <3000000>;
336 interrupt-parent = <&gpio>;
337 interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
340 google,cros-ec-spi-msg-delay = <2000>;
343 compatible = "google,cros-ec-i2c-tunnel";
344 #address-cells = <1>;
347 google,remote-bus = <0>;
350 compatible = "ti,bq24735";
352 interrupt-parent = <&gpio>;
353 interrupts = <TEGRA_GPIO(J, 0)
355 ti,ac-detect-gpios = <&gpio
361 battery: sbs-battery@b {
362 compatible = "sbs,sbs-battery";
364 sbs,i2c-retry-count = <2>;
365 sbs,poll-retry-count = <10>;
366 power-supplies = <&charger>;
374 spi-max-frequency = <25000000>;
377 compatible = "winbond,w25q32dw", "jedec,spi-nor";
378 spi-max-frequency = <25000000>;
384 nvidia,invert-interrupt;
385 nvidia,suspend-mode = <0>;
386 nvidia,cpu-pwr-good-time = <500>;
387 nvidia,cpu-pwr-off-time = <300>;
388 nvidia,core-pwr-good-time = <641 3845>;
389 nvidia,core-pwr-off-time = <61036>;
390 nvidia,core-power-req-active-high;
391 nvidia,sys-clock-req-active-high;
403 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
404 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
405 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
406 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
407 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
408 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
410 avddio-pex-supply = <&vdd_1v05_run>;
411 dvddio-pex-supply = <&vdd_1v05_run>;
412 avdd-usb-supply = <&vdd_3v3_lp0>;
413 avdd-pll-utmip-supply = <&vddio_1v8>;
414 avdd-pll-erefe-supply = <&avdd_1v05_run>;
415 avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
416 hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
417 hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
425 avdd-pll-utmip-supply = <&vddio_1v8>;
426 avdd-pll-erefe-supply = <&avdd_1v05_run>;
427 avdd-pex-pll-supply = <&vdd_1v05_run>;
428 hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
436 nvidia,function = "xusb";
441 nvidia,function = "xusb";
446 nvidia,function = "xusb";
457 nvidia,function = "usb3-ss";
462 nvidia,function = "usb3-ss";
471 vbus-supply = <&vdd_usb1_vbus>;
478 vbus-supply = <&vdd_run_cam>;
484 vbus-supply = <&vdd_usb3_vbus>;
490 nvidia,usb2-companion = <0>;
495 nvidia,usb2-companion = <1>;
501 sdhci0_pwrseq: sdhci0_pwrseq {
502 compatible = "mmc-pwrseq-simple";
504 reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
507 mmc@700b0000 { /* WiFi/BT on this bus */
512 mmc-pwrseq = <&sdhci0_pwrseq>;
513 vmmc-supply = <&vdd_3v3_lp0>;
514 vqmmc-supply = <&vddio_1v8>;
515 keep-power-in-suspend;
518 mmc@700b0400 { /* SD Card on this bus */
520 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
521 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
524 vqmmc-supply = <&vddio_sdmmc3>;
527 mmc@700b0600 { /* eMMC on this bus */
537 vdd-cpu-supply = <&vdd_cpu>;
538 nvidia,i2c-fs-rate = <400000>;
547 backlight: backlight {
548 compatible = "pwm-backlight";
550 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
551 power-supply = <&vdd_led>;
552 pwms = <&pwm 1 1000000>;
554 default-brightness-level = <224>;
557 8 9 10 11 12 13 14 15
558 16 17 18 19 20 21 22 23
559 24 25 26 27 28 29 30 31
560 32 33 34 35 36 37 38 39
561 40 41 42 43 44 45 46 47
562 48 49 50 51 52 53 54 55
563 56 57 58 59 60 61 62 63
564 64 65 66 67 68 69 70 71
565 72 73 74 75 76 77 78 79
566 80 81 82 83 84 85 86 87
567 88 89 90 91 92 93 94 95
568 96 97 98 99 100 101 102 103
569 104 105 106 107 108 109 110 111
570 112 113 114 115 116 117 118 119
571 120 121 122 123 124 125 126 127
572 128 129 130 131 132 133 134 135
573 136 137 138 139 140 141 142 143
574 144 145 146 147 148 149 150 151
575 152 153 154 155 156 157 158 159
576 160 161 162 163 164 165 166 167
577 168 169 170 171 172 173 174 175
578 176 177 178 179 180 181 182 183
579 184 185 186 187 188 189 190 191
580 192 193 194 195 196 197 198 199
581 200 201 202 203 204 205 206 207
582 208 209 210 211 212 213 214 215
583 216 217 218 219 220 221 222 223
584 224 225 226 227 228 229 230 231
585 232 233 234 235 236 237 238 239
586 240 241 242 243 244 245 246 247
587 248 249 250 251 252 253 254 255
591 clk32k_in: clock-32k {
592 compatible = "fixed-clock";
593 clock-frequency = <32768>;
599 vdd-cpu-supply = <&vdd_cpu>;
604 compatible = "gpio-keys";
608 gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
609 linux,input-type = <5>;
610 linux,code = <KEY_RESERVED>;
611 debounce-interval = <1>;
617 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
618 linux,code = <KEY_POWER>;
619 debounce-interval = <30>;
624 vdd_mux: regulator-mux {
625 compatible = "regulator-fixed";
626 regulator-name = "+VDD_MUX";
627 regulator-min-microvolt = <12000000>;
628 regulator-max-microvolt = <12000000>;
633 vdd_5v0_sys: regulator-5v0sys {
634 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-3v3sys {
644 compatible = "regulator-fixed";
645 regulator-name = "+3.3V_SYS";
646 regulator-min-microvolt = <3300000>;
647 regulator-max-microvolt = <3300000>;
650 vin-supply = <&vdd_mux>;
653 vdd_3v3_run: regulator-3v3run {
654 compatible = "regulator-fixed";
655 regulator-name = "+3.3V_RUN";
656 regulator-min-microvolt = <3300000>;
657 regulator-max-microvolt = <3300000>;
660 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
662 vin-supply = <&vdd_3v3_sys>;
665 vdd_3v3_hdmi: regulator-3v3hdmi {
666 compatible = "regulator-fixed";
667 regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
668 regulator-min-microvolt = <3300000>;
669 regulator-max-microvolt = <3300000>;
670 vin-supply = <&vdd_3v3_run>;
673 vdd_led: regulator-led {
674 compatible = "regulator-fixed";
675 regulator-name = "+VDD_LED";
676 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
678 vin-supply = <&vdd_mux>;
681 vdd_5v0_ts: regulator-ts {
682 compatible = "regulator-fixed";
683 regulator-name = "+5V_VDD_TS_SW";
684 regulator-min-microvolt = <5000000>;
685 regulator-max-microvolt = <5000000>;
687 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
689 vin-supply = <&vdd_5v0_sys>;
692 vdd_usb1_vbus: regulator-usb1 {
693 compatible = "regulator-fixed";
694 regulator-name = "+5V_USB_HS";
695 regulator-min-microvolt = <5000000>;
696 regulator-max-microvolt = <5000000>;
697 gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
700 vin-supply = <&vdd_5v0_sys>;
703 vdd_usb3_vbus: regulator-usb3 {
704 compatible = "regulator-fixed";
705 regulator-name = "+5V_USB_SS";
706 regulator-min-microvolt = <5000000>;
707 regulator-max-microvolt = <5000000>;
708 gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
711 vin-supply = <&vdd_5v0_sys>;
714 vdd_3v3_panel: regulator-panel {
715 compatible = "regulator-fixed";
716 regulator-name = "+3.3V_PANEL";
717 regulator-min-microvolt = <3300000>;
718 regulator-max-microvolt = <3300000>;
719 gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
721 vin-supply = <&vdd_3v3_run>;
724 vdd_3v3_lp0: regulator-lp0 {
725 compatible = "regulator-fixed";
726 regulator-name = "+3.3V_LP0";
727 regulator-min-microvolt = <3300000>;
728 regulator-max-microvolt = <3300000>;
730 * TODO: find a way to wire this up with the USB EHCI
731 * controllers so that it can be enabled on demand.
734 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
736 vin-supply = <&vdd_3v3_sys>;
739 vdd_hdmi_pll: regulator-hdmipll {
740 compatible = "regulator-fixed";
741 regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
742 regulator-min-microvolt = <1050000>;
743 regulator-max-microvolt = <1050000>;
744 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
745 vin-supply = <&vdd_1v05_run>;
748 vdd_5v0_hdmi: regulator-hdmicon {
749 compatible = "regulator-fixed";
750 regulator-name = "+5V_HDMI_CON";
751 regulator-min-microvolt = <5000000>;
752 regulator-max-microvolt = <5000000>;
753 gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
755 vin-supply = <&vdd_5v0_sys>;
759 nvidia,audio-routing =
764 "Mic Jack", "MICBIAS",
769 nvidia,i2s-controller = <&tegra_i2s1>;
770 nvidia,audio-codec = <&acodec>;
772 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
773 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
774 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
775 clock-names = "pll_a", "pll_a_out0", "mclk";
777 assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>,
778 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
780 assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
781 <&tegra_car TEGRA124_CLK_EXTERN1>;
783 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
784 nvidia,mic-det-gpios =
785 <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
789 compatible = "gpio-restart";
790 gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
796 #cooling-cells = <2>;
800 #cooling-cells = <2>;
804 #cooling-cells = <2>;
808 #cooling-cells = <2>;
814 polling-delay-passive = <1000>; /* milliseconds */
815 polling-delay = <5000>; /* milliseconds */
817 thermal-sensors = <&tmp451 0>;
820 cpu_passive_trip: cpu-alert0 {
821 /* throttle at 70C until temperature drops to 69.8C */
822 temperature = <70000>;
830 trip = <&cpu_passive_trip>;
831 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
832 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
833 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
834 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
841 #include "cros-ec-keyboard.dtsi"