1223 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1223 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0
 | 
						|
/dts-v1/;
 | 
						|
 | 
						|
#include <dt-bindings/input/linux-event-codes.h>
 | 
						|
#include <dt-bindings/input/gpio-keys.h>
 | 
						|
#include <dt-bindings/mfd/max77620.h>
 | 
						|
 | 
						|
#include "tegra186.dtsi"
 | 
						|
 | 
						|
/ {
 | 
						|
	model = "NVIDIA Jetson TX2 NX Developer Kit";
 | 
						|
	compatible = "nvidia,p3509-0000+p3636-0001", "nvidia,tegra186";
 | 
						|
 | 
						|
	aliases {
 | 
						|
		ethernet0 = "/ethernet@2490000";
 | 
						|
		i2c0 = "/bpmp/i2c";
 | 
						|
		i2c1 = "/i2c@3160000";
 | 
						|
		i2c2 = "/i2c@c240000";
 | 
						|
		i2c3 = "/i2c@3180000";
 | 
						|
		i2c4 = "/i2c@3190000";
 | 
						|
		i2c5 = "/i2c@31c0000";
 | 
						|
		i2c6 = "/i2c@c250000";
 | 
						|
		i2c7 = "/i2c@31e0000";
 | 
						|
		mmc0 = "/mmc@3460000";
 | 
						|
		serial0 = &uarta;
 | 
						|
	};
 | 
						|
 | 
						|
	chosen {
 | 
						|
		bootargs = "earlycon console=ttyS0,115200n8";
 | 
						|
		stdout-path = "serial0:115200n8";
 | 
						|
	};
 | 
						|
 | 
						|
	memory@80000000 {
 | 
						|
		device_type = "memory";
 | 
						|
		reg = <0x0 0x80000000 0x0 0x70000000>;
 | 
						|
	};
 | 
						|
 | 
						|
	ethernet@2490000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		phy-reset-gpios = <&gpio_aon TEGRA186_AON_GPIO(AA, 6) GPIO_ACTIVE_LOW>;
 | 
						|
		phy-handle = <&phy>;
 | 
						|
		phy-mode = "rgmii-id";
 | 
						|
 | 
						|
		mdio {
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			phy: ethernet-phy@0 {
 | 
						|
				compatible = "ethernet-phy-ieee802.3-c22";
 | 
						|
				reg = <0x0>;
 | 
						|
				interrupt-parent = <&gpio_aon>;
 | 
						|
				interrupts = <TEGRA186_AON_GPIO(AA, 7) IRQ_TYPE_LEVEL_LOW>;
 | 
						|
				#phy-cells = <0>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	memory-controller@2c00000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	timer@3010000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	serial@3100000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@3160000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@3180000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		power-monitor@40 {
 | 
						|
			compatible = "ti,ina3221";
 | 
						|
			reg = <0x40>;
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			input@0 {
 | 
						|
				reg = <0>;
 | 
						|
				label = "VDD_IN";
 | 
						|
				shunt-resistor-micro-ohms = <5>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@1 {
 | 
						|
				reg = <1>;
 | 
						|
				label = "VDD_CPU_GPU";
 | 
						|
				shunt-resistor-micro-ohms = <5>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@2 {
 | 
						|
				reg = <2>;
 | 
						|
				label = "VDD_SOC";
 | 
						|
				shunt-resistor-micro-ohms = <5>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	ddc: i2c@3190000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@31c0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@31e0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	/* SDMMC4 (eMMC) */
 | 
						|
	mmc@3460000 {
 | 
						|
		status = "okay";
 | 
						|
		bus-width = <8>;
 | 
						|
		non-removable;
 | 
						|
 | 
						|
		vqmmc-supply = <&vdd_1v8_ap>;
 | 
						|
		vmmc-supply = <&vdd_3v3_sys>;
 | 
						|
	};
 | 
						|
 | 
						|
	hda@3510000 {
 | 
						|
		nvidia,model = "NVIDIA Jetson TX2 NX HDA";
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	padctl@3520000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		avdd-pll-erefeut-supply = <&vdd_1v8_pll>;
 | 
						|
		avdd-usb-supply = <&vdd_3v3_sys>;
 | 
						|
		vclamp-usb-supply = <&vdd_1v8>;
 | 
						|
		vddio-hsic-supply = <&gnd>;
 | 
						|
 | 
						|
		pads {
 | 
						|
			usb2 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				lanes {
 | 
						|
					micro_b: usb2-0 {
 | 
						|
						nvidia,function = "xusb";
 | 
						|
						status = "okay";
 | 
						|
					};
 | 
						|
 | 
						|
					usb2-1 {
 | 
						|
						nvidia,function = "xusb";
 | 
						|
						status = "okay";
 | 
						|
					};
 | 
						|
 | 
						|
					usb2-2 {
 | 
						|
						nvidia,function = "xusb";
 | 
						|
						status = "okay";
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			usb3 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				lanes {
 | 
						|
					usb3-1 {
 | 
						|
						nvidia,function = "xusb";
 | 
						|
						status = "okay";
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		ports {
 | 
						|
			usb2-0 {
 | 
						|
				status = "okay";
 | 
						|
				mode = "otg";
 | 
						|
				vbus-supply = <&vdd_5v0_sys>;
 | 
						|
				usb-role-switch;
 | 
						|
 | 
						|
				connector {
 | 
						|
					compatible = "gpio-usb-b-connector",
 | 
						|
						     "usb-b-connector";
 | 
						|
					label = "micro-USB";
 | 
						|
					type = "micro";
 | 
						|
					vbus-gpios = <&gpio
 | 
						|
						      TEGRA186_MAIN_GPIO(L, 4)
 | 
						|
						      GPIO_ACTIVE_LOW>;
 | 
						|
					id-gpios = <&pmic 0 GPIO_ACTIVE_HIGH>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			usb2-1 {
 | 
						|
				status = "okay";
 | 
						|
				mode = "host";
 | 
						|
 | 
						|
				vbus-supply = <&vdd_5v0_sys>;
 | 
						|
			};
 | 
						|
 | 
						|
			usb2-2 {
 | 
						|
				status = "okay";
 | 
						|
				mode = "host";
 | 
						|
 | 
						|
				vbus-supply = <&vdd_5v0_sys>;
 | 
						|
			};
 | 
						|
 | 
						|
			usb3-1 {
 | 
						|
				nvidia,usb2-companion = <1>;
 | 
						|
				vbus-supply = <&vdd_5v0_sys>;
 | 
						|
				status = "okay";
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	usb@3530000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
 | 
						|
		       <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
 | 
						|
		       <&{/padctl@3520000/pads/usb2/lanes/usb2-2}>,
 | 
						|
		       <&{/padctl@3520000/pads/usb3/lanes/usb3-1}>;
 | 
						|
		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-1";
 | 
						|
	};
 | 
						|
 | 
						|
	usb@3550000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		phys = <µ_b>;
 | 
						|
		phy-names = "usb2-0";
 | 
						|
	};
 | 
						|
 | 
						|
	hsp@3c00000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@c240000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@c250000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		/* module ID EEPROM */
 | 
						|
		eeprom@50 {
 | 
						|
			compatible = "atmel,24c02";
 | 
						|
			reg = <0x50>;
 | 
						|
 | 
						|
			label = "module";
 | 
						|
			vcc-supply = <&vdd_1v8>;
 | 
						|
			address-width = <8>;
 | 
						|
			pagesize = <8>;
 | 
						|
			size = <256>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
 | 
						|
		/* carrier board ID EEPROM */
 | 
						|
		eeprom@57 {
 | 
						|
			compatible = "atmel,24c02";
 | 
						|
			reg = <0x57>;
 | 
						|
 | 
						|
			label = "system";
 | 
						|
			vcc-supply = <&vdd_1v8>;
 | 
						|
			address-width = <8>;
 | 
						|
			pagesize = <8>;
 | 
						|
			size = <256>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	rtc@c2a0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	pwm@c340000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	pmc@c360000 {
 | 
						|
		nvidia,invert-interrupt;
 | 
						|
	};
 | 
						|
 | 
						|
	pcie@10003000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		dvdd-pex-supply = <&vdd_pex>;
 | 
						|
		hvdd-pex-pll-supply = <&vdd_1v8>;
 | 
						|
		hvdd-pex-supply = <&vdd_1v8>;
 | 
						|
		vddio-pexctl-aud-supply = <&vdd_1v8>;
 | 
						|
 | 
						|
		pci@1,0 {
 | 
						|
			nvidia,num-lanes = <2>;
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
 | 
						|
		pci@2,0 {
 | 
						|
			nvidia,num-lanes = <1>;
 | 
						|
			status = "disabled";
 | 
						|
		};
 | 
						|
 | 
						|
		pci@3,0 {
 | 
						|
			nvidia,num-lanes = <1>;
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	host1x@13e00000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		dpaux@15040000 {
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
 | 
						|
		display-hub@15200000 {
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
 | 
						|
		dsi@15300000 {
 | 
						|
			status = "disabled";
 | 
						|
		};
 | 
						|
 | 
						|
		/* DP */
 | 
						|
		sor@15540000 {
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
 | 
						|
			vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
 | 
						|
 | 
						|
			nvidia,dpaux = <&dpaux>;
 | 
						|
		};
 | 
						|
 | 
						|
		/* HDMI */
 | 
						|
		sor@15580000 {
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
 | 
						|
			vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
 | 
						|
			hdmi-supply = <&vdd_hdmi>;
 | 
						|
 | 
						|
			nvidia,ddc-i2c-bus = <&ddc>;
 | 
						|
			nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
 | 
						|
						 GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
 | 
						|
		dpaux@155c0000 {
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	gpu@17000000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	fan: pwm-fan {
 | 
						|
		compatible = "pwm-fan";
 | 
						|
		pwms = <&pwm4 0 45334>;
 | 
						|
 | 
						|
		cooling-levels = <0 64 128 255>;
 | 
						|
		#cooling-cells = <2>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio-keys {
 | 
						|
		compatible = "gpio-keys";
 | 
						|
 | 
						|
		key-power {
 | 
						|
			label = "Power";
 | 
						|
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
 | 
						|
					   GPIO_ACTIVE_LOW>;
 | 
						|
			linux,input-type = <EV_KEY>;
 | 
						|
			linux,code = <KEY_POWER>;
 | 
						|
			debounce-interval = <10>;
 | 
						|
			wakeup-event-action = <EV_ACT_ASSERTED>;
 | 
						|
			wakeup-source;
 | 
						|
		};
 | 
						|
 | 
						|
		key-volume-up {
 | 
						|
			label = "Volume Up";
 | 
						|
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
 | 
						|
					   GPIO_ACTIVE_LOW>;
 | 
						|
			linux,input-type = <EV_KEY>;
 | 
						|
			linux,code = <KEY_VOLUMEUP>;
 | 
						|
			debounce-interval = <10>;
 | 
						|
		};
 | 
						|
 | 
						|
		key-volume-down {
 | 
						|
			label = "Volume Down";
 | 
						|
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
 | 
						|
					   GPIO_ACTIVE_LOW>;
 | 
						|
			linux,input-type = <EV_KEY>;
 | 
						|
			linux,code = <KEY_VOLUMEDOWN>;
 | 
						|
			debounce-interval = <10>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	cpus {
 | 
						|
		cpu@0 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@1 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@2 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@3 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@4 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@5 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	bpmp {
 | 
						|
		i2c {
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			pmic: pmic@3c {
 | 
						|
				compatible = "maxim,max77620";
 | 
						|
				reg = <0x3c>;
 | 
						|
 | 
						|
				interrupt-parent = <&pmc>;
 | 
						|
				interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
 | 
						|
				#interrupt-cells = <2>;
 | 
						|
				interrupt-controller;
 | 
						|
 | 
						|
				#gpio-cells = <2>;
 | 
						|
				gpio-controller;
 | 
						|
 | 
						|
				pinctrl-names = "default";
 | 
						|
				pinctrl-0 = <&max77620_default>;
 | 
						|
 | 
						|
				max77620_default: pinmux {
 | 
						|
					gpio0 {
 | 
						|
						pins = "gpio0";
 | 
						|
						function = "gpio";
 | 
						|
					};
 | 
						|
 | 
						|
					gpio1 {
 | 
						|
						pins = "gpio1";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio2 {
 | 
						|
						pins = "gpio2";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio3 {
 | 
						|
						pins = "gpio3";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio4 {
 | 
						|
						pins = "gpio4";
 | 
						|
						function = "32k-out1";
 | 
						|
						drive-push-pull = <1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio5 {
 | 
						|
						pins = "gpio5";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <0>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio6 {
 | 
						|
						pins = "gpio6";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio7 {
 | 
						|
						pins = "gpio7";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <1>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				fps {
 | 
						|
					fps0 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
 | 
						|
					fps1 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
 | 
						|
					fps2 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				regulators {
 | 
						|
					in-sd0-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd1-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd2-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd3-supply = <&vdd_5v0_sys>;
 | 
						|
 | 
						|
					in-ldo0-1-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo2-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo3-5-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo4-6-supply = <&vdd_1v8>;
 | 
						|
					in-ldo7-8-supply = <&avdd_dsi_csi>;
 | 
						|
 | 
						|
					sd0 {
 | 
						|
						regulator-name = "VDD_DDR_1V1_PMIC";
 | 
						|
						regulator-min-microvolt = <1100000>;
 | 
						|
						regulator-max-microvolt = <1100000>;
 | 
						|
						regulator-always-on;
 | 
						|
						regulator-boot-on;
 | 
						|
					};
 | 
						|
 | 
						|
					avdd_dsi_csi: sd1 {
 | 
						|
						regulator-name = "AVDD_DSI_CSI_1V2";
 | 
						|
						regulator-min-microvolt = <1200000>;
 | 
						|
						regulator-max-microvolt = <1200000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_1v8: sd2 {
 | 
						|
						regulator-name = "VDD_1V8";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <1800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_3v3_sys: sd3 {
 | 
						|
						regulator-name = "VDD_3V3_SYS";
 | 
						|
						regulator-min-microvolt = <3300000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_1v8_pll: ldo0 {
 | 
						|
						regulator-name = "VDD_1V8_AP_PLL";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <1800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					ldo2 {
 | 
						|
						regulator-name = "VDDIO_3V3_AOHV";
 | 
						|
						regulator-min-microvolt = <3300000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
						regulator-always-on;
 | 
						|
						regulator-boot-on;
 | 
						|
					};
 | 
						|
 | 
						|
					vddio_sdmmc1: ldo3 {
 | 
						|
						regulator-name = "VDDIO_SDMMC1_AP";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
					};
 | 
						|
 | 
						|
					ldo4 {
 | 
						|
						regulator-name = "VDD_RTC";
 | 
						|
						regulator-min-microvolt = <1000000>;
 | 
						|
						regulator-max-microvolt = <1000000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vddio_sdmmc3: ldo5 {
 | 
						|
						regulator-name = "VDDIO_SDMMC3_AP";
 | 
						|
						regulator-min-microvolt = <2800000>;
 | 
						|
						regulator-max-microvolt = <2800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_hdmi_1v05: ldo7 {
 | 
						|
						regulator-name = "VDD_HDMI_1V05";
 | 
						|
						regulator-min-microvolt = <1050000>;
 | 
						|
						regulator-max-microvolt = <1050000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_pex: ldo8 {
 | 
						|
						regulator-name = "VDD_PEX_1V05";
 | 
						|
						regulator-min-microvolt = <1050000>;
 | 
						|
						regulator-max-microvolt = <1050000>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	psci {
 | 
						|
		compatible = "arm,psci-1.0";
 | 
						|
		status = "okay";
 | 
						|
		method = "smc";
 | 
						|
	};
 | 
						|
 | 
						|
	gnd: regulator-gnd {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "GND";
 | 
						|
		regulator-min-microvolt = <0>;
 | 
						|
		regulator-max-microvolt = <0>;
 | 
						|
		regulator-always-on;
 | 
						|
		regulator-boot-on;
 | 
						|
	};
 | 
						|
 | 
						|
	vdd_5v0_sys: regulator-vdd-5v0-sys {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "VDD_5V0_SYS";
 | 
						|
		regulator-min-microvolt = <5000000>;
 | 
						|
		regulator-max-microvolt = <5000000>;
 | 
						|
		regulator-always-on;
 | 
						|
		regulator-boot-on;
 | 
						|
	};
 | 
						|
 | 
						|
	vdd_1v8_ap: regulator-vdd-1v8-ap {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "VDD_1V8_AP";
 | 
						|
		regulator-min-microvolt = <1800000>;
 | 
						|
		regulator-max-microvolt = <1800000>;
 | 
						|
 | 
						|
		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
 | 
						|
		enable-active-high;
 | 
						|
 | 
						|
		vin-supply = <&vdd_1v8>;
 | 
						|
	};
 | 
						|
 | 
						|
	vdd_hdmi: regulator-vdd-hdmi {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "VDD_5V0_HDMI_CON";
 | 
						|
		regulator-min-microvolt = <5000000>;
 | 
						|
		regulator-max-microvolt = <5000000>;
 | 
						|
 | 
						|
		vin-supply = <&vdd_5v0_sys>;
 | 
						|
	};
 | 
						|
 | 
						|
	thermal-zones {
 | 
						|
		cpu-thermal {
 | 
						|
			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 = <79000>;
 | 
						|
					hysteresis = <2000>;
 | 
						|
					type = "hot";
 | 
						|
				};
 | 
						|
 | 
						|
				cpu_trip_active: active {
 | 
						|
					temperature = <62000>;
 | 
						|
					hysteresis = <2000>;
 | 
						|
					type = "active";
 | 
						|
				};
 | 
						|
 | 
						|
				cpu_trip_passive: passive {
 | 
						|
					temperature = <45000>;
 | 
						|
					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>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		aux-thermal {
 | 
						|
			polling-delay = <0>;
 | 
						|
			polling-delay-passive = <500>;
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			trips {
 | 
						|
				aux_alert0: critical {
 | 
						|
					temperature = <90000>;
 | 
						|
					hysteresis = <0>;
 | 
						|
					type = "critical";
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		gpu-thermal {
 | 
						|
			polling-delay = <0>;
 | 
						|
			polling-delay-passive = <500>;
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			trips {
 | 
						|
				gpu_alert0: critical {
 | 
						|
					temperature = <99000>;
 | 
						|
					hysteresis = <0>;
 | 
						|
					type = "critical";
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	aconnect@2900000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		dma-controller@2930000 {
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
 | 
						|
		interrupt-controller@2a40000 {
 | 
						|
			status = "okay";
 | 
						|
		};
 | 
						|
 | 
						|
		ahub@2900800 {
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			ports {
 | 
						|
				#address-cells = <1>;
 | 
						|
				#size-cells = <0>;
 | 
						|
 | 
						|
				port@0 {
 | 
						|
					reg = <0x0>;
 | 
						|
 | 
						|
					xbar_admaif0_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif0_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@1 {
 | 
						|
					reg = <0x1>;
 | 
						|
 | 
						|
					xbar_admaif1_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif1_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@2 {
 | 
						|
					reg = <0x2>;
 | 
						|
 | 
						|
					xbar_admaif2_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif2_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@3 {
 | 
						|
					reg = <0x3>;
 | 
						|
 | 
						|
					xbar_admaif3_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif3_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@4 {
 | 
						|
					reg = <0x4>;
 | 
						|
 | 
						|
					xbar_admaif4_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif4_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@5 {
 | 
						|
					reg = <0x5>;
 | 
						|
 | 
						|
					xbar_admaif5_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif5_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@6 {
 | 
						|
					reg = <0x6>;
 | 
						|
 | 
						|
					xbar_admaif6_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif6_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@7 {
 | 
						|
					reg = <0x7>;
 | 
						|
 | 
						|
					xbar_admaif7_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif7_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@8 {
 | 
						|
					reg = <0x8>;
 | 
						|
 | 
						|
					xbar_admaif8_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif8_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@9 {
 | 
						|
					reg = <0x9>;
 | 
						|
 | 
						|
					xbar_admaif9_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif9_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@a {
 | 
						|
					reg = <0xa>;
 | 
						|
 | 
						|
					xbar_admaif10_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif10_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@b {
 | 
						|
					reg = <0xb>;
 | 
						|
 | 
						|
					xbar_admaif11_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif11_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@c {
 | 
						|
					reg = <0xc>;
 | 
						|
 | 
						|
					xbar_admaif12_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif12_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@d {
 | 
						|
					reg = <0xd>;
 | 
						|
 | 
						|
					xbar_admaif13_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif13_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@e {
 | 
						|
					reg = <0xe>;
 | 
						|
 | 
						|
					xbar_admaif14_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif14_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@f {
 | 
						|
					reg = <0xf>;
 | 
						|
 | 
						|
					xbar_admaif15_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif15_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@10 {
 | 
						|
					reg = <0x10>;
 | 
						|
 | 
						|
					xbar_admaif16_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif16_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@11 {
 | 
						|
					reg = <0x11>;
 | 
						|
 | 
						|
					xbar_admaif17_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif17_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@12 {
 | 
						|
					reg = <0x12>;
 | 
						|
 | 
						|
					xbar_admaif18_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif18_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				port@13 {
 | 
						|
					reg = <0x13>;
 | 
						|
 | 
						|
					xbar_admaif19_ep: endpoint {
 | 
						|
						remote-endpoint = <&admaif19_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				xbar_i2s1_port: port@14 {
 | 
						|
					reg = <0x14>;
 | 
						|
 | 
						|
					xbar_i2s1_ep: endpoint {
 | 
						|
						remote-endpoint = <&i2s1_cif_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				xbar_i2s3_port: port@16 {
 | 
						|
					reg = <0x16>;
 | 
						|
 | 
						|
					xbar_i2s3_ep: endpoint {
 | 
						|
						remote-endpoint = <&i2s3_cif_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				xbar_dmic1_port: port@1a {
 | 
						|
					reg = <0x1a>;
 | 
						|
 | 
						|
					xbar_dmic1_ep: endpoint {
 | 
						|
						remote-endpoint = <&dmic1_cif_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				xbar_dmic2_port: port@1b {
 | 
						|
					reg = <0x1b>;
 | 
						|
 | 
						|
					xbar_dmic2_ep: endpoint {
 | 
						|
						remote-endpoint = <&dmic2_cif_ep>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			admaif@290f000 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				ports {
 | 
						|
					#address-cells = <1>;
 | 
						|
					#size-cells = <0>;
 | 
						|
 | 
						|
					admaif0_port: port@0 {
 | 
						|
						reg = <0x0>;
 | 
						|
 | 
						|
						admaif0_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif0_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif1_port: port@1 {
 | 
						|
						reg = <0x1>;
 | 
						|
 | 
						|
						admaif1_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif1_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif2_port: port@2 {
 | 
						|
						reg = <0x2>;
 | 
						|
 | 
						|
						admaif2_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif2_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif3_port: port@3 {
 | 
						|
						reg = <0x3>;
 | 
						|
 | 
						|
						admaif3_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif3_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif4_port: port@4 {
 | 
						|
						reg = <0x4>;
 | 
						|
 | 
						|
						admaif4_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif4_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif5_port: port@5 {
 | 
						|
						reg = <0x5>;
 | 
						|
 | 
						|
						admaif5_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif5_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif6_port: port@6 {
 | 
						|
						reg = <0x6>;
 | 
						|
 | 
						|
						admaif6_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif6_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif7_port: port@7 {
 | 
						|
						reg = <0x7>;
 | 
						|
 | 
						|
						admaif7_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif7_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif8_port: port@8 {
 | 
						|
						reg = <0x8>;
 | 
						|
 | 
						|
						admaif8_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif8_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif9_port: port@9 {
 | 
						|
						reg = <0x9>;
 | 
						|
 | 
						|
						admaif9_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif9_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif10_port: port@a {
 | 
						|
						reg = <0xa>;
 | 
						|
 | 
						|
						admaif10_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif10_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif11_port: port@b {
 | 
						|
						reg = <0xb>;
 | 
						|
 | 
						|
						admaif11_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif11_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif12_port: port@c {
 | 
						|
						reg = <0xc>;
 | 
						|
 | 
						|
						admaif12_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif12_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif13_port: port@d {
 | 
						|
						reg = <0xd>;
 | 
						|
 | 
						|
						admaif13_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif13_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif14_port: port@e {
 | 
						|
						reg = <0xe>;
 | 
						|
 | 
						|
						admaif14_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif14_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif15_port: port@f {
 | 
						|
						reg = <0xf>;
 | 
						|
 | 
						|
						admaif15_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif15_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif16_port: port@10 {
 | 
						|
						reg = <0x10>;
 | 
						|
 | 
						|
						admaif16_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif16_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif17_port: port@11 {
 | 
						|
						reg = <0x11>;
 | 
						|
 | 
						|
						admaif17_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif17_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif18_port: port@12 {
 | 
						|
						reg = <0x12>;
 | 
						|
 | 
						|
						admaif18_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif18_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					admaif19_port: port@13 {
 | 
						|
						reg = <0x13>;
 | 
						|
 | 
						|
						admaif19_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_admaif19_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			i2s@2901000 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				ports {
 | 
						|
					#address-cells = <1>;
 | 
						|
					#size-cells = <0>;
 | 
						|
 | 
						|
					port@0 {
 | 
						|
						reg = <0>;
 | 
						|
 | 
						|
						i2s1_cif_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_i2s1_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					i2s1_port: port@1 {
 | 
						|
						reg = <1>;
 | 
						|
 | 
						|
						i2s1_dap_ep: endpoint {
 | 
						|
							dai-format = "i2s";
 | 
						|
							/* Placeholder for external Codec */
 | 
						|
						};
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			i2s@2901200 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				ports {
 | 
						|
					#address-cells = <1>;
 | 
						|
					#size-cells = <0>;
 | 
						|
 | 
						|
					port@0 {
 | 
						|
						reg = <0>;
 | 
						|
 | 
						|
						i2s3_cif_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_i2s3_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					i2s3_port: port@1 {
 | 
						|
						reg = <1>;
 | 
						|
 | 
						|
						i2s3_dap_ep: endpoint {
 | 
						|
							dai-format = "i2s";
 | 
						|
							/* Placeholder for external Codec */
 | 
						|
						};
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			dmic@2904000 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				ports {
 | 
						|
					#address-cells = <1>;
 | 
						|
					#size-cells = <0>;
 | 
						|
 | 
						|
					port@0 {
 | 
						|
						reg = <0>;
 | 
						|
 | 
						|
						dmic1_cif_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_dmic1_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					dmic1_port: port@1 {
 | 
						|
						reg = <1>;
 | 
						|
 | 
						|
						dmic1_dap_ep: endpoint {
 | 
						|
							/* Place holder for external Codec */
 | 
						|
						};
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
 | 
						|
			dmic@2904100 {
 | 
						|
				status = "okay";
 | 
						|
 | 
						|
				ports {
 | 
						|
					#address-cells = <1>;
 | 
						|
					#size-cells = <0>;
 | 
						|
 | 
						|
					port@0 {
 | 
						|
						reg = <0>;
 | 
						|
 | 
						|
						dmic2_cif_ep: endpoint {
 | 
						|
							remote-endpoint = <&xbar_dmic2_ep>;
 | 
						|
						};
 | 
						|
					};
 | 
						|
 | 
						|
					dmic2_port: port@1 {
 | 
						|
						reg = <1>;
 | 
						|
 | 
						|
						dmic2_dap_ep: endpoint {
 | 
						|
							/* Place holder for external Codec */
 | 
						|
						};
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	sound {
 | 
						|
		compatible = "nvidia,tegra186-audio-graph-card";
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		dais = /* FE */
 | 
						|
		       <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
 | 
						|
		       <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
 | 
						|
		       <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
 | 
						|
		       <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
 | 
						|
		       <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
 | 
						|
		       /* Router */
 | 
						|
		       <&xbar_i2s1_port>, <&xbar_i2s3_port>,
 | 
						|
		       <&xbar_dmic1_port>, <&xbar_dmic2_port>,
 | 
						|
		       /* I/O */
 | 
						|
		       <&i2s1_port>, <&i2s3_port>,
 | 
						|
		       <&dmic1_port>, <&dmic2_port>;
 | 
						|
 | 
						|
		label = "NVIDIA Jetson TX2 NX APE";
 | 
						|
	};
 | 
						|
};
 |