tegrakernel/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-common.dtsi

501 lines
14 KiB
Plaintext

/*
* Copyright (c) 2014-2017, 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; either version 2 of the License, or
* (at your option) any later version.
*
* 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <tegra210-soc/tegra210-soc-shield.dtsi>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/tegra-gpio.h>
#include <dt-bindings/clock/tegra210-car.h>
#include <dt-bindings/reset/tegra210-car.h>
#include <dt-bindings/soc/tegra-pmc.h>
#include <dt-bindings/thermal/tegra124-soctherm.h>
#include <dt-bindings/thermal/tegra210-trips.h>
#include <tegra210-soc/tegra210-prods.dtsi>
#include <t210-common-platforms/tegra210-platform-common-padvoltage-default.dtsi>
#include <t210-common-platforms/tegra210-ers-touch-e1937-1000-a00.dtsi>
#include <tegra210-soc/tegra210-modem-common.dtsi>
#include <tegra210-soc/tegra210-trusty.dtsi>
#include <tegra210-soc/tegra210-soc-sata.dtsi>
/ {
nvidia,dtbbuildtime = __DATE__, __TIME__;
serial@70006000 {
compatible = "nvidia,tegra210-uart", "nvidia,tegra114-hsuart", "nvidia,tegra20-uart";
console-port;
sqa-automation-port;
enable-rx-poll-timer;
/delete-property/ resets;
/delete-property/ reset-names;
status = "okay";
};
serial@70006040 {
status = "okay";
};
serial@70006200 {
status = "okay";
};
serial@70006300 {
status = "okay";
};
rtc {
nvidia,pmc-wakeup = <&tegra_pmc PMC_WAKE_TYPE_EVENT 16
PMC_TRIGGER_TYPE_HIGH>;
};
nvpmodel {
status = "okay";
};
tegra_udrm: tegra_udrm {
compatible = "nvidia,tegra-udrm";
};
pmc@7000e400 {
nvidia,suspend-mode = <0>;
nvidia,cpu-pwr-good-time = <0>;
nvidia,cpu-pwr-off-time = <0>;
nvidia,core-pwr-good-time = <4587 3876>;
nvidia,core-pwr-off-time = <39065>;
nvidia,core-pwr-req-active-high;
nvidia,sys-clock-req-active-high;
#nvidia,wake-cells = <3>;
nvidia,restrict-voltage-switch;
iopad-defaults {
pex-io-pads {
pins = "pex-bias", "pex-clk1", "pex-clk2";
low-power-enable;
};
};
bootrom-commands {
nvidia,command-retries-count = <2>;
nvidia,delay-between-commands-us = <10>;
nvidia,wait-start-bus-clear-us = <10>;
#address-cells = <1>;
#size-cells = <0>;
};
};
extcon {
id_gpio_extcon: extcon@0 {
compatible = "extcon-gpio";
reg = <0x0>;
extcon-gpio,name = "ID";
gpio = <&max77620 0 0>;
extcon-gpio,connection-state-low;
extcon-gpio,cable-name = "USB-Host";
#extcon-cells = <1>;
};
};
usb_cd: usb_cd@7009f000 {
compatible = "nvidia,tegra210-usb-cd";
reg = <0x0 0x7009f000 0x0 0x1000>;
#extcon-cells = <1>;
status = "disabled";
dt-override-status-odm-data = <0x1000000 0x1000000>;
};
psy_extcon_xudc {
compatible = "power-supply-extcon";
extcon-cables = <&usb_cd 1 &usb_cd 2 &usb_cd 3
&usb_cd 4 &usb_cd 5 &usb_cd 6
&usb_cd 7 &usb_cd 8 &usb_cd 9>;
extcon-cable-names = "usb-charger", "ta-charger", "maxim-charger",
"qc2-charger", "downstream-charger", "slow-charger",
"apple-500ma", "apple-1a", "apple-2a";
status = "disabled";
dt-override-status-odm-data = <0x1000000 0x1000000>;
};
tegra_wdt: watchdog@60005100 {
dt-override-status-odm-data = <0x00010000 0x00010000>;
nvidia,enable-on-init;
timeout-sec = <120>;
status = "disabled";
};
soft_wdt: soft_watchdog {
compatible = "softdog-platform";
status = "okay";
dt-override-status-odm-data = <0x00030000 0x00000000>;
};
tegra-supply-tests {
compatible = "nvidia,tegra-supply-tests";
vdd-core-supply=<&max77620_sd0>;
};
camera-pcl {
dpd {
compatible = "nvidia,csi-dpd";
#address-cells = <1>;
#size-cells = <0>;
num = <6>;
csia {
reg = <0x0 0x0 0x0 0x0>;
};
csib {
reg = <0x0 0x1 0x0 0x0>;
};
csic {
reg = <0x1 0x0a 0x0 0x0>;
};
csid {
reg = <0x1 0x0b 0x0 0x0>;
};
csie {
reg = <0x1 0x0c 0x0 0x0>;
};
csif {
reg = <0x1 0x0d 0x0 0x0>;
};
};
};
rollback-protection {
device-name = "sdmmc";
device-method = <0x1 0x00000002>; /* type (0x1 = ioctl), argument */
status = "disabled";
};
apbmisc@70000800 {
compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */
<0x0 0x70000008 0x0 0x04>; /* Strapping options */
};
pwm@7000a000 {
nvidia,no-clk-sleeping-in-ops;
};
pwm@70110000 {
pwm-regulator = <&cpu_ovr_reg>;
status = "disabled";
};
pwm_regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
cpu_ovr_reg: pwm-regulator@0 {
status = "okay";
reg = <0>;
compatible = "pwm-regulator";
pwms = <&tegra_pwm_dfll 0 2500>;
regulator-name = "vdd-cpu";
regulator-min-microvolt = <708000>;
regulator-max-microvolt = <1322400>;
regulator-always-on;
regulator-boot-on;
voltage-table =
<708000 0>, <727200 1>, <746400 2>,
<765600 3>, <784800 4>, <804000 5>,
<823200 6>, <842400 7>, <861600 8>,
<880800 9>, <900000 10>, <919200 11>,
<938400 12>, <957600 13>, <976800 14>,
<996000 15>, <1015200 16>, <1034400 17>,
<1053600 18>, <1072800 19>, <1092000 20>,
<1111200 21>, <1130400 22>, <1149600 23>,
<1168800 24>, <1188000 25>, <1207200 26>,
<1226400 27>, <1245600 28>, <1264800 29>,
<1284000 30>, <1303200 31>, <1322400 32>;
};
gpu_ovr_reg: pwm-regulator@1 {
status = "okay";
reg = <1>;
compatible = "pwm-regulator";
pwms = <&tegra_pwm 1 8000>;
regulator-name = "vdd-gpu";
regulator-min-microvolt = <710000>;
regulator-max-microvolt = <1320000>;
regulator-init-microvolt = <1000000>;
regulator-n-voltages = <62>;
regulator-enable-ramp-delay = <2000>;
enable-gpio = <&max77620 6 0>;
regulator-settling-time-us = <160>;
};
};
cpus {
cpu@0 {
clocks = <&tegra_car TEGRA210_CLK_CCLK_G>,
<&tegra_car TEGRA210_CLK_CCLK_LP>,
<&tegra_car TEGRA210_CLK_PLL_X>,
<&tegra_car TEGRA210_CLK_PLL_P_OUT4>,
<&tegra_clk_dfll>;
clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
clock-latency = <300000>;
};
};
memory-controller@70019000 {
status = "okay";
};
dfll_cap: dfll-cdev-cap {
compatible = "nvidia,tegra-dfll-cdev-action";
act-dev = <&tegra_clk_dfll>;
cdev-type = "DFLL-cap";
#cooling-cells = <2>; /* min followed by max */
};
dfll_floor: dfll-cdev-floor {
compatible = "nvidia,tegra-dfll-cdev-action";
act-dev = <&tegra_clk_dfll>;
cdev-type = "DFLL-floor";
#cooling-cells = <2>; /* min followed by max */
};
gpu_scaling_cdev: gpu-scaling-cdev {
cooling-min-state = <0>;
cooling-max-state = <5>;
#cooling-cells = <2>;
compatible = "nvidia,tegra210-rail-scaling-cdev";
cdev-type = "gpu_scaling";
nvidia,constraint;
nvidia,trips = <&gpu_scaling_trip0 950 &gpu_scaling_trip1 0
&gpu_scaling_trip2 0 &gpu_scaling_trip3 0
&gpu_scaling_trip4 0 &gpu_scaling_trip5 0>;
};
gpu_vmax_cdev: gpu-vmax-cdev {
cooling-min-state = <0>;
cooling-max-state = <1>;
#cooling-cells = <2>;
compatible = "nvidia,tegra210-rail-vmax-cdev";
cdev-type = "GPU-cap";
nvidia,constraint-ucm2;
nvidia,trips = <&gpu_vmax_trip1 1132 1090>;
clocks = <&tegra_car TEGRA210_CLK_CAP_VGPU_GBUS>;
clock-names = "cap-clk";
};
thermal-zones {
CPU-therm {
trips {
dfll_cap_trip0: dfll-cap-trip0 {
temperature = <TEGRA210_DFLL_THERMAL_CAP_0>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
dfll_cap_trip1: dfll-cap-trip1 {
temperature = <TEGRA210_DFLL_THERMAL_CAP_1>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
cpu_vmax1: cpu-vmax1 {
temperature = <66000>;
hysteresis = <1000>;
type = "active";
};
cpu_vmax2: cpu-vmax2 {
temperature = <86000>;
hysteresis = <1000>;
type = "active";
};
gpu_vmax1: gpu-vmax1 {
temperature = <83000>;
hysteresis = <1000>;
type = "active";
};
core_vmax1: core-vmax1 {
temperature = <86000>;
hysteresis = <1000>;
type = "active";
};
};
cooling-maps {
dfll-cap-map0 {
trip = <&dfll_cap_trip0>;
cooling-device = <&dfll_cap 1 1>;
};
dfll-cap-map1 {
trip = <&dfll_cap_trip1>;
cooling-device = <&dfll_cap 2 2>;
};
};
};
Tdiode_tegra {
trips {
gpu_scaling_trip0: gpu-scaling-trip0 {
temperature = <(-25000)>; /* millicelsius */
hysteresis = <0>; /* millicelsius */
type = "active";
};
gpu_scaling_trip1: gpu-scaling-trip1 {
temperature = <15000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip2: gpu-scaling-trip2 {
temperature = <30000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip3: gpu-scaling-trip3 {
temperature = <50000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip4: gpu-scaling-trip4 {
temperature = <70000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip5: gpu-scaling-trip5 {
temperature = <105000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_vmax_trip1: gpu-vmax-trip1 {
temperature = <83000>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
core_dvfs_floor_trip0: core_dvfs_floor_trip0 {
temperature = <15000>;
hysteresis = <1000>;
type = "active";
};
core_dvfs_cap_trip0: core_dvfs_cap_trip0 {
temperature = <86000>;
hysteresis = <1000>;
type = "active";
};
dfll_floor_trip0: dfll-floor-trip0 {
temperature = <TEGRA210_DFLL_THERMAL_FLOOR_0>; /* millicelsius */
hysteresis = <1000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
gpu-scaling-map1 {
trip = <&gpu_scaling_trip1>;
cooling-device = <&gpu_scaling_cdev 1 1>;
};
gpu-scaling-map2 {
trip = <&gpu_scaling_trip2>;
cooling-device = <&gpu_scaling_cdev 2 2>;
};
gpu_scaling_map3 {
trip = <&gpu_scaling_trip3>;
cooling-device = <&gpu_scaling_cdev 3 3>;
};
gpu-scaling-map4 {
trip = <&gpu_scaling_trip4>;
cooling-device = <&gpu_scaling_cdev 4 4>;
};
gpu-scaling-map5 {
trip = <&gpu_scaling_trip5>;
cooling-device = <&gpu_scaling_cdev 5 5>;
};
gpu-vmax-map1 {
trip = <&gpu_vmax_trip1>;
cooling-device = <&gpu_vmax_cdev 1 1>;
};
core_dvfs_floor_map0 {
trip = <&core_dvfs_floor_trip0>;
cooling-device = <&core_dvfs_floor 1 1>;
};
core_dvfs_cap_map0 {
trip = <&core_dvfs_cap_trip0>;
cooling-device = <&core_dvfs_cap 1 1>;
};
dfll-floor-map0 {
trip = <&dfll_floor_trip0>;
cooling-device = <&dfll_floor 1 1>;
};
};
};
};
pinmux@700008d4 {
dvfs_pwm_active_state: dvfs_pwm_active {
dvfs_pwm_pbb1 {
nvidia,pins = "dvfs_pwm_pbb1";
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};
};
dvfs_pwm_inactive_state: dvfs_pwm_inactive {
dvfs_pwm_pbb1 {
nvidia,pins = "dvfs_pwm_pbb1";
nvidia,tristate = <TEGRA_PIN_ENABLE>;
};
};
};
pwm@70110000 {
status = "okay";
pinctrl-0 = <&dvfs_pwm_active_state>;
pinctrl-1 = <&dvfs_pwm_inactive_state>;
};
gpio@6000d000 {
/* gpio-name for 40-pin header, gpio-name given as COL(10) x ROW(20) */
gpio-line-names = "", "", "", "", "", "", "", "", "I2S0_LRCLK", "I2S0_SDIN",
"I2S0_SDOUT", "I2S0_CLK", "", "", "", "", "SPI1_MOSI", "SPI1_MISO", "SPI1_CLK", "SPI1_CS0",
"SPI1_CS1", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "AO_DMIC_IN_CLK", "AO_DMIC_IN_DAT", "GPIO20_AUD_INT", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "GPIO11_AP_WAKE_BT",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "UART0_RTS", "UART0_CTS", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "GPIO16_MDM_WAKE_AP", "", "GPIO9_MOTION_INT", "GPIO8_ALS_PROX_INT", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "AUDIO_MCLK", "", "", "GPIO19_AUD_RST",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "";
};
};