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

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

#include "tegra210.dtsi"

/ {
	model = "NVIDIA Jetson Nano Developer Kit";
	compatible = "nvidia,p3450-0000", "nvidia,tegra210";

	aliases {
		ethernet = "/pcie@1003000/pci@2,0/ethernet@0,0";
		rtc0 = "/i2c@7000d000/pmic@3c";
		rtc1 = "/rtc@7000e000";
		serial0 = &uarta;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x1 0x0>;
	};

	pcie@1003000 {
		status = "okay";

		hvddio-pex-supply = <&vdd_1v8>;
		dvddio-pex-supply = <&vdd_pex_1v05>;
		vddio-pex-ctl-supply = <&vdd_1v8>;

		pci@1,0 {
			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
			phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3";
			nvidia,num-lanes = <4>;
			status = "okay";
		};

		pci@2,0 {
			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
			phy-names = "pcie-0";
			status = "okay";

			ethernet@0,0 {
				reg = <0x000000 0 0 0 0>;
				local-mac-address = [ 00 00 00 00 00 00 ];
			};
		};
	};

	host1x@50000000 {
		dpaux@54040000 {
			status = "okay";
		};

		vi@54080000 {
			status = "okay";

			avdd-dsi-csi-supply = <&vdd_sys_1v2>;

			csi@838 {
				status = "okay";
			};
		};

		sor@54540000 {
			status = "okay";

			avdd-io-hdmi-dp-supply = <&avdd_io_edp_1v05>;
			vdd-hdmi-dp-pll-supply = <&vdd_1v8>;

			nvidia,xbar-cfg = <2 1 0 3 4>;
			nvidia,dpaux = <&dpaux>;
		};

		sor@54580000 {
			status = "okay";

			avdd-io-hdmi-dp-supply = <&avdd_1v05>;
			vdd-hdmi-dp-pll-supply = <&vdd_1v8>;
			hdmi-supply = <&vdd_hdmi>;

			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1)
					   GPIO_ACTIVE_LOW>;
			nvidia,xbar-cfg = <0 1 2 3 4>;
		};

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

		i2c@546c0000 {
			status = "okay";
		};
	};

	gpu@57000000 {
		vdd-supply = <&vdd_gpu>;
		status = "okay";
	};

	pinmux@700008d4 {
		dvfs_pwm_active_state: pinmux-dvfs-pwm-active {
			dvfs_pwm_pbb1 {
				nvidia,pins = "dvfs_pwm_pbb1";
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
		};

		dvfs_pwm_inactive_state: pinmux-dvfs-pwm-inactive {
			dvfs_pwm_pbb1 {
				nvidia,pins = "dvfs_pwm_pbb1";
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	/* debug port */
	serial@70006000 {
		/delete-property/ dmas;
		/delete-property/ dma-names;
		status = "okay";
	};

	pwm@7000a000 {
		status = "okay";
	};

	i2c@7000c500 {
		status = "okay";
		clock-frequency = <100000>;

		eeprom@50 {
			compatible = "atmel,24c02";
			reg = <0x50>;

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

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

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

	hdmi_ddc: i2c@7000c700 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000d000 {
		status = "okay";
		clock-frequency = <400000>;

		pmic: pmic@3c {
			compatible = "maxim,max77620";
			reg = <0x3c>;
			interrupt-parent = <&tegra_pmc>;
			interrupts = <51 IRQ_TYPE_LEVEL_LOW>;

			#interrupt-cells = <2>;
			interrupt-controller;

			#gpio-cells = <2>;
			gpio-controller;

			pinctrl-names = "default";
			pinctrl-0 = <&max77620_default>;

			fps {
				fps0 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
					maxim,suspend-fps-time-period-us = <5120>;
				};

				fps1 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
					maxim,suspend-fps-time-period-us = <5120>;
				};

				fps2 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
				};
			};

			max77620_default: pinmux {
				gpio0 {
					pins = "gpio0";
					function = "gpio";
				};

				gpio1 {
					pins = "gpio1";
					function = "fps-out";
					drive-push-pull = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				gpio2 {
					pins = "gpio2";
					function = "fps-out";
					drive-open-drain = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				gpio3 {
					pins = "gpio3";
					function = "fps-out";
					drive-open-drain = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <4>;
					maxim,active-fps-power-down-slot = <3>;
				};

				gpio4 {
					pins = "gpio4";
					function = "32k-out1";
				};

				gpio5_6_7 {
					pins = "gpio5", "gpio6", "gpio7";
					function = "gpio";
					drive-push-pull = <1>;
				};
			};

			regulators {
				in-ldo0-1-supply = <&vdd_pre>;
				in-ldo2-supply = <&vdd_3v3_sys>;
				in-ldo3-5-supply = <&vdd_1v8>;
				in-ldo4-6-supply = <&vdd_5v0_sys>;
				in-ldo7-8-supply = <&vdd_pre>;
				in-sd0-supply = <&vdd_5v0_sys>;
				in-sd1-supply = <&vdd_5v0_sys>;
				in-sd2-supply = <&vdd_5v0_sys>;
				in-sd3-supply = <&vdd_5v0_sys>;

				vdd_soc: sd0 {
					regulator-name = "VDD_SOC";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1170000>;
					regulator-enable-ramp-delay = <146>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <300>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <1>;
					maxim,active-fps-power-down-slot = <6>;
				};

				vdd_ddr: sd1 {
					regulator-name = "VDD_DDR_1V1_PMIC";
					regulator-min-microvolt = <1150000>;
					regulator-max-microvolt = <1150000>;
					regulator-enable-ramp-delay = <176>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <300>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <5>;
					maxim,active-fps-power-down-slot = <2>;
				};

				vdd_pre: sd2 {
					regulator-name = "VDD_PRE_REG_1V35";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-enable-ramp-delay = <176>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <350>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <2>;
					maxim,active-fps-power-down-slot = <5>;
				};

				vdd_1v8: sd3 {
					regulator-name = "VDD_1V8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-enable-ramp-delay = <242>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <360>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <3>;
					maxim,active-fps-power-down-slot = <4>;
				};

				vdd_sys_1v2: ldo0 {
					regulator-name = "AVDD_SYS_1V2";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-enable-ramp-delay = <26>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				vdd_pex_1v05: ldo1 {
					regulator-name = "VDD_PEX_1V05";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <22>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				vddio_sdmmc: ldo2 {
					regulator-name = "VDDIO_SDMMC";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <3300000>;
					regulator-enable-ramp-delay = <62>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				ldo3 {
					status = "disabled";
				};

				vdd_rtc: ldo4 {
					regulator-name = "VDD_RTC";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1100000>;
					regulator-enable-ramp-delay = <22>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;
					regulator-disable-active-discharge;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <1>;
					maxim,active-fps-power-down-slot = <6>;
				};

				ldo5 {
					status = "disabled";
				};

				ldo6 {
					status = "disabled";
				};

				avdd_1v05_pll: ldo7 {
					regulator-name = "AVDD_1V05_PLL";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <24>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <3>;
					maxim,active-fps-power-down-slot = <4>;
				};

				avdd_1v05: ldo8 {
					regulator-name = "AVDD_SATA_HDMI_DP_1V05";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <22>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <6>;
					maxim,active-fps-power-down-slot = <1>;
				};
			};
		};
	};

	pmc@7000e400 {
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <0>;
		nvidia,cpu-pwr-good-time = <0>;
		nvidia,cpu-pwr-off-time = <0>;
		nvidia,core-pwr-good-time = <4587 3876>;
		nvidia,core-pwr-off-time = <39065>;
		nvidia,core-power-req-active-high;
		nvidia,sys-clock-req-active-high;
	};

	hda@70030000 {
		nvidia,model = "NVIDIA Jetson Nano HDA";

		status = "okay";
	};

	usb@70090000 {
		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>;
		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";

		avdd-usb-supply = <&vdd_3v3_sys>;
		dvddio-pex-supply = <&vdd_pex_1v05>;
		hvddio-pex-supply = <&vdd_1v8>;

		status = "okay";
	};

	padctl@7009f000 {
		status = "okay";

		avdd-pll-utmip-supply = <&vdd_1v8>;
		avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
		dvdd-pex-pll-supply = <&vdd_pex_1v05>;
		hvdd-pex-pll-e-supply = <&vdd_1v8>;

		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";
					};
				};
			};

			pcie {
				status = "okay";

				lanes {
					pcie-0 {
						nvidia,function = "pcie-x1";
						status = "okay";
					};

					pcie-1 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-2 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-3 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-4 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-5 {
						nvidia,function = "usb3-ss";
						status = "okay";
					};

					pcie-6 {
						nvidia,function = "usb3-ss";
						status = "okay";
					};
				};
			};
		};

		ports {
			usb2-0 {
				status = "okay";
				mode = "peripheral";
				usb-role-switch;

				vbus-supply = <&vdd_5v0_usb>;

				connector {
					compatible = "gpio-usb-b-connector",
						     "usb-b-connector";
					label = "micro-USB";
					type = "micro";
					vbus-gpios = <&gpio TEGRA_GPIO(CC, 4)
						      GPIO_ACTIVE_LOW>;
				};
			};

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

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

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

	mmc@700b0000 {
		status = "okay";
		bus-width = <4>;

		cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
		disable-wp;

		vqmmc-supply = <&vddio_sdmmc>;
		vmmc-supply = <&vdd_3v3_sd>;
	};

	mmc@700b0400 {
		status = "okay";
		bus-width = <4>;

		vqmmc-supply = <&vdd_1v8>;
		vmmc-supply = <&vdd_3v3_sys>;

		non-removable;
		cap-sdio-irq;
		keep-power-in-suspend;
		wakeup-source;
	};

	usb@700d0000 {
		status = "okay";
		phys = <&micro_b>;
		phy-names = "usb2-0";
		avddio-usb-supply = <&vdd_3v3_sys>;
		hvdd-usb-supply = <&vdd_1v8>;
	};

	clock@70110000 {
		status = "okay";

		nvidia,cf = <6>;
		nvidia,ci = <0>;
		nvidia,cg = <2>;
		nvidia,droop-ctrl = <0x00000f00>;
		nvidia,force-mode = <1>;
		nvidia,sample-rate = <25000>;

		nvidia,pwm-min-microvolts = <708000>;
		nvidia,pwm-period-nanoseconds = <2500>; /* 2.5us */
		nvidia,pwm-to-pmic;
		nvidia,pwm-tristate-microvolts = <1000000>;
		nvidia,pwm-voltage-step-microvolts = <19200>;

		pinctrl-names = "dvfs_pwm_enable", "dvfs_pwm_disable";
		pinctrl-0 = <&dvfs_pwm_active_state>;
		pinctrl-1 = <&dvfs_pwm_inactive_state>;
	};

	aconnect@702c0000 {
		status = "okay";

		ahub@702d0800 {
			status = "okay";

			admaif@702d0000 {
				status = "okay";
			};

			i2s@702d1200 {
				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 */
						};
					};
				};
			};

			i2s@702d1300 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						i2s4_cif_ep: endpoint {
							remote-endpoint = <&xbar_i2s4_ep>;
						};
					};

					i2s4_port: port@1 {
						reg = <1>;

						i2s4_dap_ep: endpoint {
							dai-format = "i2s";
							/* Placeholder for external Codec */
						};
					};
				};
			};

			sfc@702d2000 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						sfc1_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_sfc1_in_ep>;
						};
					};

					sfc1_out_port: port@1 {
						reg = <1>;

						sfc1_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_sfc1_out_ep>;
						};
					};
				};
			};

			sfc@702d2200 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						sfc2_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_sfc2_in_ep>;
						};
					};

					sfc2_out_port: port@1 {
						reg = <1>;

						sfc2_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_sfc2_out_ep>;
						};
					};
				};
			};

			sfc@702d2400 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						sfc3_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_sfc3_in_ep>;
						};
					};

					sfc3_out_port: port@1 {
						reg = <1>;

						sfc3_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_sfc3_out_ep>;
						};
					};
				};
			};

			sfc@702d2600 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						sfc4_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_sfc4_in_ep>;
						};
					};

					sfc4_out_port: port@1 {
						reg = <1>;

						sfc4_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_sfc4_out_ep>;
						};
					};
				};
			};

			amx@702d3000 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						amx1_in1_ep: endpoint {
							remote-endpoint = <&xbar_amx1_in1_ep>;
						};
					};

					port@1 {
						reg = <1>;

						amx1_in2_ep: endpoint {
							remote-endpoint = <&xbar_amx1_in2_ep>;
						};
					};

					port@2 {
						reg = <2>;

						amx1_in3_ep: endpoint {
							remote-endpoint = <&xbar_amx1_in3_ep>;
						};
					};

					port@3 {
						reg = <3>;

						amx1_in4_ep: endpoint {
							remote-endpoint = <&xbar_amx1_in4_ep>;
						};
					};

					amx1_out_port: port@4 {
						reg = <4>;

						amx1_out_ep: endpoint {
							remote-endpoint = <&xbar_amx1_out_ep>;
						};
					};
				};
			};

			amx@702d3100 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						amx2_in1_ep: endpoint {
							remote-endpoint = <&xbar_amx2_in1_ep>;
						};
					};

					port@1 {
						reg = <1>;

						amx2_in2_ep: endpoint {
							remote-endpoint = <&xbar_amx2_in2_ep>;
						};
					};

					amx2_in3_port: port@2 {
						reg = <2>;

						amx2_in3_ep: endpoint {
							remote-endpoint = <&xbar_amx2_in3_ep>;
						};
					};

					amx2_in4_port: port@3 {
						reg = <3>;

						amx2_in4_ep: endpoint {
							remote-endpoint = <&xbar_amx2_in4_ep>;
						};
					};

					amx2_out_port: port@4 {
						reg = <4>;

						amx2_out_ep: endpoint {
							remote-endpoint = <&xbar_amx2_out_ep>;
						};
					};
				};
			};

			adx@702d3800 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						adx1_in_ep: endpoint {
							remote-endpoint = <&xbar_adx1_in_ep>;
						};
					};

					adx1_out1_port: port@1 {
						reg = <1>;

						adx1_out1_ep: endpoint {
							remote-endpoint = <&xbar_adx1_out1_ep>;
						};
					};

					adx1_out2_port: port@2 {
						reg = <2>;

						adx1_out2_ep: endpoint {
							remote-endpoint = <&xbar_adx1_out2_ep>;
						};
					};

					adx1_out3_port: port@3 {
						reg = <3>;

						adx1_out3_ep: endpoint {
							remote-endpoint = <&xbar_adx1_out3_ep>;
						};
					};

					adx1_out4_port: port@4 {
						reg = <4>;

						adx1_out4_ep: endpoint {
							remote-endpoint = <&xbar_adx1_out4_ep>;
						};
					};
				};
			};

			adx@702d3900 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						adx2_in_ep: endpoint {
							remote-endpoint = <&xbar_adx2_in_ep>;
						};
					};

					adx2_out1_port: port@1 {
						reg = <1>;

						adx2_out1_ep: endpoint {
							remote-endpoint = <&xbar_adx2_out1_ep>;
						};
					};

					adx2_out2_port: port@2 {
						reg = <2>;

						adx2_out2_ep: endpoint {
							remote-endpoint = <&xbar_adx2_out2_ep>;
						};
					};

					adx2_out3_port: port@3 {
						reg = <3>;

						adx2_out3_ep: endpoint {
							remote-endpoint = <&xbar_adx2_out3_ep>;
						};
					};

					adx2_out4_port: port@4 {
						reg = <4>;

						adx2_out4_ep: endpoint {
							remote-endpoint = <&xbar_adx2_out4_ep>;
						};
					};
				};
			};

			dmic@702d4000 {
				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 {
							/* Placeholder for external Codec */
						};
					};
				};
			};

			dmic@702d4100 {
				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 {
							/* Placeholder for external Codec */
						};
					};
				};
			};

			processing-engine@702d8000 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0x0>;

						ope1_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_ope1_in_ep>;
						};
					};

					ope1_out_port: port@1 {
						reg = <0x1>;

						ope1_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_ope1_out_ep>;
						};
					};
				};
			};

			processing-engine@702d8400 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0x0>;

						ope2_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_ope2_in_ep>;
						};
					};

					ope2_out_port: port@1 {
						reg = <0x1>;

						ope2_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_ope2_out_ep>;
						};
					};
				};
			};

			mvc@702da000 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						mvc1_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_mvc1_in_ep>;
						};
					};

					mvc1_out_port: port@1 {
						reg = <1>;

						mvc1_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_mvc1_out_ep>;
						};
					};
				};
			};

			mvc@702da200 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						mvc2_cif_in_ep: endpoint {
							remote-endpoint = <&xbar_mvc2_in_ep>;
						};
					};

					mvc2_out_port: port@1 {
						reg = <1>;

						mvc2_cif_out_ep: endpoint {
							remote-endpoint = <&xbar_mvc2_out_ep>;
						};
					};
				};
			};

			amixer@702dbb00 {
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0x0>;

						mixer_in1_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in1_ep>;
						};
					};

					port@1 {
						reg = <0x1>;

						mixer_in2_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in2_ep>;
						};
					};

					port@2 {
						reg = <0x2>;

						mixer_in3_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in3_ep>;
						};
					};

					port@3 {
						reg = <0x3>;

						mixer_in4_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in4_ep>;
						};
					};

					port@4 {
						reg = <0x4>;

						mixer_in5_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in5_ep>;
						};
					};

					port@5 {
						reg = <0x5>;

						mixer_in6_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in6_ep>;
						};
					};

					port@6 {
						reg = <0x6>;

						mixer_in7_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in7_ep>;
						};
					};

					port@7 {
						reg = <0x7>;

						mixer_in8_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in8_ep>;
						};
					};

					port@8 {
						reg = <0x8>;

						mixer_in9_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in9_ep>;
						};
					};

					port@9 {
						reg = <0x9>;

						mixer_in10_ep: endpoint {
							remote-endpoint = <&xbar_mixer_in10_ep>;
						};
					};

					mixer_out1_port: port@a {
						reg = <0xa>;

						mixer_out1_ep: endpoint {
							remote-endpoint = <&xbar_mixer_out1_ep>;
						};
					};

					mixer_out2_port: port@b {
						reg = <0xb>;

						mixer_out2_ep: endpoint {
							remote-endpoint = <&xbar_mixer_out2_ep>;
						};
					};

					mixer_out3_port: port@c {
						reg = <0xc>;

						mixer_out3_ep: endpoint {
							remote-endpoint = <&xbar_mixer_out3_ep>;
						};
					};

					mixer_out4_port: port@d {
						reg = <0xd>;

						mixer_out4_ep: endpoint {
							remote-endpoint = <&xbar_mixer_out4_ep>;
						};
					};

					mixer_out5_port: port@e {
						reg = <0xe>;

						mixer_out5_ep: endpoint {
							remote-endpoint = <&xbar_mixer_out5_ep>;
						};
					};
				};
			};

			ports {
				xbar_i2s3_port: port@c {
					reg = <0xc>;

					xbar_i2s3_ep: endpoint {
						remote-endpoint = <&i2s3_cif_ep>;
					};
				};

				xbar_i2s4_port: port@d {
					reg = <0xd>;

					xbar_i2s4_ep: endpoint {
						remote-endpoint = <&i2s4_cif_ep>;
					};
				};

				xbar_dmic1_port: port@f {
					reg = <0xf>;

					xbar_dmic1_ep: endpoint {
						remote-endpoint = <&dmic1_cif_ep>;
					};
				};

				xbar_dmic2_port: port@10 {
					reg = <0x10>;

					xbar_dmic2_ep: endpoint {
						remote-endpoint = <&dmic2_cif_ep>;
					};
				};

				xbar_sfc1_in_port: port@12 {
					reg = <0x12>;

					xbar_sfc1_in_ep: endpoint {
						remote-endpoint = <&sfc1_cif_in_ep>;
					};
				};

				port@13 {
					reg = <0x13>;

					xbar_sfc1_out_ep: endpoint {
						remote-endpoint = <&sfc1_cif_out_ep>;
					};
				};

				xbar_sfc2_in_port: port@14 {
					reg = <0x14>;

					xbar_sfc2_in_ep: endpoint {
						remote-endpoint = <&sfc2_cif_in_ep>;
					};
				};

				port@15 {
					reg = <0x15>;

					xbar_sfc2_out_ep: endpoint {
						remote-endpoint = <&sfc2_cif_out_ep>;
					};
				};

				xbar_sfc3_in_port: port@16 {
					reg = <0x16>;

					xbar_sfc3_in_ep: endpoint {
						remote-endpoint = <&sfc3_cif_in_ep>;
					};
				};

				port@17 {
					reg = <0x17>;

					xbar_sfc3_out_ep: endpoint {
						remote-endpoint = <&sfc3_cif_out_ep>;
					};
				};

				xbar_sfc4_in_port: port@18 {
					reg = <0x18>;

					xbar_sfc4_in_ep: endpoint {
						remote-endpoint = <&sfc4_cif_in_ep>;
					};
				};

				port@19 {
					reg = <0x19>;

					xbar_sfc4_out_ep: endpoint {
						remote-endpoint = <&sfc4_cif_out_ep>;
					};
				};

				xbar_mvc1_in_port: port@1a {
					reg = <0x1a>;

					xbar_mvc1_in_ep: endpoint {
						remote-endpoint = <&mvc1_cif_in_ep>;
					};
				};

				port@1b {
					reg = <0x1b>;

					xbar_mvc1_out_ep: endpoint {
						remote-endpoint = <&mvc1_cif_out_ep>;
					};
				};

				xbar_mvc2_in_port: port@1c {
					reg = <0x1c>;

					xbar_mvc2_in_ep: endpoint {
						remote-endpoint = <&mvc2_cif_in_ep>;
					};
				};

				port@1d {
					reg = <0x1d>;

					xbar_mvc2_out_ep: endpoint {
						remote-endpoint = <&mvc2_cif_out_ep>;
					};
				};

				xbar_amx1_in1_port: port@1e {
					reg = <0x1e>;

					xbar_amx1_in1_ep: endpoint {
						remote-endpoint = <&amx1_in1_ep>;
					};
				};

				xbar_amx1_in2_port: port@1f {
					reg = <0x1f>;

					xbar_amx1_in2_ep: endpoint {
						remote-endpoint = <&amx1_in2_ep>;
					};
				};

				xbar_amx1_in3_port: port@20 {
					reg = <0x20>;

					xbar_amx1_in3_ep: endpoint {
						remote-endpoint = <&amx1_in3_ep>;
					};
				};

				xbar_amx1_in4_port: port@21 {
					reg = <0x21>;

					xbar_amx1_in4_ep: endpoint {
						remote-endpoint = <&amx1_in4_ep>;
					};
				};

				port@22 {
					reg = <0x22>;

					xbar_amx1_out_ep: endpoint {
						remote-endpoint = <&amx1_out_ep>;
					};
				};

				xbar_amx2_in1_port: port@23 {
					reg = <0x23>;

					xbar_amx2_in1_ep: endpoint {
						remote-endpoint = <&amx2_in1_ep>;
					};
				};

				xbar_amx2_in2_port: port@24 {
					reg = <0x24>;

					xbar_amx2_in2_ep: endpoint {
						remote-endpoint = <&amx2_in2_ep>;
					};
				};

				xbar_amx2_in3_port: port@25 {
					reg = <0x25>;

					xbar_amx2_in3_ep: endpoint {
						remote-endpoint = <&amx2_in3_ep>;
					};
				};

				xbar_amx2_in4_port: port@26 {
					reg = <0x26>;

					xbar_amx2_in4_ep: endpoint {
						remote-endpoint = <&amx2_in4_ep>;
					};
				};

				port@27 {
					reg = <0x27>;

					xbar_amx2_out_ep: endpoint {
						remote-endpoint = <&amx2_out_ep>;
					};
				};

				xbar_adx1_in_port: port@28 {
					reg = <0x28>;

					xbar_adx1_in_ep: endpoint {
						remote-endpoint = <&adx1_in_ep>;
					};
				};

				port@29 {
					reg = <0x29>;

					xbar_adx1_out1_ep: endpoint {
						remote-endpoint = <&adx1_out1_ep>;
					};
				};

				port@2a {
					reg = <0x2a>;

					xbar_adx1_out2_ep: endpoint {
						remote-endpoint = <&adx1_out2_ep>;
					};
				};

				port@2b {
					reg = <0x2b>;

					xbar_adx1_out3_ep: endpoint {
						remote-endpoint = <&adx1_out3_ep>;
					};
				};

				port@2c {
					reg = <0x2c>;

					xbar_adx1_out4_ep: endpoint {
						remote-endpoint = <&adx1_out4_ep>;
					};
				};

				xbar_adx2_in_port: port@2d {
					reg = <0x2d>;

					xbar_adx2_in_ep: endpoint {
						remote-endpoint = <&adx2_in_ep>;
					};
				};

				port@2e {
					reg = <0x2e>;

					xbar_adx2_out1_ep: endpoint {
						remote-endpoint = <&adx2_out1_ep>;
					};
				};

				port@2f {
					reg = <0x2f>;

					xbar_adx2_out2_ep: endpoint {
						remote-endpoint = <&adx2_out2_ep>;
					};
				};

				port@30 {
					reg = <0x30>;

					xbar_adx2_out3_ep: endpoint {
						remote-endpoint = <&adx2_out3_ep>;
					};
				};

				port@31 {
					reg = <0x31>;

					xbar_adx2_out4_ep: endpoint {
						remote-endpoint = <&adx2_out4_ep>;
					};
				};

				xbar_mixer_in1_port: port@32 {
					reg = <0x32>;

					xbar_mixer_in1_ep: endpoint {
						remote-endpoint = <&mixer_in1_ep>;
					};
				};

				xbar_mixer_in2_port: port@33 {
					reg = <0x33>;

					xbar_mixer_in2_ep: endpoint {
						remote-endpoint = <&mixer_in2_ep>;
					};
				};

				xbar_mixer_in3_port: port@34 {
					reg = <0x34>;

					xbar_mixer_in3_ep: endpoint {
						remote-endpoint = <&mixer_in3_ep>;
					};
				};

				xbar_mixer_in4_port: port@35 {
					reg = <0x35>;

					xbar_mixer_in4_ep: endpoint {
						remote-endpoint = <&mixer_in4_ep>;
					};
				};

				xbar_mixer_in5_port: port@36 {
					reg = <0x36>;

					xbar_mixer_in5_ep: endpoint {
						remote-endpoint = <&mixer_in5_ep>;
					};
				};

				xbar_mixer_in6_port: port@37 {
					reg = <0x37>;

					xbar_mixer_in6_ep: endpoint {
						remote-endpoint = <&mixer_in6_ep>;
					};
				};

				xbar_mixer_in7_port: port@38 {
					reg = <0x38>;

					xbar_mixer_in7_ep: endpoint {
						remote-endpoint = <&mixer_in7_ep>;
					};
				};

				xbar_mixer_in8_port: port@39 {
					reg = <0x39>;

					xbar_mixer_in8_ep: endpoint {
						remote-endpoint = <&mixer_in8_ep>;
					};
				};

				xbar_mixer_in9_port: port@3a {
					reg = <0x3a>;

					xbar_mixer_in9_ep: endpoint {
						remote-endpoint = <&mixer_in9_ep>;
					};
				};

				xbar_mixer_in10_port: port@3b {
					reg = <0x3b>;

					xbar_mixer_in10_ep: endpoint {
						remote-endpoint = <&mixer_in10_ep>;
					};
				};

				port@3c {
					reg = <0x3c>;

					xbar_mixer_out1_ep: endpoint {
						remote-endpoint = <&mixer_out1_ep>;
					};
				};

				port@3d {
					reg = <0x3d>;

					xbar_mixer_out2_ep: endpoint {
						remote-endpoint = <&mixer_out2_ep>;
					};
				};

				port@3e {
					reg = <0x3e>;

					xbar_mixer_out3_ep: endpoint {
						remote-endpoint = <&mixer_out3_ep>;
					};
				};

				port@3f {
					reg = <0x3f>;

					xbar_mixer_out4_ep: endpoint {
						remote-endpoint = <&mixer_out4_ep>;
					};
				};

				port@40 {
					reg = <0x40>;

					xbar_mixer_out5_ep: endpoint {
						remote-endpoint = <&mixer_out5_ep>;
					};
				};

				xbar_ope1_in_port: port@41 {
					reg = <0x41>;

					xbar_ope1_in_ep: endpoint {
						remote-endpoint = <&ope1_cif_in_ep>;
					};
				};

				port@42 {
					reg = <0x42>;

					xbar_ope1_out_ep: endpoint {
						remote-endpoint = <&ope1_cif_out_ep>;
					};
				};

				xbar_ope2_in_port: port@43 {
					reg = <0x43>;

					xbar_ope2_in_ep: endpoint {
						remote-endpoint = <&ope2_cif_in_ep>;
					};
				};

				port@44 {
					reg = <0x44>;

					xbar_ope2_out_ep: endpoint {
						remote-endpoint = <&ope2_cif_out_ep>;
					};
				};
			};
		};

		dma-controller@702e2000 {
			status = "okay";
		};

		interrupt-controller@702f9000 {
			status = "okay";
		};
	};

	spi@70410000 {
		status = "okay";

		flash@0 {
			compatible = "jedec,spi-nor";
			reg = <0>;
			spi-max-frequency = <104000000>;
			spi-tx-bus-width = <2>;
			spi-rx-bus-width = <2>;
		};
	};

	clk32k_in: clock-32k {
		compatible = "fixed-clock";
		clock-frequency = <32768>;
		#clock-cells = <0>;
	};

	cpus {
		cpu@0 {
			enable-method = "psci";
		};

		cpu@1 {
			enable-method = "psci";
		};

		cpu@2 {
			enable-method = "psci";
		};

		cpu@3 {
			enable-method = "psci";
		};

		idle-states {
			cpu-sleep {
				status = "okay";
			};
		};
	};

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

		key-force-recovery {
			label = "Force Recovery";
			gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <BTN_1>;
			debounce-interval = <30>;
		};

		key-power {
			label = "Power";
			gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_POWER>;
			debounce-interval = <30>;
			wakeup-event-action = <EV_ACT_ASSERTED>;
			wakeup-source;
		};
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

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

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

	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_3v3_sys: regulator-vdd-3v3-sys {
		compatible = "regulator-fixed";

		regulator-name = "VDD_3V3_SYS";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-enable-ramp-delay = <240>;
		regulator-always-on;
		regulator-boot-on;

		gpio = <&pmic 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_3v3_sd: regulator-vdd-3v3-sd {
		compatible = "regulator-fixed";

		regulator-name = "VDD_3V3_SD";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio TEGRA_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_3v3_sys>;
	};

	vdd_hdmi: regulator-vdd-hdmi-5v0 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_HDMI_5V0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_hub_3v3: regulator-vdd-hub-3v3 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_HUB_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio TEGRA_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_cpu: regulator-vdd-cpu {
		compatible = "regulator-fixed";

		regulator-name = "VDD_CPU";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;

		gpio = <&pmic 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_gpu: regulator-vdd-gpu {
		compatible = "pwm-regulator";
		pwms = <&pwm 1 8000>;

		regulator-name = "VDD_GPU";
		regulator-min-microvolt = <710000>;
		regulator-max-microvolt = <1320000>;
		regulator-ramp-delay = <80>;
		regulator-enable-ramp-delay = <2000>;
		regulator-settling-time-us = <160>;

		enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
		vin-supply = <&vdd_5v0_sys>;
	};

	avdd_io_edp_1v05: regulator-avdd-io-epd-1v05 {
		compatible = "regulator-fixed";

		regulator-name = "AVDD_IO_EDP_1V05";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;

		gpio = <&pmic 7 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&avdd_1v05_pll>;
	};

	vdd_5v0_usb: regulator-vdd-5v-usb {
		compatible = "regulator-fixed";

		regulator-name = "VDD_5V_USB";
		regulator-min-microvolt = <50000000>;
		regulator-max-microvolt = <50000000>;

		vin-supply = <&vdd_5v0_sys>;
	};

	sound {
		compatible = "nvidia,tegra210-audio-graph-card";
		status = "okay";

		dais = /* FE */
		       <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
		       <&admaif4_port>, <&admaif5_port>, <&admaif6_port>,
		       <&admaif7_port>, <&admaif8_port>, <&admaif9_port>,
		       <&admaif10_port>,
		       /* Router */
		       <&xbar_i2s3_port>, <&xbar_i2s4_port>,
		       <&xbar_dmic1_port>, <&xbar_dmic2_port>,
		       <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
		       <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
		       <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
		       <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
		       <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
		       <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
		       <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
		       <&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
		       <&xbar_mixer_in1_port>, <&xbar_mixer_in2_port>,
		       <&xbar_mixer_in3_port>, <&xbar_mixer_in4_port>,
		       <&xbar_mixer_in5_port>, <&xbar_mixer_in6_port>,
		       <&xbar_mixer_in7_port>, <&xbar_mixer_in8_port>,
		       <&xbar_mixer_in9_port>, <&xbar_mixer_in10_port>,
		       <&xbar_ope1_in_port>, <&xbar_ope2_in_port>,
		       /* HW accelerators */
		       <&sfc1_out_port>, <&sfc2_out_port>,
		       <&sfc3_out_port>, <&sfc4_out_port>,
		       <&mvc1_out_port>, <&mvc2_out_port>,
		       <&amx1_out_port>, <&amx2_out_port>,
		       <&adx1_out1_port>, <&adx1_out2_port>,
		       <&adx1_out3_port>, <&adx1_out4_port>,
		       <&adx2_out1_port>, <&adx2_out2_port>,
		       <&adx2_out3_port>, <&adx2_out4_port>,
		       <&mixer_out1_port>, <&mixer_out2_port>,
		       <&mixer_out3_port>, <&mixer_out4_port>,
		       <&mixer_out5_port>,
		       <&ope1_out_port>, <&ope2_out_port>,
		       /* I/O DAP Ports */
		       <&i2s3_port>, <&i2s4_port>,
		       <&dmic1_port>, <&dmic2_port>;

		label = "NVIDIA Jetson Nano APE";
	};

	thermal-zones {
		cpu-thermal {
			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>;
				};
			};
		};
	};
};