426 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			426 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0
 | 
						|
#include "tegra186.dtsi"
 | 
						|
 | 
						|
#include <dt-bindings/mfd/max77620.h>
 | 
						|
 | 
						|
/ {
 | 
						|
	model = "NVIDIA Jetson TX2";
 | 
						|
	compatible = "nvidia,p3310", "nvidia,tegra186";
 | 
						|
 | 
						|
	aliases {
 | 
						|
		ethernet0 = "/ethernet@2490000";
 | 
						|
		i2c0 = "/bpmp/i2c";
 | 
						|
		i2c1 = "/i2c@3160000";
 | 
						|
		i2c2 = "/i2c@c240000";
 | 
						|
		i2c3 = "/i2c@3180000";
 | 
						|
		i2c4 = "/i2c@3190000";
 | 
						|
		i2c5 = "/i2c@31c0000";
 | 
						|
		i2c6 = "/i2c@c250000";
 | 
						|
		i2c7 = "/i2c@31e0000";
 | 
						|
		mmc0 = "/mmc@3460000";
 | 
						|
		mmc1 = "/mmc@3400000";
 | 
						|
		serial0 = &uarta;
 | 
						|
	};
 | 
						|
 | 
						|
	chosen {
 | 
						|
		bootargs = "earlycon console=ttyS0,115200n8 fw_devlink=on";
 | 
						|
		stdout-path = "serial0:115200n8";
 | 
						|
	};
 | 
						|
 | 
						|
	memory@80000000 {
 | 
						|
		device_type = "memory";
 | 
						|
		reg = <0x0 0x80000000 0x2 0x00000000>;
 | 
						|
	};
 | 
						|
 | 
						|
	ethernet@2490000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4)
 | 
						|
					 GPIO_ACTIVE_LOW>;
 | 
						|
		phy-handle = <&phy>;
 | 
						|
		phy-mode = "rgmii";
 | 
						|
 | 
						|
		mdio {
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			phy: ethernet-phy@0 {
 | 
						|
				compatible = "ethernet-phy-ieee802.3-c22";
 | 
						|
				reg = <0x0>;
 | 
						|
				interrupt-parent = <&gpio>;
 | 
						|
				interrupts = <TEGRA186_MAIN_GPIO(M, 5)
 | 
						|
					      IRQ_TYPE_LEVEL_LOW>;
 | 
						|
 | 
						|
				#phy-cells = <0>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	memory-controller@2c00000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	serial@3100000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@3160000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		power-monitor@40 {
 | 
						|
			compatible = "ti,ina3221";
 | 
						|
			reg = <0x40>;
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			input@0 {
 | 
						|
				reg = <0x0>;
 | 
						|
				label = "VDD_SYS_GPU";
 | 
						|
				shunt-resistor-micro-ohms = <10000>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@1 {
 | 
						|
				reg = <0x1>;
 | 
						|
				label = "VDD_SYS_SOC";
 | 
						|
				shunt-resistor-micro-ohms = <10000>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@2 {
 | 
						|
				reg = <0x2>;
 | 
						|
				label = "VDD_3V8_WIFI";
 | 
						|
				shunt-resistor-micro-ohms = <10000>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		power-monitor@41 {
 | 
						|
			compatible = "ti,ina3221";
 | 
						|
			reg = <0x41>;
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			input@0 {
 | 
						|
				reg = <0x0>;
 | 
						|
				label = "VDD_IN";
 | 
						|
				shunt-resistor-micro-ohms = <5000>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@1 {
 | 
						|
				reg = <0x1>;
 | 
						|
				label = "VDD_SYS_CPU";
 | 
						|
				shunt-resistor-micro-ohms = <10000>;
 | 
						|
			};
 | 
						|
 | 
						|
			input@2 {
 | 
						|
				reg = <0x2>;
 | 
						|
				label = "VDD_5V0_DDR";
 | 
						|
				shunt-resistor-micro-ohms = <10000>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@3180000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	ddc: i2c@3190000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@31c0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@31e0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	/* SDMMC1 (SD/MMC) */
 | 
						|
	mmc@3400000 {
 | 
						|
		cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
 | 
						|
		wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
 | 
						|
 | 
						|
		vqmmc-supply = <&vddio_sdmmc1>;
 | 
						|
	};
 | 
						|
 | 
						|
	/* SDMMC3 (SDIO) */
 | 
						|
	mmc@3440000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	/* SDMMC4 (eMMC) */
 | 
						|
	mmc@3460000 {
 | 
						|
		status = "okay";
 | 
						|
		bus-width = <8>;
 | 
						|
		non-removable;
 | 
						|
 | 
						|
		vqmmc-supply = <&vdd_1v8_ap>;
 | 
						|
		vmmc-supply = <&vdd_3v3_sys>;
 | 
						|
	};
 | 
						|
 | 
						|
	hsp@3c00000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@c240000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	i2c@c250000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		/* module ID EEPROM */
 | 
						|
		eeprom@50 {
 | 
						|
			compatible = "atmel,24c02";
 | 
						|
			reg = <0x50>;
 | 
						|
 | 
						|
			label = "module";
 | 
						|
			vcc-supply = <&vdd_1v8>;
 | 
						|
			address-width = <8>;
 | 
						|
			pagesize = <8>;
 | 
						|
			size = <256>;
 | 
						|
			read-only;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	rtc@c2a0000 {
 | 
						|
		status = "okay";
 | 
						|
	};
 | 
						|
 | 
						|
	pmc@c360000 {
 | 
						|
		nvidia,invert-interrupt;
 | 
						|
	};
 | 
						|
 | 
						|
	cpus {
 | 
						|
		cpu@0 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@1 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@2 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@3 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@4 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
 | 
						|
		cpu@5 {
 | 
						|
			enable-method = "psci";
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	bpmp {
 | 
						|
		i2c {
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			pmic: pmic@3c {
 | 
						|
				compatible = "maxim,max77620";
 | 
						|
				reg = <0x3c>;
 | 
						|
 | 
						|
				interrupt-parent = <&pmc>;
 | 
						|
				interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
 | 
						|
				#interrupt-cells = <2>;
 | 
						|
				interrupt-controller;
 | 
						|
 | 
						|
				#gpio-cells = <2>;
 | 
						|
				gpio-controller;
 | 
						|
 | 
						|
				pinctrl-names = "default";
 | 
						|
				pinctrl-0 = <&max77620_default>;
 | 
						|
 | 
						|
				max77620_default: pinmux {
 | 
						|
					gpio0 {
 | 
						|
						pins = "gpio0";
 | 
						|
						function = "gpio";
 | 
						|
					};
 | 
						|
 | 
						|
					gpio1 {
 | 
						|
						pins = "gpio1";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio2 {
 | 
						|
						pins = "gpio2";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio3 {
 | 
						|
						pins = "gpio3";
 | 
						|
						function = "fps-out";
 | 
						|
						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio4 {
 | 
						|
						pins = "gpio4";
 | 
						|
						function = "32k-out1";
 | 
						|
						drive-push-pull = <1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio5 {
 | 
						|
						pins = "gpio5";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <0>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio6 {
 | 
						|
						pins = "gpio6";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <1>;
 | 
						|
					};
 | 
						|
 | 
						|
					gpio7 {
 | 
						|
						pins = "gpio7";
 | 
						|
						function = "gpio";
 | 
						|
						drive-push-pull = <0>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				fps {
 | 
						|
					fps0 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
 | 
						|
					fps1 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
 | 
						|
					fps2 {
 | 
						|
						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
 | 
						|
						maxim,shutdown-fps-time-period-us = <640>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
 | 
						|
				regulators {
 | 
						|
					in-sd0-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd1-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd2-supply = <&vdd_5v0_sys>;
 | 
						|
					in-sd3-supply = <&vdd_5v0_sys>;
 | 
						|
 | 
						|
					in-ldo0-1-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo2-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo3-5-supply = <&vdd_5v0_sys>;
 | 
						|
					in-ldo4-6-supply = <&vdd_1v8>;
 | 
						|
					in-ldo7-8-supply = <&avdd_dsi_csi>;
 | 
						|
 | 
						|
					sd0 {
 | 
						|
						regulator-name = "VDD_DDR_1V1_PMIC";
 | 
						|
						regulator-min-microvolt = <1100000>;
 | 
						|
						regulator-max-microvolt = <1100000>;
 | 
						|
						regulator-always-on;
 | 
						|
						regulator-boot-on;
 | 
						|
					};
 | 
						|
 | 
						|
					avdd_dsi_csi: sd1 {
 | 
						|
						regulator-name = "AVDD_DSI_CSI_1V2";
 | 
						|
						regulator-min-microvolt = <1200000>;
 | 
						|
						regulator-max-microvolt = <1200000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_1v8: sd2 {
 | 
						|
						regulator-name = "VDD_1V8";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <1800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_3v3_sys: sd3 {
 | 
						|
						regulator-name = "VDD_3V3_SYS";
 | 
						|
						regulator-min-microvolt = <3300000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_1v8_pll: ldo0 {
 | 
						|
						regulator-name = "VDD_1V8_AP_PLL";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <1800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					ldo2 {
 | 
						|
						regulator-name = "VDDIO_3V3_AOHV";
 | 
						|
						regulator-min-microvolt = <3300000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
						regulator-always-on;
 | 
						|
						regulator-boot-on;
 | 
						|
					};
 | 
						|
 | 
						|
					vddio_sdmmc1: ldo3 {
 | 
						|
						regulator-name = "VDDIO_SDMMC1_AP";
 | 
						|
						regulator-min-microvolt = <1800000>;
 | 
						|
						regulator-max-microvolt = <3300000>;
 | 
						|
					};
 | 
						|
 | 
						|
					ldo4 {
 | 
						|
						regulator-name = "VDD_RTC";
 | 
						|
						regulator-min-microvolt = <1000000>;
 | 
						|
						regulator-max-microvolt = <1000000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vddio_sdmmc3: ldo5 {
 | 
						|
						regulator-name = "VDDIO_SDMMC3_AP";
 | 
						|
						regulator-min-microvolt = <2800000>;
 | 
						|
						regulator-max-microvolt = <2800000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_hdmi_1v05: ldo7 {
 | 
						|
						regulator-name = "VDD_HDMI_1V05";
 | 
						|
						regulator-min-microvolt = <1050000>;
 | 
						|
						regulator-max-microvolt = <1050000>;
 | 
						|
					};
 | 
						|
 | 
						|
					vdd_pex: ldo8 {
 | 
						|
						regulator-name = "VDD_PEX_1V05";
 | 
						|
						regulator-min-microvolt = <1050000>;
 | 
						|
						regulator-max-microvolt = <1050000>;
 | 
						|
					};
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	psci {
 | 
						|
		compatible = "arm,psci-1.0";
 | 
						|
		status = "okay";
 | 
						|
		method = "smc";
 | 
						|
	};
 | 
						|
 | 
						|
	gnd: regulator-gnd {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "GND";
 | 
						|
		regulator-min-microvolt = <0>;
 | 
						|
		regulator-max-microvolt = <0>;
 | 
						|
		regulator-always-on;
 | 
						|
		regulator-boot-on;
 | 
						|
	};
 | 
						|
 | 
						|
	vdd_5v0_sys: regulator-vdd-5v0-sys {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "VDD_5V0_SYS";
 | 
						|
		regulator-min-microvolt = <5000000>;
 | 
						|
		regulator-max-microvolt = <5000000>;
 | 
						|
		regulator-always-on;
 | 
						|
		regulator-boot-on;
 | 
						|
	};
 | 
						|
 | 
						|
	vdd_1v8_ap: regulator-vdd-1v8-ap {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "VDD_1V8_AP";
 | 
						|
		regulator-min-microvolt = <1800000>;
 | 
						|
		regulator-max-microvolt = <1800000>;
 | 
						|
 | 
						|
		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
 | 
						|
		enable-active-high;
 | 
						|
 | 
						|
		vin-supply = <&vdd_1v8>;
 | 
						|
	};
 | 
						|
};
 |