11cab0a51SJon Hunter// SPDX-License-Identifier: GPL-2.0
21cab0a51SJon Hunter
31cab0a51SJon Hunter#include <dt-bindings/input/linux-event-codes.h>
41cab0a51SJon Hunter#include <dt-bindings/input/gpio-keys.h>
51cab0a51SJon Hunter
61cab0a51SJon Hunter/ {
71cab0a51SJon Hunter	bus@0 {
81cab0a51SJon Hunter		aconnect@2900000 {
91cab0a51SJon Hunter			status = "okay";
101cab0a51SJon Hunter
111cab0a51SJon Hunter			dma-controller@2930000 {
121cab0a51SJon Hunter				status = "okay";
131cab0a51SJon Hunter			};
141cab0a51SJon Hunter
151cab0a51SJon Hunter			interrupt-controller@2a40000 {
161cab0a51SJon Hunter				status = "okay";
171cab0a51SJon Hunter			};
181cab0a51SJon Hunter		};
191cab0a51SJon Hunter
201cab0a51SJon Hunter		ddc: i2c@3190000 {
211cab0a51SJon Hunter			status = "okay";
221cab0a51SJon Hunter		};
231cab0a51SJon Hunter
241cab0a51SJon Hunter		i2c@3160000 {
251cab0a51SJon Hunter			eeprom@57 {
261cab0a51SJon Hunter				compatible = "atmel,24c02";
271cab0a51SJon Hunter				reg = <0x57>;
281cab0a51SJon Hunter
291cab0a51SJon Hunter				label = "system";
301cab0a51SJon Hunter				vcc-supply = <&vdd_1v8>;
311cab0a51SJon Hunter				address-width = <8>;
321cab0a51SJon Hunter				pagesize = <8>;
331cab0a51SJon Hunter				size = <256>;
341cab0a51SJon Hunter				read-only;
351cab0a51SJon Hunter			};
361cab0a51SJon Hunter		};
371cab0a51SJon Hunter
381cab0a51SJon Hunter		hda@3510000 {
39*b8928c2bSThierry Reding			nvidia,model = "NVIDIA Jetson Xavier NX HDA";
401cab0a51SJon Hunter			status = "okay";
411cab0a51SJon Hunter		};
421cab0a51SJon Hunter
431cab0a51SJon Hunter		padctl@3520000 {
441cab0a51SJon Hunter			status = "okay";
451cab0a51SJon Hunter
461cab0a51SJon Hunter			pads {
471cab0a51SJon Hunter				usb2 {
481cab0a51SJon Hunter					lanes {
491cab0a51SJon Hunter						usb2-1 {
501cab0a51SJon Hunter							status = "okay";
511cab0a51SJon Hunter						};
521cab0a51SJon Hunter
531cab0a51SJon Hunter						usb2-2 {
541cab0a51SJon Hunter							status = "okay";
551cab0a51SJon Hunter						};
561cab0a51SJon Hunter					};
571cab0a51SJon Hunter				};
581cab0a51SJon Hunter
591cab0a51SJon Hunter				usb3 {
601cab0a51SJon Hunter					lanes {
611cab0a51SJon Hunter						usb3-2 {
621cab0a51SJon Hunter							status = "okay";
631cab0a51SJon Hunter						};
641cab0a51SJon Hunter					};
651cab0a51SJon Hunter				};
661cab0a51SJon Hunter			};
671cab0a51SJon Hunter
681cab0a51SJon Hunter			ports {
691cab0a51SJon Hunter				usb2-1 {
701cab0a51SJon Hunter					mode = "host";
711cab0a51SJon Hunter					status = "okay";
721cab0a51SJon Hunter				};
731cab0a51SJon Hunter
741cab0a51SJon Hunter				usb2-2 {
751cab0a51SJon Hunter					mode = "host";
761cab0a51SJon Hunter					vbus-supply = <&vdd_5v0_sys>;
771cab0a51SJon Hunter					status = "okay";
781cab0a51SJon Hunter				};
791cab0a51SJon Hunter
801cab0a51SJon Hunter				usb3-2 {
811cab0a51SJon Hunter					nvidia,usb2-companion = <1>;
821cab0a51SJon Hunter					vbus-supply = <&vdd_5v0_sys>;
831cab0a51SJon Hunter					status = "okay";
841cab0a51SJon Hunter				};
851cab0a51SJon Hunter			};
861cab0a51SJon Hunter		};
871cab0a51SJon Hunter
881cab0a51SJon Hunter		usb@3610000 {
891cab0a51SJon Hunter			status = "okay";
901cab0a51SJon Hunter
911cab0a51SJon Hunter			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
921cab0a51SJon Hunter				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
931cab0a51SJon Hunter				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
941cab0a51SJon Hunter			phy-names = "usb2-1", "usb2-2", "usb3-2";
951cab0a51SJon Hunter		};
961cab0a51SJon Hunter
971cab0a51SJon Hunter		spi@3270000 {
981cab0a51SJon Hunter			status = "okay";
991cab0a51SJon Hunter
1001cab0a51SJon Hunter			flash@0 {
1011cab0a51SJon Hunter				compatible = "spi-nor";
1021cab0a51SJon Hunter				reg = <0>;
1031cab0a51SJon Hunter				spi-max-frequency = <102000000>;
1041cab0a51SJon Hunter				spi-tx-bus-width = <4>;
1051cab0a51SJon Hunter				spi-rx-bus-width = <4>;
1061cab0a51SJon Hunter			};
1071cab0a51SJon Hunter		};
1081cab0a51SJon Hunter
1091cab0a51SJon Hunter		pwm@32d0000 {
1101cab0a51SJon Hunter			status = "okay";
1111cab0a51SJon Hunter		};
1121cab0a51SJon Hunter
1131cab0a51SJon Hunter		host1x@13e00000 {
1141cab0a51SJon Hunter			display-hub@15200000 {
1151cab0a51SJon Hunter				status = "okay";
1161cab0a51SJon Hunter			};
1171cab0a51SJon Hunter
1181cab0a51SJon Hunter			dpaux@155c0000 {
1191cab0a51SJon Hunter				status = "okay";
1201cab0a51SJon Hunter			};
1211cab0a51SJon Hunter
1221cab0a51SJon Hunter			dpaux@155d0000 {
1231cab0a51SJon Hunter				status = "okay";
1241cab0a51SJon Hunter			};
1251cab0a51SJon Hunter
1261cab0a51SJon Hunter			/* DP0 */
1271cab0a51SJon Hunter			sor@15b00000 {
1281cab0a51SJon Hunter				status = "okay";
1291cab0a51SJon Hunter
1301cab0a51SJon Hunter				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
1311cab0a51SJon Hunter				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
1321cab0a51SJon Hunter
1331cab0a51SJon Hunter				nvidia,dpaux = <&dpaux0>;
1341cab0a51SJon Hunter			};
1351cab0a51SJon Hunter
1361cab0a51SJon Hunter			/* HDMI */
1371cab0a51SJon Hunter			sor@15b40000 {
1381cab0a51SJon Hunter				status = "okay";
1391cab0a51SJon Hunter
1401cab0a51SJon Hunter				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
1411cab0a51SJon Hunter				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
1421cab0a51SJon Hunter				hdmi-supply = <&vdd_hdmi>;
1431cab0a51SJon Hunter
1441cab0a51SJon Hunter				nvidia,ddc-i2c-bus = <&ddc>;
1451cab0a51SJon Hunter				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 1)
1461cab0a51SJon Hunter							 GPIO_ACTIVE_LOW>;
1471cab0a51SJon Hunter			};
1481cab0a51SJon Hunter		};
1491cab0a51SJon Hunter	};
1501cab0a51SJon Hunter
1511cab0a51SJon Hunter	pcie@14160000 {
1521cab0a51SJon Hunter		status = "okay";
1531cab0a51SJon Hunter
1541cab0a51SJon Hunter		vddio-pex-ctl-supply = <&vdd_1v8ao>;
1551cab0a51SJon Hunter
1561cab0a51SJon Hunter		phys = <&p2u_hsio_11>;
1571cab0a51SJon Hunter		phy-names = "p2u-0";
1581cab0a51SJon Hunter	};
1591cab0a51SJon Hunter
1601cab0a51SJon Hunter	pcie@141a0000 {
1611cab0a51SJon Hunter		status = "okay";
1621cab0a51SJon Hunter
1631cab0a51SJon Hunter		vddio-pex-ctl-supply = <&vdd_1v8ao>;
1641cab0a51SJon Hunter
1651cab0a51SJon Hunter		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
1661cab0a51SJon Hunter		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
1671cab0a51SJon Hunter		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
1681cab0a51SJon Hunter
1691cab0a51SJon Hunter		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
1701cab0a51SJon Hunter			    "p2u-5", "p2u-6", "p2u-7";
1711cab0a51SJon Hunter	};
1721cab0a51SJon Hunter
1731cab0a51SJon Hunter	pcie_ep@141a0000 {
1741cab0a51SJon Hunter		status = "disabled";
1751cab0a51SJon Hunter
1761cab0a51SJon Hunter		vddio-pex-ctl-supply = <&vdd_1v8ao>;
1771cab0a51SJon Hunter
1781cab0a51SJon Hunter		reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
1791cab0a51SJon Hunter
1801cab0a51SJon Hunter		nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
1811cab0a51SJon Hunter					      GPIO_ACTIVE_HIGH>;
1821cab0a51SJon Hunter
1831cab0a51SJon Hunter		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
1841cab0a51SJon Hunter		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
1851cab0a51SJon Hunter		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
1861cab0a51SJon Hunter
1871cab0a51SJon Hunter		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
1881cab0a51SJon Hunter			    "p2u-5", "p2u-6", "p2u-7";
1891cab0a51SJon Hunter	};
1901cab0a51SJon Hunter
1911cab0a51SJon Hunter	fan: fan {
1921cab0a51SJon Hunter		compatible = "pwm-fan";
1931cab0a51SJon Hunter		pwms = <&pwm6 0 45334>;
1941cab0a51SJon Hunter
1951cab0a51SJon Hunter		cooling-levels = <0 64 128 255>;
1961cab0a51SJon Hunter		#cooling-cells = <2>;
1971cab0a51SJon Hunter	};
1981cab0a51SJon Hunter
1991cab0a51SJon Hunter	gpio-keys {
2001cab0a51SJon Hunter		compatible = "gpio-keys";
2011cab0a51SJon Hunter
2021cab0a51SJon Hunter		force-recovery {
2031cab0a51SJon Hunter			label = "Force Recovery";
2041cab0a51SJon Hunter			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
2051cab0a51SJon Hunter				       GPIO_ACTIVE_LOW>;
2061cab0a51SJon Hunter			linux,input-type = <EV_KEY>;
2071cab0a51SJon Hunter			linux,code = <KEY_SLEEP>;
2081cab0a51SJon Hunter			debounce-interval = <10>;
2091cab0a51SJon Hunter		};
2101cab0a51SJon Hunter
2111cab0a51SJon Hunter		power {
2121cab0a51SJon Hunter			label = "Power";
2131cab0a51SJon Hunter			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
2141cab0a51SJon Hunter					   GPIO_ACTIVE_LOW>;
2151cab0a51SJon Hunter			linux,input-type = <EV_KEY>;
2161cab0a51SJon Hunter			linux,code = <KEY_POWER>;
2171cab0a51SJon Hunter			debounce-interval = <10>;
2181cab0a51SJon Hunter			wakeup-event-action = <EV_ACT_ASSERTED>;
2191cab0a51SJon Hunter			wakeup-source;
2201cab0a51SJon Hunter		};
2211cab0a51SJon Hunter	};
2221cab0a51SJon Hunter
2231cab0a51SJon Hunter	vdd_5v0_sys: regulator@100 {
2241cab0a51SJon Hunter		compatible = "regulator-fixed";
2251cab0a51SJon Hunter		regulator-name = "VDD_5V_SYS";
2261cab0a51SJon Hunter		regulator-min-microvolt = <5000000>;
2271cab0a51SJon Hunter		regulator-max-microvolt = <5000000>;
2281cab0a51SJon Hunter		regulator-always-on;
2291cab0a51SJon Hunter		regulator-boot-on;
2301cab0a51SJon Hunter	};
2311cab0a51SJon Hunter
2321cab0a51SJon Hunter	vdd_3v3_sys: regulator@101 {
2331cab0a51SJon Hunter		compatible = "regulator-fixed";
2341cab0a51SJon Hunter		regulator-name = "VDD_3V3_SYS";
2351cab0a51SJon Hunter		regulator-min-microvolt = <3300000>;
2361cab0a51SJon Hunter		regulator-max-microvolt = <3300000>;
2371cab0a51SJon Hunter		regulator-always-on;
2381cab0a51SJon Hunter		regulator-boot-on;
2391cab0a51SJon Hunter	};
2401cab0a51SJon Hunter
2411cab0a51SJon Hunter	vdd_3v3_ao: regulator@102 {
2421cab0a51SJon Hunter		compatible = "regulator-fixed";
2431cab0a51SJon Hunter		regulator-name = "VDD_3V3_AO";
2441cab0a51SJon Hunter		regulator-min-microvolt = <3300000>;
2451cab0a51SJon Hunter		regulator-max-microvolt = <3300000>;
2461cab0a51SJon Hunter		regulator-always-on;
2471cab0a51SJon Hunter		regulator-boot-on;
2481cab0a51SJon Hunter	};
2491cab0a51SJon Hunter
2501cab0a51SJon Hunter	vdd_1v8: regulator@103 {
2511cab0a51SJon Hunter		compatible = "regulator-fixed";
2521cab0a51SJon Hunter		regulator-name = "VDD_1V8";
2531cab0a51SJon Hunter		regulator-min-microvolt = <1800000>;
2541cab0a51SJon Hunter		regulator-max-microvolt = <1800000>;
2551cab0a51SJon Hunter		regulator-always-on;
2561cab0a51SJon Hunter		regulator-boot-on;
2571cab0a51SJon Hunter	};
2581cab0a51SJon Hunter
2591cab0a51SJon Hunter	vdd_hdmi: regulator@104 {
2601cab0a51SJon Hunter		compatible = "regulator-fixed";
2611cab0a51SJon Hunter		regulator-name = "VDD_5V0_HDMI_CON";
2621cab0a51SJon Hunter		regulator-min-microvolt = <5000000>;
2631cab0a51SJon Hunter		regulator-max-microvolt = <5000000>;
2641cab0a51SJon Hunter		regulator-always-on;
2651cab0a51SJon Hunter		regulator-boot-on;
2661cab0a51SJon Hunter	};
2671cab0a51SJon Hunter
2681cab0a51SJon Hunter	thermal-zones {
2691cab0a51SJon Hunter		cpu {
2701cab0a51SJon Hunter			polling-delay = <0>;
2711cab0a51SJon Hunter			polling-delay-passive = <500>;
2721cab0a51SJon Hunter			status = "okay";
2731cab0a51SJon Hunter
2741cab0a51SJon Hunter			trips {
2751cab0a51SJon Hunter				cpu_trip_critical: critical {
2761cab0a51SJon Hunter					temperature = <96500>;
2771cab0a51SJon Hunter					hysteresis = <0>;
2781cab0a51SJon Hunter					type = "critical";
2791cab0a51SJon Hunter				};
2801cab0a51SJon Hunter
2811cab0a51SJon Hunter				cpu_trip_hot: hot {
2821cab0a51SJon Hunter					temperature = <70000>;
2831cab0a51SJon Hunter					hysteresis = <2000>;
2841cab0a51SJon Hunter					type = "hot";
2851cab0a51SJon Hunter				};
2861cab0a51SJon Hunter
2871cab0a51SJon Hunter				cpu_trip_active: active {
2881cab0a51SJon Hunter					temperature = <50000>;
2891cab0a51SJon Hunter					hysteresis = <2000>;
2901cab0a51SJon Hunter					type = "active";
2911cab0a51SJon Hunter				};
2921cab0a51SJon Hunter
2931cab0a51SJon Hunter				cpu_trip_passive: passive {
2941cab0a51SJon Hunter					temperature = <30000>;
2951cab0a51SJon Hunter					hysteresis = <2000>;
2961cab0a51SJon Hunter					type = "passive";
2971cab0a51SJon Hunter				};
2981cab0a51SJon Hunter			};
2991cab0a51SJon Hunter
3001cab0a51SJon Hunter			cooling-maps {
3011cab0a51SJon Hunter				cpu-critical {
3021cab0a51SJon Hunter					cooling-device = <&fan 3 3>;
3031cab0a51SJon Hunter					trip = <&cpu_trip_critical>;
3041cab0a51SJon Hunter				};
3051cab0a51SJon Hunter
3061cab0a51SJon Hunter				cpu-hot {
3071cab0a51SJon Hunter					cooling-device = <&fan 2 2>;
3081cab0a51SJon Hunter					trip = <&cpu_trip_hot>;
3091cab0a51SJon Hunter				};
3101cab0a51SJon Hunter
3111cab0a51SJon Hunter				cpu-active {
3121cab0a51SJon Hunter					cooling-device = <&fan 1 1>;
3131cab0a51SJon Hunter					trip = <&cpu_trip_active>;
3141cab0a51SJon Hunter				};
3151cab0a51SJon Hunter
3161cab0a51SJon Hunter				cpu-passive {
3171cab0a51SJon Hunter					cooling-device = <&fan 0 0>;
3181cab0a51SJon Hunter					trip = <&cpu_trip_passive>;
3191cab0a51SJon Hunter				};
3201cab0a51SJon Hunter			};
3211cab0a51SJon Hunter		};
3221cab0a51SJon Hunter
3231cab0a51SJon Hunter		gpu {
3241cab0a51SJon Hunter			polling-delay = <0>;
3251cab0a51SJon Hunter			polling-delay-passive = <500>;
3261cab0a51SJon Hunter			status = "okay";
3271cab0a51SJon Hunter
3281cab0a51SJon Hunter			trips {
3291cab0a51SJon Hunter				gpu_alert0: critical {
3301cab0a51SJon Hunter					temperature = <99000>;
3311cab0a51SJon Hunter					hysteresis = <0>;
3321cab0a51SJon Hunter					type = "critical";
3331cab0a51SJon Hunter				};
3341cab0a51SJon Hunter			};
3351cab0a51SJon Hunter		};
3361cab0a51SJon Hunter
3371cab0a51SJon Hunter		aux {
3381cab0a51SJon Hunter			polling-delay = <0>;
3391cab0a51SJon Hunter			polling-delay-passive = <500>;
3401cab0a51SJon Hunter			status = "okay";
3411cab0a51SJon Hunter
3421cab0a51SJon Hunter			trips {
3431cab0a51SJon Hunter				aux_alert0: critical {
3441cab0a51SJon Hunter					temperature = <90000>;
3451cab0a51SJon Hunter					hysteresis = <0>;
3461cab0a51SJon Hunter					type = "critical";
3471cab0a51SJon Hunter				};
3481cab0a51SJon Hunter			};
3491cab0a51SJon Hunter		};
3501cab0a51SJon Hunter	};
3511cab0a51SJon Hunter};
352