alarm-tegra-x1 / reference/switchroot-mainline/tegra210-nintendo-switch.dts

raw file 61290 bytes
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/mfd/max77620.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/thermal/thermal.h>

#include "tegra210.dtsi"

/ {
	model = "Nintendo Switch";
	compatible = "nintendo,switch", "nvidia,tegra210";

	aliases {
		i2c1 = "/i2c@7000c000";
		i2c2 = "/i2c@7000c400";
		i2c3 = "/i2c@7000c500";
		i2c5 = "/i2c@7000d000";
		rtc0 = "/i2c@7000d000/max77620@3c";
		rtc1 = "/rtc@7000e000";
		serial0 = &uarta;
		serial1 = &uartb;
		serial2 = &uartc;
		serial3 = &uartd;
	};

	chosen {
		bootargs = "drm.debug=0x3f";
	};

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

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		ramoops@b0000000 {
			compatible = "ramoops";
			reg = <0x0 0xb0000000 0x0 0x200000>;

			record-size = <0x20000>;
			console-size = <0x20000>;
			ftrace-size = <0x20000>;
		};
	};

	firmware: firmware {
		android {
			compatible = "android,firmware";
			fstab {
				compatible = "android,fstab";
				system {
					compatible = "android,system";
					dev = "/dev/block/platform/700b0000.sdhci/by-name/system";
					type = "ext4";
					mnt_flags = "ro,barrier=1,discard";
					fsmgr_flags = "wait";
					status = "ok";
				};
			};
		};
	};

	cpus {
		cpu@0 {
			vdd-cpu-supply = <&max77621_cpu>;
		};

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

	clock@70110000 {
		status = "okay";

		vdd-cpu-supply = <&max77621_cpu>;
		nvidia,sample-rate = <12500>;
		nvidia,droop-ctrl = <0x00000f00>;
		nvidia,force-mode = <1>;
		nvidia,cf = <10>;
		nvidia,ci = <0>;
		nvidia,cg = <2>;
		nvidia,i2c-fs-rate = <400000>;
	};

	pcie@1003000 {
		status = "okay";

		avdd-pll-uerefe-supply = <&avdd_1v05_pll>;
		hvddio-pex-supply = <&vdd_1v8>;
		dvddio-pex-supply = <&vdd_pex_1v05>;
		dvdd-pex-pll-supply = <&vdd_pex_1v05>;
		hvdd-pex-pll-e-supply = <&vdd_1v8>;
		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";
			status = "okay";
		};

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

	host1x@50000000 {
		dsi@54300000 {
			status = "okay";

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

			panel@0 {
				compatible = "jdi,lpm062m326a";
				reg = <0>;

				reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
				vdd1-supply = <&pavdd>;
				vdd2-supply = <&navdd>;
				backlight = <&backlight>;
			};
		};

		dpaux@54040000 {
			status = "disabled";
		};

		sor@54580000 {
			status = "disabled"; // FIXME Disabled as modeset is prevented when not in dock
			//avdd-io-supply = <&avdd_1v05>;
			//vdd-pll-supply = <&vdd_1v8>;

			nvidia,dpaux = <&dpaux1>;
		};
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0 35000 0>;
		pwm-names = "backlight";
		brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
							 17 18 19 20 21 22 23 24 25 26 27 28 29 30
							 31 32 33 34 35 36 37 38 39 40 41 42 43 44
							 45 46 47 48 49 50 51 52 53 54 55 56 57 58
							 59 60 61 62 63 64 65 66 67 68 69 70 71 72
							 73 74 75 76 77 78 79 80 81 82 83 84 85 86
							 87 88 89 90 91 92 93 94 95 96 97 98 99 100>;
		default-brightness-level = <80>;

		enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
	};

	gpu@57000000 {
		vdd-supply = <&max77621_gpu>;
	};

	pinmux: pinmux@700008d4 {
		pinctrl-names = "default", "drive", "unused";
		pinctrl-0 = <&pinmux_default>;
		pinctrl-1 = <&drive_default>;
		pinctrl-2 = <&pinmux_unused_lowpower>;

		pinmux_default: common {
			/* SFIO Pin Configuration */
			aud_mclk_pbb0 {
				nvidia,pins = "aud_mclk_pbb0";
				nvidia,function = "aud";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			dvfs_pwm_pbb1 {
				nvidia,pins = "dvfs_pwm_pbb1";
				nvidia,function = "cldvfs";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			dap1_din_pb1 {
				nvidia,pins = "dap1_din_pb1";
				nvidia,function = "i2s1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap1_dout_pb2 {
				nvidia,pins = "dap1_dout_pb2";
				nvidia,function = "i2s1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap1_fs_pb0 {
				nvidia,pins = "dap1_fs_pb0";
				nvidia,function = "i2s1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap1_sclk_pb3 {
				nvidia,pins = "dap1_sclk_pb3";
				nvidia,function = "i2s1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dmic1_clk_pe0 {
				nvidia,pins = "dmic1_clk_pe0";
				nvidia,function = "dmic1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			dmic1_dat_pe1 {
				nvidia,pins = "dmic1_dat_pe1";
				nvidia,function = "dmic1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dmic2_clk_pe2 {
				nvidia,pins = "dmic2_clk_pe2";
				nvidia,function = "dmic2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			dmic2_dat_pe3 {
				nvidia,pins = "dmic2_dat_pe3";
				nvidia,function = "dmic2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dmic3_clk_pe4 {
				nvidia,pins = "dmic3_clk_pe4";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dmic3_dat_pe5 {
				nvidia,pins = "dmic3_dat_pe5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			gen3_i2c_scl_pf0 {
				nvidia,pins = "gen3_i2c_scl_pf0";
				nvidia,function = "i2c3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			gen3_i2c_sda_pf1 {
				nvidia,pins = "gen3_i2c_sda_pf1";
				nvidia,function = "i2c3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			cam_i2c_scl_ps2 {
				nvidia,pins = "cam_i2c_scl_ps2";
				nvidia,function = "i2cvi";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			cam_i2c_sda_ps3 {
				nvidia,pins = "cam_i2c_sda_ps3";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			cam1_mclk_ps0 {
				nvidia,pins = "cam1_mclk_ps0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			cam2_mclk_ps1 {
				nvidia,pins = "cam2_mclk_ps1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pex_l0_clkreq_n_pa1 {
				nvidia,pins = "pex_l0_clkreq_n_pa1";
				nvidia,function = "pe0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			pex_l0_rst_n_pa0 {
				nvidia,pins = "pex_l0_rst_n_pa0";
				nvidia,function = "pe0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			pex_l1_clkreq_n_pa4 {
				nvidia,pins = "pex_l1_clkreq_n_pa4";
				nvidia,function = "pe1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			pex_l1_rst_n_pa3 {
				nvidia,pins = "pex_l1_rst_n_pa3";
				nvidia,function = "pe1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			pex_wake_n_pa2 {
				nvidia,pins = "pex_wake_n_pa2";
				nvidia,function = "pe";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			sdmmc1_clk_pm0 {
				nvidia,pins = "sdmmc1_clk_pm0";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc1_cmd_pm1 {
				nvidia,pins = "sdmmc1_cmd_pm1";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc1_dat0_pm5 {
				nvidia,pins = "sdmmc1_dat0_pm5";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc1_dat1_pm4 {
				nvidia,pins = "sdmmc1_dat1_pm4";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc1_dat2_pm3 {
				nvidia,pins = "sdmmc1_dat2_pm3";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc1_dat3_pm2 {
				nvidia,pins = "sdmmc1_dat3_pm2";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_clk_pp0 {
				nvidia,pins = "sdmmc3_clk_pp0";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_cmd_pp1 {
				nvidia,pins = "sdmmc3_cmd_pp1";
				nvidia,function = "sdmmc3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_dat0_pp5 {
				nvidia,pins = "sdmmc3_dat0_pp5";
				nvidia,function = "sdmmc3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_dat1_pp4 {
				nvidia,pins = "sdmmc3_dat1_pp4";
				nvidia,function = "sdmmc3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_dat2_pp3 {
				nvidia,pins = "sdmmc3_dat2_pp3";
				nvidia,function = "sdmmc3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			sdmmc3_dat3_pp2 {
				nvidia,pins = "sdmmc3_dat3_pp2";
				nvidia,function = "sdmmc3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			shutdown {
				nvidia,pins = "shutdown";
				nvidia,function = "shutdown";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			lcd_te_py2 {
				nvidia,pins = "lcd_te_py2";
				nvidia,function = "displaya";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			lcd_bl_pwm_pv0 {
				nvidia,pins = "lcd_bl_pwm_pv0";
				nvidia,function = "pwm0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			lcd_gpio2_pv4 {
				nvidia,pins = "lcd_gpio2_pv4";
				nvidia,function = "pwm1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pwr_i2c_scl_py3 {
				nvidia,pins = "pwr_i2c_scl_py3";
				nvidia,function = "i2cpmu";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			pwr_i2c_sda_py4 {
				nvidia,pins = "pwr_i2c_sda_py4";
				nvidia,function = "i2cpmu";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			clk_32k_in {
				nvidia,pins = "clk_32k_in";
				nvidia,function = "clk";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			clk_32k_out_py5 {
				nvidia,pins = "clk_32k_out_py5";
				nvidia,function = "soc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pz1 {
				nvidia,pins = "pz1";
				nvidia,function = "sdmmc1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pz4 {
				nvidia,pins = "pz4";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pz5 {
				nvidia,pins = "pz5";
				nvidia,function = "soc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			clk_req {
				nvidia,pins = "clk_req";
				nvidia,function = "sys";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			core_pwr_req {
				nvidia,pins = "core_pwr_req";
				nvidia,function = "core";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			cpu_pwr_req {
				nvidia,pins = "cpu_pwr_req";
				nvidia,function = "cpu";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pwr_int_n {
				nvidia,pins = "pwr_int_n";
				nvidia,function = "pmi";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap4_din_pj5 {
				nvidia,pins = "dap4_din_pj5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			dap4_dout_pj6 {
				nvidia,pins = "dap4_dout_pj6";
				nvidia,function = "i2s4b";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap4_fs_pj4 {
				nvidia,pins = "dap4_fs_pj4";
				nvidia,function = "i2s4b";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap4_sclk_pj7 {
				nvidia,pins = "dap4_sclk_pj7";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			gen1_i2c_scl_pj1 {
				nvidia,pins = "gen1_i2c_scl_pj1";
				nvidia,function = "i2c1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			gen1_i2c_sda_pj0 {
				nvidia,pins = "gen1_i2c_sda_pj0";
				nvidia,function = "i2c1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			gen2_i2c_scl_pj2 {
				nvidia,pins = "gen2_i2c_scl_pj2";
				nvidia,function = "i2c2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			gen2_i2c_sda_pj3 {
				nvidia,pins = "gen2_i2c_sda_pj3";
				nvidia,function = "i2c2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			uart1_tx_pu0 {
				nvidia,pins = "uart1_tx_pu0";
				nvidia,function = "uarta";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart1_rx_pu1 {
				nvidia,pins = "uart1_rx_pu1";
				nvidia,function = "uarta";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart1_rts_pu2 {
				nvidia,pins = "uart1_rts_pu2";
				nvidia,function = "uarta";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart1_cts_pu3 {
				nvidia,pins = "uart1_cts_pu3";
				nvidia,function = "uarta";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			jtag_rtck {
				nvidia,pins = "jtag_rtck";
				nvidia,function = "jtag";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pk0 {
				nvidia,pins = "pk0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk1 {
				nvidia,pins = "pk1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk2 {
				nvidia,pins = "pk2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk3 {
				nvidia,pins = "pk3";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pl1 {
				nvidia,pins = "pl1";
				nvidia,function = "soc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi1_mosi_pc0 {
				nvidia,pins = "spi1_mosi_pc0";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi1_miso_pc1 {
				nvidia,pins = "spi1_miso_pc1";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi1_sck_pc2 {
				nvidia,pins = "spi1_sck_pc2";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi1_cs0_pc3 {
				nvidia,pins = "spi1_cs0_pc3";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi1_cs1_pc4 {
				nvidia,pins = "spi1_cs1_pc4";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi4_mosi_pc7 {
				nvidia,pins = "spi4_mosi_pc7";
				nvidia,function = "spi4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi4_miso_pd0 {
				nvidia,pins = "spi4_miso_pd0";
				nvidia,function = "spi4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			spi4_sck_pc5 {
				nvidia,pins = "spi4_sck_pc5";
				nvidia,function = "spi4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi4_cs0_pc6 {
				nvidia,pins = "spi4_cs0_pc6";
				nvidia,function = "spi4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart2_tx_pg0 {
				nvidia,pins = "uart2_tx_pg0";
				nvidia,function = "uartb";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart2_rx_pg1 {
				nvidia,pins = "uart2_rx_pg1";
				nvidia,function = "uartb";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart2_rts_pg2 {
				nvidia,pins = "uart2_rts_pg2";
				nvidia,function = "uartb";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart2_cts_pg3 {
				nvidia,pins = "uart2_cts_pg3";
				nvidia,function = "uartb";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart3_tx_pd1 {
				nvidia,pins = "uart3_tx_pd1";
				nvidia,function = "uartc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart3_rx_pd2 {
				nvidia,pins = "uart3_rx_pd2";
				nvidia,function = "uartc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart3_rts_pd3 {
				nvidia,pins = "uart3_rts_pd3";
				nvidia,function = "uartc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart3_cts_pd4 {
				nvidia,pins = "uart3_cts_pd4";
				nvidia,function = "uartc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart4_tx_pi4 {
				nvidia,pins = "uart4_tx_pi4";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart4_rx_pi5 {
				nvidia,pins = "uart4_rx_pi5";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			uart4_rts_pi6 {
				nvidia,pins = "uart4_rts_pi6";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			uart4_cts_pi7 {
				nvidia,pins = "uart4_cts_pi7";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap2_din_paa2 {
				nvidia,pins = "dap2_din_paa2";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap2_dout_paa3 {
				nvidia,pins = "dap2_dout_paa3";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap2_fs_paa0 {
				nvidia,pins = "dap2_fs_paa0";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			dap2_sclk_paa1 {
				nvidia,pins = "dap2_sclk_paa1";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			usb_vbus_en0_pcc4 {
				nvidia,pins = "usb_vbus_en0_pcc4";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			usb_vbus_en1_pcc5 {
				nvidia,pins = "usb_vbus_en1_pcc5";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			hdmi_cec_pcc0 {
				nvidia,pins = "hdmi_cec_pcc0";
				nvidia,function = "cec";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			/* GPIO Pin Configuration */
			dvfs_clk_pbb2 {
				nvidia,pins = "dvfs_clk_pbb2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			gpio_x1_aud_pbb3 {
				nvidia,pins = "gpio_x1_aud_pbb3";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			gpio_x3_aud_pbb4 {
				nvidia,pins = "gpio_x3_aud_pbb4";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pe6 {
				nvidia,pins = "pe6";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			cam_rst_ps4 {
				nvidia,pins = "cam_rst_ps4";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			cam_af_en_ps5 {
				nvidia,pins = "cam_af_en_ps5";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			cam_flash_en_ps6 {
				nvidia,pins = "cam_flash_en_ps6";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			cam1_pwdn_ps7 {
				nvidia,pins = "cam1_pwdn_ps7";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			cam2_pwdn_pt0 {
				nvidia,pins = "cam2_pwdn_pt0";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			cam1_strobe_pt1 {
				nvidia,pins = "cam1_strobe_pt1";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			sata_led_active_pa5 {
				nvidia,pins = "sata_led_active_pa5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			als_prox_int_px3 {
				nvidia,pins = "als_prox_int_px3";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			temp_alert_px4 {
				nvidia,pins = "temp_alert_px4";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			motion_int_px2 {
				nvidia,pins = "motion_int_px2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			touch_rst_pv6 {
				nvidia,pins = "touch_rst_pv6";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			touch_clk_pv7 {
				nvidia,pins = "touch_clk_pv7";
				nvidia,function = "touch";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			touch_int_px1 {
				nvidia,pins = "touch_int_px1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			modem_wake_ap_px0 {
				nvidia,pins = "modem_wake_ap_px0";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			button_power_on_px5 {
				nvidia,pins = "button_power_on_px5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			button_vol_up_px6 {
				nvidia,pins = "button_vol_up_px6";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			button_vol_down_px7 {
				nvidia,pins = "button_vol_down_px7";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			button_home_py1 {
				nvidia,pins = "button_home_py1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			lcd_bl_en_pv1 {
				nvidia,pins = "lcd_bl_en_pv1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			lcd_rst_pv2 {
				nvidia,pins = "lcd_rst_pv2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			ap_ready_pv5 {
				nvidia,pins = "ap_ready_pv5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pz0 {
				nvidia,pins = "pz0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pz3 {
				nvidia,pins = "pz3";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk4 {
				nvidia,pins = "pk4";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk5 {
				nvidia,pins = "pk5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pk6 {
				nvidia,pins = "pk6";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pk7 {
				nvidia,pins = "pk7";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pl0 {
				nvidia,pins = "pl0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			wifi_en_ph0 {
				nvidia,pins = "wifi_en_ph0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			wifi_wake_ap_ph2 {
				nvidia,pins = "wifi_wake_ap_ph2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			ap_wake_bt_ph3 {
				nvidia,pins = "ap_wake_bt_ph3";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			bt_rst_ph4 {
				nvidia,pins = "bt_rst_ph4";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			bt_wake_ap_ph5 {
				nvidia,pins = "bt_wake_ap_ph5";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			ph6 {
				nvidia,pins = "ph6";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			ap_wake_nfc_ph7 {
				nvidia,pins = "ap_wake_nfc_ph7";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			nfc_en_pi0 {
				nvidia,pins = "nfc_en_pi0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			nfc_int_pi1 {
				nvidia,pins = "nfc_int_pi1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			gps_en_pi2 {
				nvidia,pins = "gps_en_pi2";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pcc7 {
				nvidia,pins = "pcc7";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};

			dp_hpd0_pcc6 {
				nvidia,pins = "dp_hpd0_pcc6";
				nvidia,function = "dp";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			hdmi_int_dp_hpd_pcc1 {
				nvidia,pins = "hdmi_int_dp_hpd_pcc1";
				nvidia,function = "dp";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
			};
		};

		pinmux_unused_lowpower: unused_lowpower {
			spi2_mosi_pb4 {
				nvidia,pins = "spi2_mosi_pb4";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi2_miso_pb5 {
				nvidia,pins = "spi2_miso_pb5";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi2_sck_pb6 {
				nvidia,pins = "spi2_sck_pb6";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi2_cs0_pb7 {
				nvidia,pins = "spi2_cs0_pb7";
				nvidia,function = "rsvd2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spi2_cs1_pdd0 {
				nvidia,pins = "spi2_cs1_pdd0";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pa6 {
				nvidia,pins = "pa6";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pe7 {
				nvidia,pins = "pe7";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			button_slide_sw_py0 {
				nvidia,pins = "button_slide_sw_py0";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			lcd_gpio1_pv3 {
				nvidia,pins = "lcd_gpio1_pv3";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			pz2 {
				nvidia,pins = "pz2";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pz4 {
				nvidia,pins = "pz4";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			wifi_rst_ph1 {
				nvidia,pins = "wifi_rst_ph1";
				nvidia,function = "rsvd3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			gps_rst_pi3 {
				nvidia,pins = "gps_rst_pi3";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			qspi_io0_pee2 {
				nvidia,pins = "qspi_io0_pee2";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			qspi_io1_pee3 {
				nvidia,pins = "qspi_io1_pee3";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

			spdif_in_pcc3 {
				nvidia,pins = "spdif_in_pcc3";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};

		};

		drive_default: drive {
			touch_clk_pv7 {
				nvidia,pins = "touch_clk_pv7";
				nvidia,pull-down-strength = <0x14>;
				nvidia,pull-up-strength = <0x14>;
			};
			gen3_i2c_scl_pf0 {
				nvidia,pins = "gen3_i2c_scl_pf0";
				nvidia,pull-down-strength = <0x7>;
			};
			gen3_i2c_sda_pf1 {
				nvidia,pins = "gen3_i2c_sda_pf1";
				nvidia,pull-down-strength = <0x7>;
			};
		};
	};

	/* debug port */
	serial@70006000 {
		status = "okay";
	};

	/* joycon ports:
	invert TXD and RTS via IRDA_CSR
	start @ 1000000 baud, switch to 3000000
	when they are >= 3000000 baud, use 2 stop bits
	use flow control
	Note: hsuart driver is required for flow control
	*/
	/* right joycon */
	serial@70006040 {
		status = "okay";
		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
		nvidia,invert-txd;
		nvidia,invert-rts;

		joycon {
			status = "okay";
			compatible = "nintendo,joycon-uart";
			charge-gpios = <&gpio TEGRA_GPIO(K, 3) GPIO_ACTIVE_HIGH>;
		};
	};

	/* left joycon */
	serial@70006200 {
		status = "okay";
		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
		nvidia,invert-txd;
		nvidia,invert-rts;

		joycon {
			status = "okay";
			compatible = "nintendo,joycon-uart";
			charge-gpios = <&gpio TEGRA_GPIO(CC, 3) GPIO_ACTIVE_HIGH>;
		};
	};

	/* bluetooth */
	serial@70006300 {
		status = "okay";
		// starts @ 115200, switches to 3000000
		// flow control, 1 stop bit
		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";

		bluetooth {
			compatible = "brcm,bcm43438-bt";
			shutdown-gpios = <&gpio TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
			// level correct?
			device-wakeup-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_LOW>;
			max-speed = <3000000>;
		};
	};

	pwm@7000a000 {
		status = "okay";
		#pwm-cells = <3>;
	};

	fan: pwm-fan {
		compatible = "pwm-fan";
		cooling-min-state = <0>;
		cooling-max-state = <7>;
		#cooling-cells = <2>;
		pwms = <&pwm 1 40000 PWM_POLARITY_INVERTED>;
		enable-gpios = <&gpio TEGRA_GPIO(A, 5) GPIO_ACTIVE_HIGH>;
		cooling-levels = <0 64 80 96 128 160 192 255>;
	};

	bat: battery {
		compatible = "simple-battery";
		precharge-current-microamp = <512000>;
		charge-term-current-microamp = <256000>;
	};

	/* i2c1 @ 100000hz
	18: rohm usb-pd
	1c: realtek 5639
	36: maxim fuel gauge
	4c: ti temperature sensor
	6b: ti charger
	*/
	i2c@7000c000 {
		status = "okay";
		clock-frequency = <100000>;

		audio-codec@1c {
			compatible = "realtek,rt5639";
			reg = <0x1c>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(V, 6) IRQ_TYPE_LEVEL_HIGH>;
			realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_LOW>;
			status = "okay";
		};

		bm92t: bm92t@18 {
			compatible = "rohm,bm92t";
			reg = <0x18>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(K, 4) 0x01>;
			#extcon-cells = <1>;
		};

		temperature-sensor@4c {
			compatible = "ti,tmp451";
			reg = <0x4c>;
		};

		bq24190: charger@6b {
			compatible = "ti,bq24190";
			reg = <0x6b>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(Z, 0) IRQ_TYPE_EDGE_FALLING>;
			ti,system-minimum-microvolt = <3200000>;
			monitored-battery = <&bat>;
			status = "okay";
			omit-battery-class;
			usb_otg_vbus: usb-otg-vbus { };
		};

		battery-charger@36 {
			compatible = "maxim,max17050";
			reg = <0x36>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(Y, 0) IRQ_TYPE_LEVEL_LOW>;
			maxim,rsns-microohm = <10000>;
			maxim,over-heat-temp = <600>;
			maxim,over-volt = <4300>;
			monitored-battery = <&bat>;
			power-supplies = <&bq24190>;
			status = "okay";
		};
	};

	/* i2c2 @ 400000hz
	29: rohm ambient light sensor
	*/
	i2c@7000c400 {
		status = "okay";
		clock-frequency = <400000>;

		light-sensor@29 {
			compatible = "rohm,bh1730fvc";
			reg = <0x29>;
		};
	};

	/* i2c3 @ 400000hz
	49: stm touchscreen controller
	*/
	i2c@7000c500 {
		status = "okay";
		clock-frequency = <400000>;

		stmfts: touchscreen@49 {
			compatible = "st,stmfts";
			reg = <0x49>;
			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_LEVEL_LOW>;
			interrupt-enable-reg = <0x2c 0x48>;
			avdd-supply = <&avdd_touchscreen>;
			vdd-supply = <&vdd_touchscreen>;
			touchscreen-size-x = <1280>;
			touchscreen-size-y = <720>;
		};
	};
	/* i2c5 @ 400000hz
	1b: max77621_cpu
	1c: max77621_gpu
	3c: max77620
	68: max77620_rtc
	*/
	i2c@7000d000 {
		status = "okay";
		clock-frequency = <400000>;

		max77620: max77620@3c {
			compatible = "maxim,max77620";
			reg = <0x3c>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;

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

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

			#thermal-sensor-cells = <0>;


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

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

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

				pin_gpio2 {
					pins = "gpio2";
					function = "fps-out";
					drive-open-drain = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
				};

				pin_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 = <2>;
				};

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

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

			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>;
					maxim,suspend-fps-time-period-us = <5120>;
				};
			};

			regulators {
				in-ldo0-1-supply = <&vdd_pre>;
				in-ldo7-8-supply = <&vdd_pre>;

				vdd_soc: sd0 {
					regulator-name = "VDD_SOC";
					regulator-min-microvolt = <825000>;
					regulator-max-microvolt = <1125000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <146>;
					regulator-disable-ramp-delay = <4080>;
					regulator-ramp-delay = <27500>;

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

				vdd_ddr: sd1 {
					regulator-name = "VDD_DDR_1V1_PMIC";
					regulator-min-microvolt = <1125000>;
					regulator-max-microvolt = <1125000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <130>;
					regulator-disable-ramp-delay = <145800>;
					regulator-ramp-delay = <27500>;

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

				vdd_pre: sd2 {
					regulator-name = "VDD_PRE_REG_1V35";
					regulator-min-microvolt = <1325000>;
					regulator-max-microvolt = <1350000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <176>;
					regulator-disable-ramp-delay = <32000>;
					regulator-ramp-delay = <27500>;

					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-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <242>;
					regulator-disable-ramp-delay = <118000>;
					regulator-ramp-delay = <27500>;

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

				vdd_sys_1v2: ldo0 {
					regulator-name = "AVDD_SYS_1V2";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <26>;
					regulator-disable-ramp-delay = <626>;
					regulator-ramp-delay = <100000>;

					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-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <630>;
					regulator-ramp-delay = <100000>;

					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-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <62>;
					regulator-disable-ramp-delay = <650>;
					regulator-ramp-delay = <100000>;

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

				vdd_gc_3v1: ldo3 {
					regulator-name = "VDD_GAMECARD_3V1";
					regulator-min-microvolt = <3100000>;
					regulator-max-microvolt = <3100000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <50>;
					regulator-disable-ramp-delay = <1110>;
					regulator-ramp-delay = <100000>;

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

				vdd_rtc: ldo4 {
					regulator-name = "VDD_RTC";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <850000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <610>;
					regulator-ramp-delay = <100000>;

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

				vdd_gc_1v8: ldo5 {
					regulator-name = "VDD_GAMECARD_1V8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <62>;
					regulator-disable-ramp-delay = <640>;
					regulator-ramp-delay = <100000>;

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

				avdd_touchscreen: ldo6 {
					regulator-name = "AVDD_TOUCHSCREEN";
					regulator-min-microvolt = <2900000>;
					regulator-max-microvolt = <2900000>;

					regulator-enable-ramp-delay = <36>;
					regulator-disable-ramp-delay = <674>;
					regulator-ramp-delay = <100000>;

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

				avdd_1v05_pll: ldo7 {
					regulator-name = "AVDD_1V05_PLL";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <24>;
					regulator-disable-ramp-delay = <2768>;
					regulator-ramp-delay = <100000>;

					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-always-on;
					regulator-boot-on;

					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <1160>;
					regulator-ramp-delay = <100000>;

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

		max77621_cpu: pmic@1b {
			compatible = "maxim,max77621";
			reg = <0x1b>;
			 interrupt-parent = <&gpio>;
			 interrupts = <TEGRA_GPIO(K, 6) IRQ_TYPE_LEVEL_LOW>;
			regulator-name = "PPVAR_CPU";
			// smaug: 800000..1231250
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <1231250>;
			regulator-ramp-delay = <12000>;
			maxim,externally-enable;
			maxim,enable-gpio = <&max77620 5 0>;
			maxim,dvs-default-state = <1>;
			regulator-always-on;
			maxim,enable-remote-sense;
			maxim,enable-active-discharge;
			junction-warn-millicelsius = <120>;

			// not supported in mainline yet
			//maxim,inductor-value = <MAX8973_INDUCTOR_VAL_PLUS_30_PER>;

			#thermal-sensor-cells = <0>;
		};

		max77621_gpu: pmic@1c {
			compatible = "maxim,max77621";
			reg = <0x1c>;
			 interrupt-parent = <&gpio>;
			 interrupts = <TEGRA_GPIO(K, 7) IRQ_TYPE_LEVEL_LOW>;
			regulator-name = "PPVAR_GPU";
			regulator-min-microvolt = <840000>;
			regulator-max-microvolt = <1150000>;
			regulator-ramp-delay = <12000>;
			maxim,externally-enable;
			maxim,enable-gpio = <&max77620 6 0>;
			maxim,dvs-default-state = <1>;
			maxim,enable-remote-sense;
			maxim,enable-active-discharge;
			junction-warn-millicelsius = <120>;

			// not supported in mainline yet
			//maxim,inductor-value = <MAX8973_INDUCTOR_VAL_PLUS_30_PER>;

			#thermal-sensor-cells = <0>;
		};
	};

	pmc@7000e400 {
		nvidia,invert-interrupt;
	};


	padctl@7009f000 {
		status = "okay";

		pads {
			usb2 {
				status = "okay";

				lanes {
					usb2-0 {
						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";
				vbus-supply = <&vdd_3v3_sys>;
				nvidia,usb3-port-fake = <3>;
				mode = "otg";
			};

			usb3-0 {
				nvidia,usb2-companion = <0>;
				vbus-supply = <&vdd_3v3_sys>;
				mode = "otg";
				status = "okay";
			};
		};
	};

	xudc@700d0000 {
		status = "okay";
		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>;
		phy-names = "usb2";
		avddio_usb-supply = <&vdd_pex_1v05>;
		hvdd_usb-supply = <&vdd_3v3_sys>;
		avdd_pll_utmip-supply = <&vdd_1v8>;
		extcon = <&bm92t 1>;
	};

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

		dvddio-pex-supply = <&vdd_pex_1v05>;
		hvddio-pex-supply = <&vdd_1v8>;
		avdd-usb-supply = <&vdd_3v3_sys>;
		avdd-pll-utmip-supply = <&vdd_1v8>;
		avdd-pll-uerefe-supply = <&avdd_1v05_pll>;
		dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>;
		hvdd-usb-ss-pll-e-supply = <&vdd_1v8>;
		extcon = <&bm92t 0>;
	};

	ehci: usb@7d000000 {
		status = "disabled";
	};

	/* MMC/SD */
	sdhci@700b0000 {
		status = "okay";
		bus-width = <4>;
		max-frequency = <100000000>;

		cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
		power-gpios = <&gpio TEGRA_GPIO(E, 4) GPIO_ACTIVE_HIGH>;
		vqmmc-supply = <&vddio_sdmmc>;
	};

	/* eMMC */
	sdhci@700b0600 {
		status = "disabled";
		bus-width = <8>;
		non-removable;
	};

	aconnect@702c0000 {
		status = "okay";

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

		agic@702f9000 {
			status = "okay";
		};
	};

	clocks {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

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

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

		volume_down {
			label = "Volume Down";
			gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEDOWN>;
		};

		volume_up {
			label = "Volume Up";
			gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};

		power {
			label = "Power";
			gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>;
			linux,code = <KEY_POWER>;
			wakeup-source;
		};
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

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

		pavdd: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "pavdd";
			regulator-min-microvolt = <5400000>;
			regulator-max-microvolt = <5400000>;
			gpio = <&gpio TEGRA_GPIO(I, 0) GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		navdd: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "navdd";
			regulator-min-microvolt = <5400000>;
			regulator-max-microvolt = <5400000>;
			gpio = <&gpio TEGRA_GPIO(I, 1) GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		vdd_dsi_csi: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "AVDD_DSI_CSI_1V2";
			gpio = <&max77620 7 0>;
			enable-active-high;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			vin-supply = <&vdd_sys_1v2>;
			regulator-always-on;
			regulator-boot-on;
		};

		vdd_touchscreen: regulator@5 {
			compatible = "regulator-fixed";
			reg = <5>;
			regulator-name = "vdd_touchscreen";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			gpio = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};
	};

	gpio@6000d000 {
		otg {
			gpio-hog;
			gpios = <TEGRA_GPIO(CC, 5) GPIO_ACTIVE_HIGH>;
			output-high;
			line-name = "otg-gpio";
		};
	};

	thermal-zones {
		cpu {
			polling-delay-passive = <250>;
			polling-delay = <500>;
			hwmon;

			trips {
				cpu_alert0: cpu-alert-0 {
					temperature = <40000>;
					hysteresis = <5000>;
					type = "active";
				};
				cpu_alert1: cpu-alert-1 {
					temperature = <50000>;
					hysteresis = <5000>;
					type = "active";
				};
				cpu_alert2: cpu-alert-2 {
					temperature = <60000>;
					hysteresis = <5000>;
					type = "active";
				};
				cpu_alert3: cpu-alert-3 {
					temperature = <70000>;
					hysteresis = <5000>;
					type = "active";
				};
				cpu_alert4: cpu-alert-4 {
					temperature = <80000>;
					hysteresis = <5000>;
					type = "active";
				};
			};

			cooling-maps {
				map1 {
					trip = <&cpu_alert0>;
					cooling-device = <&fan 1 2>;
				};
				map2 {
					trip = <&cpu_alert1>;
					cooling-device = <&fan 2 3>;
				};
				map3 {
					trip = <&cpu_alert2>;
					cooling-device = <&fan 3 5>;
				};
				map4 {
					trip = <&cpu_alert3>;
					cooling-device = <&fan 5 6>;
				};
				map5 {
					trip = <&cpu_alert4>;
					cooling-device = <&fan 6 THERMAL_NO_LIMIT>;
				};
			};
		};

		gpu {
			polling-delay-passive = <250>;
			polling-delay = <500>;
			hwmon;

			trips {
				gpu_alert0: gpu-alert-0 {
					temperature = <40000>;
					hysteresis = <5000>;
					type = "active";
				};
				gpu_alert1: gpu-alert-1 {
					temperature = <50000>;
					hysteresis = <5000>;
					type = "active";
				};
				gpu_alert2: gpu-alert-2 {
					temperature = <60000>;
					hysteresis = <5000>;
					type = "active";
				};
				gpu_alert3: gpu-alert-3 {
					temperature = <70000>;
					hysteresis = <5000>;
					type = "active";
				};
				gpu_alert4: gpu-alert-4 {
					temperature = <80000>;
					hysteresis = <5000>;
					type = "active";
				};
			};

			cooling-maps {
				map1 {
					trip = <&gpu_alert0>;
					cooling-device = <&fan 1 2>;
				};
				map2 {
					trip = <&gpu_alert1>;
					cooling-device = <&fan 2 3>;
				};
				map3 {
					trip = <&gpu_alert2>;
					cooling-device = <&fan 3 5>;
				};
				map4 {
					trip = <&gpu_alert3>;
					cooling-device = <&fan 5 6>;
				};
				map5 {
					trip = <&gpu_alert4>;
					cooling-device = <&fan 6 THERMAL_NO_LIMIT>;
				};
			};
		};

		mem {
			hwmon;
		};

		pllx {
			hwmon;
		};

		pmic {
			polling-delay-passive = <250>;
			polling-delay = <500>;
			thermal-sensors = <&max77620>;

			trips {
				pmic_die_warn_temp_thresh: hot-die {
					temperature = <120000>;
					type = "hot";
					hysteresis = <0>;
				};

				pmic_die_cirt_temp_thresh: critical-die {
					temperature = <140000>;
					type = "critical";
					hysteresis = <0>;
				};
			};

			cooling-maps {
				map0 {
					trip = <&pmic_die_warn_temp_thresh>;
					cooling-device = <&throttle_heavy 1 1>;
					contribution = <100>;
				};
			};
		};

		cpu_vreg {
			polling-delay-passive = <250>;
			polling-delay = <500>;
			thermal-sensors = <&max77621_cpu>;

			trips {
				cpu_vreg_die_warn_temp_thresh: hot-die {
					temperature = <120000>;
					type = "hot";
					hysteresis = <0>;
				};
			};

			cooling-maps {
				map0 {
					trip = <&cpu_vreg_die_warn_temp_thresh>;
					cooling-device = <&throttle_heavy 1 1>;
					contribution = <100>;
				};
			};
		};

		gpu_vreg {
			polling-delay-passive = <250>;
			polling-delay = <500>;
			thermal-sensors = <&max77621_gpu>;

			trips {
				gpu_vreg_die_warn_temp_thresh: hot-die {
					temperature = <120000>;
					type = "hot";
					hysteresis = <0>;
				};
			};

			cooling-maps {
				/*
				* There are currently no cooling maps,
				* because there are no cooling devices.
				*/
			};
		};

	};
};