tegrakernel/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-e-base-p259...

1084 lines
26 KiB
Plaintext
Raw Permalink Normal View History

2022-02-16 09:13:02 -06:00
/*
* arch/arm64/boot/dts/tegra210-jetson-e-base-p2595-0000-a00.dts
*
* Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*/
/dts-v1/;
/memreserve/ 0x80000000 0x00020000;
#include "tegra210-jetson-common.dtsi"
#include "jetson-platforms/tegra210-jetson-e-power-tree-p2530-0930-e03.dtsi"
#include "jetson-platforms/tegra210-jetson-e-gpio-p2530-0930-e03.dtsi"
#include "jetson-platforms/tegra210-jetson-e-pinmux-p2530-0930-e03.dtsi"
#include "jetson-platforms/tegra210-jetson-e-prods.dtsi"
#include "jetson-platforms/tegra210-comms-p2530-0930.dtsi"
#include "jetson-platforms/tegra210-jetson-e-camera-p2530-0930-e03.dtsi"
#include "jetson-platforms/tegra210-pwm-fan-p2530-0930.dtsi"
#include <panels/panel-s-wqxga-10-1.dtsi>
#include <panels/panel-a-wuxga-8-0.dtsi>
#include <t210-common-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi>
#include <t210-common-platforms/tegra210-platform-common-sensor.dtsi>
#include <tegra210-soc/tegra210-sdhci.dtsi>
#include <t210-common-platforms/tegra210-p2530-common.dtsi>
#include "jetson-platforms/tegra210-thermal-fan-est-p2530-0930.dtsi"
#include "jetson-platforms/tegra210-jetson-e-powermon-p2595-0000-a00.dtsi"
#include <dt-bindings/iio/meter/ina3221x.h>
#include <t210-common-platforms/tegra210-otg-gpio-detection-extcon.dtsi>
#include "jetson-platforms/tegra210-jetson-e-emc-p2530-e01.dtsi"
#include "tegra210-soc/tegra210-edp.dtsi"
#include <t210-common-platforms/tegra210-sysedp.dtsi>
#include "tegra210-soc/tegra210-audio.dtsi"
#include <t210-common-platforms/tegra210-thermal-nct72-p2530.dtsi>
#include <tegra210-soc/tegra210-thermal-Tboard-Tdiode.dtsi>
#include "jetson-platforms/tegra210-jetson-e-powermon-p2530-0930-e03.dtsi"
#include <t210-common-platforms/tegra210-cpufreq.dtsi>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "jetson_e";
compatible = "nvidia,jetson-e", "nvidia,tegra210";
nvidia,dtsfilename = __FILE__;
nvidia,boardids = "2595:0000:A0";
nvidia,proc-boardid = "2595:0000:A0";
nvidia,pmu-boardid = "2595:0000:A0";
#address-cells = <2>;
#size-cells = <2>;
chosen {
stdout-path = &uarta;
};
pmc@7000e400 {
nvidia,invert-interrupt;
iopad-defaults {
audio-hv-pads {
pins = "audio-hv";
nvidia,power-source-voltage = <TEGRA_IO_PAD_VOLTAGE_1800000UV>;
};
spi-hv-pads {
pins = "spi-hv";
nvidia,power-source-voltage = <TEGRA_IO_PAD_VOLTAGE_1800000UV>;
};
sdmmc-io-pads {
pins = "sdmmc1";
nvidia,enable-voltage-switching;
};
sdmmc3-io-pads {
pins = "sdmmc3";
nvidia,enable-voltage-switching;
low-power-enable;
};
};
};
memory@80000000 {
device_type = "memory";
reg = < 0x0 0x80000000 0x0 0x80000000 >;
};
sdhci@700b0600 { /* SDMMC4 for EMMC */
uhs-mask = <0x0>;
built-in;
power-off-rail;
status = "okay";
};
sdhci@700b0200 { /* SDMMC2 for Wifi */
uhs-mask = <0x8>;
power-off-rail;
status = "okay";
};
sdhci@700b0000 { /* SDMMC1 for uSD card */
uhs-mask = <0xc>;
power-off-rail;
nvidia,update-pinctrl-settings;
nvidia,sd-device;
max-clk-limit = <180000000>;
status = "okay";
};
adma@702e2000 {
status = "okay";
};
ahub {
i2s@702d1000 {
pinctrl-names = "dap_active", "dap_inactive";
pinctrl-0 = <>;
pinctrl-1 = <>;
regulator-supplies = "vdd-1v8-audio-hv", "vdd-1v8-audio-hv-bias";
vdd-1v8-audio-hv-supply = <&max77620_sd3>;
vdd-1v8-audio-hv-bias-supply = <&max77620_sd3>;
};
i2s@702d1300 {
pinctrl-names = "dap_active", "dap_inactive";
pinctrl-0 = <>;
pinctrl-1 = <>;
regulator-supplies = "vddio-dmic";
vddio-dmic-supply = <&max77620_sd3>;
};
i2s@702d1100 {
pinctrl-names = "dap_active", "dap_inactive";
pinctrl-0 = <>;
pinctrl-1 = <>;
regulator-supplies = "vdd-1v8-spi-hv", "vdd-1v8-spi-hv-bias";
vdd-1v8-spi-hv-supply = <&max77620_sd3>;
vdd-1v8-spi-hv-bias-supply = <&max77620_sd3>;
fsync-width = <0>;
bclk-ratio = <4>;
};
};
sata@70020000 {
compatible = "nvidia,tegra210-ahci-sata";
nvidia,enable-sata-port;
status = "okay";
};
backlight {
compatible = "pwm-backlight";
status = "okay";
label = "pwm-backlight";
power-supply = <&max77620_sd3>;
panel-s-wqxga-10-1-bl {
pwms = <&tegra_pwm 0 1000000>;
};
panel-a-wuxga-8-0-bl {
pwms = <&tegra_pwm 0 40161>;
};
};
camera-pcl {
profiles {
ov5693@2_0010 {
use_of_node = "yes";
dev_name = "ov5693";
num = <0>;
vana-supply = <&max77620_ldo3>;
vif-supply = <&en_vdd_cam>;
cam2-gpios = <&gpio CAM_PWDN_RQ 0>;
};
ad5823@2_000c {
use_of_node = "yes";
vdd-supply = <&max77620_ldo3>;
vif-supply = <&en_vdd_cam>;
af-pwdn-gpios = <&gpio CAM_PWDN_AF 0>;
};
ov5693@2_0036 {
use_of_node = "yes";
dev_name = "ov5693";
num = <1>;
vana-supply = <&max77620_ldo3>;
vif-supply = <&en_vdd_cam>;
cam2-gpios = <&gpio CAM_PWDN_FQ 0>;
};
ov10823@6_0020 {
use_of_node = "yes";
dev_name = "ov10823";
num = <0>;
cam,cam-change-i2c-addr;
cam,cam-sids-high-to-low;
cam,cam-skip-sw-reset;
#cam,cam-i2c-recovery;
cam,cam-use-osc-for-mclk;
cam,cam-use-26mhz-mclk;
default_i2c_sid_low = <OV10823_DEFAULT_I2C_ADDR_SID_LOW>;
default_i2c_sid_high = <OV10823_DEFAULT_I2C_ADDR_SID_HIGH>;
regw_sid_low = <OV10823_SENSOR_REG_RW_SID_LOW>;
regw_sid_high = <OV10823_SENSOR_REG_RW_SID_HIGH>;
cam1i2c_addr = <OV10823_I2C_ADDR_CAM1>;
cam2i2c_addr = <OV10823_I2C_ADDR_CAM2>;
cam3i2c_addr = <OV10823_I2C_ADDR_CAM3>;
cam1sid-gpios = <&gpio TEGRA_GPIO(T, 1) 0>;
cam2sid-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
cam3sid-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
};
ov10823@6_0022 {
use_of_node = "yes";
dev_name = "ov10823";
num = <1>;
cam,cam-change-i2c-addr;
cam,cam-sids-high-to-low;
cam,cam-skip-sw-reset;
#cam,cam-i2c-recovery;
cam,cam-use-osc-for-mclk;
cam,cam-use-26mhz-mclk;
default_i2c_sid_low = <OV10823_DEFAULT_I2C_ADDR_SID_LOW>;
default_i2c_sid_high = <OV10823_DEFAULT_I2C_ADDR_SID_HIGH>;
regw_sid_low = <OV10823_SENSOR_REG_RW_SID_LOW>;
regw_sid_high = <OV10823_SENSOR_REG_RW_SID_HIGH>;
cam1i2c_addr = <OV10823_I2C_ADDR_CAM1>;
cam2i2c_addr = <OV10823_I2C_ADDR_CAM2>;
cam3i2c_addr = <OV10823_I2C_ADDR_CAM3>;
cam1sid-gpios = <&gpio TEGRA_GPIO(T, 1) 0>;
cam2sid-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
cam3sid-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
};
ov10823@6_0024 {
use_of_node = "yes";
dev_name = "ov10823";
num = <2>;
cam,cam-change-i2c-addr;
cam,cam-sids-high-to-low;
cam,cam-skip-sw-reset;
#cam,cam-i2c-recovery;
cam,cam-use-osc-for-mclk;
cam,cam-use-26mhz-mclk;
default_i2c_sid_low = <OV10823_DEFAULT_I2C_ADDR_SID_LOW>;
default_i2c_sid_high = <OV10823_DEFAULT_I2C_ADDR_SID_HIGH>;
regw_sid_low = <OV10823_SENSOR_REG_RW_SID_LOW>;
regw_sid_high = <OV10823_SENSOR_REG_RW_SID_HIGH>;
cam1i2c_addr = <OV10823_I2C_ADDR_CAM1>;
cam2i2c_addr = <OV10823_I2C_ADDR_CAM2>;
cam3i2c_addr = <OV10823_I2C_ADDR_CAM3>;
cam1sid-gpios = <&gpio TEGRA_GPIO(T, 1) 0>;
cam2sid-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
cam3sid-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
};
};
dpd {
default-enable;
};
};
pcie@1003000 {
nvidia,wake-gpio = <&gpio TEGRA_GPIO(A, 2) 0>;
avdd-pll-uerefe-supply = <&max77620_ldo7>;
hvddio-pex-supply = <&max77620_sd3>;
dvddio-pex-supply = <&max77620_ldo1>;
dvdd-pex-pll-supply = <&max77620_ldo1>;
hvdd-pex-pll-e-supply = <&max77620_sd3>;
vddio-pex-ctl-supply = <&max77620_sd3>;
status = "okay";
pci@1,0 {
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-1}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-2}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-3}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-4}>;
phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3";
#endif
nvidia,num-lanes = <4>;
status = "okay";
};
pci@2,0 {
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-0}>;
phy-names = "pcie-0";
#endif
nvidia,num-lanes = <1>;
status = "okay";
};
};
host1x {
/* tegradc.0 */
dc@54200000 {
status = "okay";
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
nvidia,emc-clk-rate = <300000000>;
nvidia,fb-bpp = <32>; /* bits per pixel */
nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
nvidia,dc-or-node = "/host1x/dsi";
nvidia,dc-connector = <&dsi>;
};
/* tegradc.1 */
dc@54240000 {
status = "okay";
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
nvidia,emc-clk-rate = <300000000>;
nvidia,cmu-enable = <1>;
nvidia,fb-bpp = <32>; /* bits per pixel */
nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
nvidia,dc-or-node = "/host1x/sor1";
nvidia,dc-connector = <&sor1>;
};
dsi {
nvidia,dsi-controller-vs = <DSI_VS_1>;
status = "okay";
panel-s-wqxga-10-1 {
status = "okay";
nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
nvidia,dsi-te-gpio = <&gpio TEGRA_GPIO(Y, 2) 0>;
};
panel-a-wuxga-8-0 {
status = "okay";
nvidia,dsi-dpd-pads = <DSIC_DPD_EN DSID_DPD_EN>;
nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
disp-default-out {
nvidia,out-flags = <TEGRA_DC_OUT_CONTINUOUS_MODE TEGRA_DC_OUT_INITIALIZED_MODE>;
};
};
};
sor {
status = "disabled";
panel-s-edp-uhdtv-15-6 {
status = "disabled";
};
prod-settings {
status = "disabled";
};
};
dpaux1 {
status = "okay";
};
i2c@546c0000 {
status = "disabled";
avdd_dsi_csi-supply = <&max77620_gpio7>;
};
vi {
status = "disabled";
avdd_dsi_csi-supply = <&max77620_gpio7>;
};
};
spi@7000da00 {
status = "ok";
};
spi@7000d400 {
status = "okay";
};
sound_card: sound {
compatible = "nvidia,tegra-audio-t210ref-mobile-rt5639";
nvidia,model = "tegra-snd-t210ref-mobile-rt5639";
nvidia,ldo-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA210_CLK_EXTERN1>;
clock-names = "pll_a", "pll_a_out0", "extern1";
assigned-clocks = <&tegra_car TEGRA210_CLK_EXTERN1>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
nvidia,num-codec-link = <3>;
nvidia,audio-routing =
"x Headphone Jack", "x HPOL",
"x Headphone Jack", "x HPOR",
"x Int Spk", "x SPORP",
"x Int Spk", "x SPORN",
"x Int Spk", "x SPOLP",
"x Int Spk", "x SPOLN",
"x Mic Jack", "x MICBIAS1",
"x IN2P", "x Mic Jack",
"x IN2P", "x Mic Jack",
"x DMIC L1", "x Int Mic",
"x DMIC L2", "x Int Mic",
"x DMIC R1", "x Int Mic",
"x DMIC R2", "x Int Mic",
"y Headphone", "y OUT",
"y IN", "y Mic",
"z IN", "z OUT";
nvidia,xbar = <&tegra_axbar>;
mclk-fs = <256>;
nvidia,dai-link-1 {
link-name = "rt5640-playback";
cpu-dai = <&tegra_i2s1>;
codec-dai = <&rt5640>;
cpu-dai-name = "I2S1";
codec-dai-name = "rt5640-aif1";
format = "i2s";
bit-format = "s16_le";
srate = <48000>;
num-channel = <2>;
name-prefix = "x";
};
nvidia,dai-link-2 {
link-name = "spdif-dit-1";
cpu-dai = <&tegra_i2s2>;
codec-dai = <&spdif_dit1>;
cpu-dai-name = "I2S2";
codec-dai-name = "dit-hifi";
format = "dsp_a";
bitclock-inversion;
bit-format = "s16_le";
srate = <8000>;
num-channel = <1>;
name-prefix = "y";
};
nvidia,dai-link-3 {
link-name = "spdif-dit-3";
cpu-dai = <&tegra_i2s3>;
codec-dai = <&spdif_dit3>;
cpu-dai-name = "I2S3";
codec-dai-name = "dit-hifi";
format = "i2s";
bit-format = "s16_le";
srate = <48000>;
num-channel = <2>;
name-prefix = "z";
};
};
adsp_audio {
compr-ops = <1>;
num-plugin = <4>;
plugin-info-1 {
plugin-name = "mp3-dec1";
firmware-name = "nvmp3dec.elf";
widget-name = "MP3-DEC1";
};
plugin-info-2 {
plugin-name = "spkprot";
firmware-name = "nvspkprot.elf";
widget-name = "SPKPROT-SW";
};
plugin-info-3 {
plugin-name = "src";
firmware-name = "nvsrc.elf";
widget-name = "SRC";
};
plugin-info-4 {
plugin-name = "aac-dec1";
firmware-name = "nvaacdec.elf";
widget-name = "AAC-DEC1";
};
};
extcon {
extcon@0 {
status = "disabled";
};
};
mailbox@70098000 {
status = "okay";
};
usb_cd {
status = "okay";
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@7009f000/pads/usb2/lanes/usb2-0}>;
#else
phys = <&tegra_padctl_uphy TEGRA_PADCTL_UPHY_UTMI_P(0)>;
#endif
phy-names = "otg-phy";
};
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xusb_padctl@7009f000 {
status = "okay";
pads {
usb2 {
status = "okay";
lanes {
usb2-0 {
status = "okay";
nvidia,function = "xusb";
};
usb2-1 {
status = "okay";
nvidia,function = "xusb";
};
usb2-2 {
status = "okay";
nvidia,function = "xusb";
};
};
};
pcie {
status = "okay";
lanes {
pcie-0 {
status = "okay";
nvidia,function = "pcie-x1";
};
pcie-1 {
status = "okay";
nvidia,function = "pcie-x4";
};
pcie-2 {
status = "okay";
nvidia,function = "pcie-x4";
};
pcie-3 {
status = "okay";
nvidia,function = "pcie-x4";
};
pcie-4 {
status = "okay";
nvidia,function = "pcie-x4";
};
pcie-5 {
status = "okay";
nvidia,function = "xusb";
};
pcie-6 {
status = "okay";
nvidia,function = "xusb";
};
};
};
sata {
status = "okay";
lanes {
sata-0 {
status = "okay";
nvidia,function = "sata";
};
};
};
hsic {
status = "okay";
lanes {
hsic-0 {
status = "okay";
nvidia,function = "xusb";
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "otg";
nvidia,usb3-port-fake = <2>;
};
usb2-1 {
status = "okay";
mode = "host";
};
usb2-2 {
status = "okay";
mode = "host";
};
usb3-0 {
status = "okay";
nvidia,usb2-companion = <1>;
};
usb3-1 {
status = "okay";
nvidia,usb2-companion = <2>;
};
hsic-0 {
status = "okay";
};
};
};
#endif
pinctrl@7009f000 {
status = "okay";
pinctrl-0 = <&tegra_padctl_uphy_pinmux_default>;
pinctrl-names = "default";
tegra_padctl_uphy_pinmux_default: pinmux {
usb2-micro-AB-xusb {
nvidia,lanes = "otg-0";
nvidia,function = "xusb";
nvidia,port-cap =
<TEGRA_PADCTL_PORT_OTG_CAP>;
};
usb3-for-dev-mode {
nvidia,lanes = "uphy-lane-0";
nvidia,function = "usb3";
nvidia,usb3-port = <2>;
nvidia,usb2-map = <0>;
nvidia,port-cap =
<TEGRA_PADCTL_PORT_OTG_CAP>;
};
usb2-micro-AB-snps {
nvidia,lanes = "otg-0";
nvidia,function = "snps";
status = "disabled";
};
usb2-std-A-port0 {
nvidia,lanes = "otg-2";
nvidia,function = "xusb";
nvidia,port-cap =
<TEGRA_PADCTL_PORT_HOST_ONLY>;
};
usb3-std-A-port0 {
nvidia,lanes = "uphy-lane-5";
nvidia,function = "usb3";
nvidia,usb3-port = <1>;
nvidia,usb2-map = <2>;
nvidia,port-cap =
<TEGRA_PADCTL_PORT_HOST_ONLY>;
};
usb2-eth {
nvidia,lanes = "otg-1";
nvidia,function = "xusb";
nvidia,port-cap =
<TEGRA_PADCTL_PORT_HOST_ONLY>;
};
usb3-eth {
nvidia,lanes = "uphy-lane-6";
nvidia,function = "usb3";
nvidia,usb3-port = <0>;
nvidia,usb2-map = <1>;
nvidia,port-cap =
<TEGRA_PADCTL_PORT_HOST_ONLY>;
};
hsic {
nvidia,lanes = "hsic-0";
nvidia,function = "hsic";
};
pcie {
nvidia,lanes = "uphy-lane-1", "uphy-lane-2",
"uphy-lane-3", "uphy-lane-4";
nvidia,function = "pcie";
nvidia,pcie-controller = <0>;
nvidia,pcie-lane-select =
<TEGRA_PADCTL_PCIE_LANE_X4>;
};
sata {
nvidia,lanes = "uphy-lane-7";
nvidia,function = "sata";
};
};
};
xusb@70090000 {
status = "okay";
extcon-cables = <&vbus_gpio_extcon 1>;
extcon-cable-names = "id";
#extcon-cells = <1>;
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@7009f000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@7009f000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@7009f000/pads/usb2/lanes/usb2-2}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-6}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-5}>;
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
#else
phys = <&tegra_padctl_uphy TEGRA_PADCTL_UPHY_UTMI_P(2)>,
<&tegra_padctl_uphy TEGRA_PADCTL_UPHY_USB3_P(1)>,
<&tegra_padctl_uphy TEGRA_PADCTL_UPHY_UTMI_P(1)>,
<&tegra_padctl_uphy TEGRA_PADCTL_UPHY_USB3_P(0)>,
<&tegra_padctl_uphy TEGRA_PADCTL_UPHY_UTMI_P(0)>;
phy-names = "utmi-2", "usb3-1", "utmi-1", "usb3-0", "utmi-0";
#endif
nvidia,pmc-wakeup =
<&tegra_pmc
PMC_WAKE_TYPE_EVENT 41 PMC_TRIGGER_TYPE_HIGH>,
<&tegra_pmc
PMC_WAKE_TYPE_EVENT 44 PMC_TRIGGER_TYPE_HIGH>;
};
xudc@700d0000 {
#extcon-cells = <1>;
status = "okay";
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@7009f000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-0}>;
#else
phys = <&tegra_padctl_uphy TEGRA_PADCTL_UPHY_UTMI_P(0)>,
<&tegra_padctl_uphy TEGRA_PADCTL_UPHY_USB3_P(2)>;
#endif
phy-names = "usb2", "usb3";
};
xotg {
#extcon-cells = <1>;
status = "disabled";
};
gpio-keys {
compatible = "gpio-keys";
gpio-keys,name = "gpio-keys";
power {
label = "Power";
gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
gpio-key,wakeup;
nvidia,pmc-wakeup = <&tegra_pmc
PMC_WAKE_TYPE_GPIO 26 PMC_TRIGGER_TYPE_NONE>;
};
sw_lid {
status="disabled";
};
};
gpu-dvfs-rework {
status = "ok";
};
regulators {
vdd_fan: regulator@13 {
enable-active-high;
};
};
thermal-zones {
AO-therm {
status = "okay";
};
};
pwm-fan {
compatible = "pwm-fan";
pwms = <&tegra_pwm 3 45334>;
shared_data = <&pwm_fan_shared_data>;
active_pwm = <0 80 120 160 255 255 255 255 255 255>;
};
i2c@7000c000 {
icm20628@68 {
accelerometer_matrix = [ff 00 00 00 ff 00 00 00 01];
gyroscope_matrix = [ff 00 00 00 ff 00 00 00 01];
};
ak8963c@0c {
magnetic_field_matrix = [00 ff 00 01 00 00 00 00 01];
};
rt5640: rt5640.0-001c@1c {
compatible = "realtek,rt5640";
realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
reg = <0x1c>;
};
};
sysedp {
compatible = "nvidia,tegra124-sysedp";
nvidia,margin = <0>;
nvidia,min_budget = <0>;
nvidia,initial_budget = <40000>;
};
sysedp_reactive_capping@1 {
compatible = "nvidia,tegra124-sysedp_reactive_capping";
nvidia,max_capping_mw = <15000>;
nvidia,step_alarm_mw = <1000>;
nvidia,step_relax_mw = <500>;
nvidia,relax_ms = <250>;
nvidia,threshold_warning = "WARNING - SYSTEM Voltage Droop detected, please refer to the Jetson Power management application note";
interrupt-parent = <&soctherm>;
interrupts = <1 0x2002>;
sysedpc {
nvidia,name = "voltmon_oc1";
};
};
sysedp_reactive_capping@3 {
compatible = "nvidia,tegra124-sysedp_reactive_capping";
nvidia,max_capping_mw = <15000>;
nvidia,step_alarm_mw = <1000>;
nvidia,step_relax_mw = <500>;
nvidia,relax_ms = <250>;
interrupt-parent = <&soctherm>;
interrupts = <3 0x2002>;
sysedpc {
nvidia,name = "batmon_oc3";
};
};
sysedp-dynamic-capping {
compatible = "nvidia,tegra124-sysedp-dynamic-capping";
nvidia,throttle_depth = <75>;
nvidia,cap_method = <1>;
};
bcmdhd_wlan {
edp-consumer-name = "primary-wifi";
};
cpu_edp {
status = "okay";
nvidia,edp_limit = <25000>;
};
gpu_edp {
status = "okay";
nvidia,edp_limit = <25000>;
};
soctherm@0x700E2000 {
throttle-cfgs {
throttle_oc1: oc1 {
nvidia,priority = <50>;
nvidia,polarity-active-low = <1>;
nvidia,count-threshold = <100>;
nvidia,alarm-filter = <5100000>;
nvidia,alarm-period = <0>;
nvidia,cpu-throt-percent = <75>;
nvidia,gpu-throt-level =
<TEGRA_SOCTHERM_THROT_LEVEL_MED>;
};
throttle_oc3: oc3 {
nvidia,priority = <40>;
nvidia,polarity-active-low = <1>;
nvidia,count-threshold = <15>;
nvidia,alarm-filter = <5100000>;
nvidia,alarm-period = <0>;
nvidia,cpu-throt-percent = <75>;
nvidia,gpu-throt-level =
<TEGRA_SOCTHERM_THROT_LEVEL_MED>;
};
};
};
thermal-zones {
CPU-therm {
thermal-zone-params {
governor-name = "pid_thermal_gov";
max_err_temp = <9000>;
max_err_gain = <1000>;
gain_p = <1000>;
gain_d = <0>;
up_compensation = <20>;
down_compensation = <20>;
};
trips {
cpu_critical {
temperature = <102500>;
hysteresis = <0>;
type = "critical";
writable;
};
cpu_heavy {
temperature = <98500>;
hysteresis = <0>;
type = "hot";
writable;
};
cpu_throttle {
temperature = <89000>;
hysteresis = <0>;
type = "passive";
writable;
};
};
cooling-maps {
map0 {
trip = <&{/thermal-zones/CPU-therm/trips/cpu_critical}>;
cdev-type = "tegra-shutdown";
cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&{/thermal-zones/CPU-therm/trips/cpu_heavy}>;
cdev-type = "tegra-heavy";
cooling-device = <&throttle_heavy 1 1>;
};
map2 {
trip = <&{/thermal-zones/CPU-therm/trips/cpu_throttle}>;
cdev-type = "cpu-balanced";
cooling-device = <&{/bthrot_cdev/cpu_balanced}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
GPU-therm {
thermal-zone-params {
governor-name = "pid_thermal_gov";
max_err_temp = <9000>;
max_err_gain = <1000>;
gain_p = <1000>;
gain_d = <0>;
up_compensation = <20>;
down_compensation = <20>;
};
trips {
gpu_critical {
temperature = <103000>;
hysteresis = <0>;
type = "critical";
writable;
};
gpu_heavy {
temperature = <100000>;
hysteresis = <0>;
type = "hot";
writable;
};
gpu_throttle {
temperature = <90500>;
hysteresis = <0>;
type = "passive";
writable;
};
};
cooling-maps {
map0 {
trip = <&{/thermal-zones/GPU-therm/trips/gpu_critical}>;
cdev-type = "tegra-shutdown";
cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&{/thermal-zones/GPU-therm/trips/gpu_heavy}>;
cdev-type = "tegra-heavy";
cooling-device = <&throttle_heavy 1 1>;
};
map2 {
trip = <&{/thermal-zones/GPU-therm/trips/gpu_throttle}>;
cdev-type = "gpu-balanced";
cooling-device = <&{/bthrot_cdev/gpu_balanced}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
LCPU-therm {
thermal-zone-params {
governor-name = "pid_thermal_gov";
max_err_temp = <9000>;
max_err_gain = <1000>;
gain_p = <1000>;
gain_d = <0>;
up_compensation = <20>;
down_compensation = <20>;
};
trips {
lcpu_critical {
temperature = <103000>; /* must be same as GPU's critical temp */
hysteresis = <0>;
type = "critical";
writable;
};
lcpu_heavy {
temperature = <101500>;
hysteresis = <0>;
type = "hot";
writable;
};
lcpu_throttle {
temperature = <92000>;
hysteresis = <0>;
type = "passive";
writable;
};
};
cooling-maps {
map0 {
trip = <&{/thermal-zones/LCPU-therm/trips/lcpu_critical}>;
cdev-type = "tegra-shutdown";
cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
map1 {
trip = <&{/thermal-zones/LCPU-therm/trips/lcpu_heavy}>;
cdev-type = "tegra-heavy";
cooling-device = <&throttle_heavy 1 1>;
};
map2 {
trip = <&{/thermal-zones/LCPU-therm/trips/lcpu_throttle}>;
cdev-type = "cpu-balanced";
cooling-device = <&{/bthrot_cdev/cpu_balanced}
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
PLL-therm {
thermal-zone-params {
governor-name = "pid_thermal_gov";
max_err_temp = <9000>;
max_err_gain = <1000>;
gain_p = <1000>;
gain_d = <0>;
up_compensation = <20>;
down_compensation = <20>;
};
};
Tboard_tegra {
status = "okay";
};
Tdiode_tegra {
status = "okay";
};
};
bcmdhd_wlan {
fw_path = "/vendor/firmware/fw_bcmdhd.bin";
nv_path = "/vendor/firmware/nvram_jetsonE_cv_4354.txt";
country_code_map {
CC1 {
iso_abbrev = "XR";
custom_locale = "XR";
custom_locale_rev = <122>;
};
CC27 {
iso_abbrev = "IN";
custom_locale = "Q2";
custom_locale_rev = <998>;
};
};
};
serial@70006300 {
dma-names = "tx";
};
dfll-max77621@70110000 {
dfll-max77621-integration {
i2c-fs-rate = <1000000>;
};
dfll-max77621-board-params {
sample-rate = <20000>;
};
};
soctherm@0x700E2000 {
therm_gpu {
enable-hw-pllx-offsetting;
pllx-offset-max = <4000>;
pllx-offset-min = <2000>;
};
};
clock@70110000 {
status = "okay";
vdd-cpu-supply = <&cpu_ovr_reg>;
nvidia,pwm-to-pmic;
nvidia,init-uv = <1000000>;
nvidia,align-step-uv = <19200>; /* 19.2mv */
nvidia,align-offset-uv = <708000>; /* 708mv */
nvidia,sample-rate = <25000>;
nvidia,droop-ctrl = <0x00000f00>;
nvidia,force-mode = <1>;
nvidia,cf = <6>;
nvidia,ci = <0>;
nvidia,cg = <2>;
};
};