Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/input/gpio-keys.h>

#include "tegra194-p3668-0000.dtsi"

/ {
	model = "NVIDIA Jetson Xavier NX Developer Kit";
	compatible = "nvidia,p3509-0000+p3668-0000", "nvidia,tegra194";

	bus@0 {
		aconnect@2900000 {
			status = "okay";

			dma-controller@2930000 {
				status = "okay";
			};

			interrupt-controller@2a40000 {
				status = "okay";
			};
		};

		ddc: i2c@3190000 {
			status = "okay";
		};

		i2c@3160000 {
			eeprom@57 {
				compatible = "atmel,24c02";
				reg = <0x57>;

				label = "system";
				vcc-supply = <&vdd_1v8>;
				address-width = <8>;
				pagesize = <8>;
				size = <256>;
				read-only;
			};
		};

		hda@3510000 {
			nvidia,model = "jetson-xavier-nx-hda";
			status = "okay";
		};

		padctl@3520000 {
			status = "okay";

			pads {
				usb2 {
					lanes {
						usb2-1 {
							status = "okay";
						};

						usb2-2 {
							status = "okay";
						};
					};
				};

				usb3 {
					lanes {
						usb3-2 {
							status = "okay";
						};
					};
				};
			};

			ports {
				usb2-1 {
					mode = "host";
					status = "okay";
				};

				usb2-2 {
					mode = "host";
					vbus-supply = <&vdd_5v0_sys>;
					status = "okay";
				};

				usb3-2 {
					nvidia,usb2-companion = <1>;
					vbus-supply = <&vdd_5v0_sys>;
					status = "okay";
				};
			};
		};

		usb@3610000 {
			status = "okay";

			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
			phy-names = "usb2-1", "usb2-2", "usb3-2";
		};

		pwm@32d0000 {
			status = "okay";
		};

		host1x@13e00000 {
			display-hub@15200000 {
				status = "okay";
			};

			dpaux@155c0000 {
				status = "okay";
			};

			dpaux@155d0000 {
				status = "okay";
			};

			/* DP0 */
			sor@15b00000 {
				status = "okay";

				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;

				nvidia,dpaux = <&dpaux0>;
			};

			/* HDMI */
			sor@15b40000 {
				status = "okay";

				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
				hdmi-supply = <&vdd_hdmi>;

				nvidia,ddc-i2c-bus = <&ddc>;
				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 1)
							 GPIO_ACTIVE_LOW>;
			};
		};
	};

	pcie@14160000 {
		status = "okay";

		vddio-pex-ctl-supply = <&vdd_1v8ao>;

		phys = <&p2u_hsio_11>;
		phy-names = "p2u-0";
	};

	pcie@141a0000 {
		status = "okay";

		vddio-pex-ctl-supply = <&vdd_1v8ao>;

		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;

		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
			    "p2u-5", "p2u-6", "p2u-7";
	};

	pcie_ep@141a0000 {
		status = "disabled";

		vddio-pex-ctl-supply = <&vdd_1v8ao>;

		reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;

		nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
					      GPIO_ACTIVE_HIGH>;

		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;

		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
			    "p2u-5", "p2u-6", "p2u-7";
	};

	fan: fan {
		compatible = "pwm-fan";
		pwms = <&pwm6 0 45334>;

		cooling-levels = <0 64 128 255>;
		#cooling-cells = <2>;
	};

	gpio-keys {
		compatible = "gpio-keys";

		force-recovery {
			label = "Force Recovery";
			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
				       GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_SLEEP>;
			debounce-interval = <10>;
		};

		power {
			label = "Power";
			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
					   GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_POWER>;
			debounce-interval = <10>;
			wakeup-event-action = <EV_ACT_ASSERTED>;
			wakeup-source;
		};
	};

	vdd_5v0_sys: regulator@100 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_5V_SYS";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_3v3_sys: regulator@101 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_3V3_SYS";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_3v3_ao: regulator@102 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_3V3_AO";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_1v8: regulator@103 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_hdmi: regulator@104 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_5V0_HDMI_CON";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	thermal-zones {
		cpu {
			polling-delay = <0>;
			polling-delay-passive = <500>;
			status = "okay";

			trips {
				cpu_trip_critical: critical {
					temperature = <96500>;
					hysteresis = <0>;
					type = "critical";
				};

				cpu_trip_hot: hot {
					temperature = <70000>;
					hysteresis = <2000>;
					type = "hot";
				};

				cpu_trip_active: active {
					temperature = <50000>;
					hysteresis = <2000>;
					type = "active";
				};

				cpu_trip_passive: passive {
					temperature = <30000>;
					hysteresis = <2000>;
					type = "passive";
				};
			};

			cooling-maps {
				cpu-critical {
					cooling-device = <&fan 3 3>;
					trip = <&cpu_trip_critical>;
				};

				cpu-hot {
					cooling-device = <&fan 2 2>;
					trip = <&cpu_trip_hot>;
				};

				cpu-active {
					cooling-device = <&fan 1 1>;
					trip = <&cpu_trip_active>;
				};

				cpu-passive {
					cooling-device = <&fan 0 0>;
					trip = <&cpu_trip_passive>;
				};
			};
		};

		gpu {
			polling-delay = <0>;
			polling-delay-passive = <500>;
			status = "okay";

			trips {
				gpu_alert0: critical {
					temperature = <99000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};

		aux {
			polling-delay = <0>;
			polling-delay-passive = <500>;
			status = "okay";

			trips {
				aux_alert0: critical {
					temperature = <90000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
};