Jetpack/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a...

469 lines
11 KiB
Plaintext

/*
* tegra186-quill-p3489-0888-a00-00-base.dts Lightning Board
*
* Copyright (c) 2018-2019, 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.
*/
#include <t18x-common-platforms/tegra186-quill-common-p3489-1000-a00.dtsi>
#include <t18x-common-platforms/tegra186-quill-power-tree-p3489-1000-a00-00.dtsi>
#include <t18x-common-platforms/tegra186-quill-camera-modules.dtsi>
#include <t18x-common-modules/tegra186-display-e3320-1000-a00.dtsi>
/* comms dtsi file should be included after gpio dtsi file */
#include <t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi>
#include <t18x-common-modules/tegra186-super-module-e2614-p2597-1000-a00.dtsi>
#include <t18x-common-plugin-manager/tegra186-quill-display-plugin-manager.dtsi>
#include <t18x-common-prod/tegra186-priv-quill-p3489-1000-a00-prod.dtsi>
#include <t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi>
/ {
model = "lightning";
compatible = "nvidia,lightning", "nvidia,p2597-0000+p3489-0888", "nvidia,tegra186";
nvidia,dtsfilename = __FILE__;
nvidia,boardids = "3489:0888:A0";
nvidia,proc-boardid = "3489:0888:A0";
nvidia,fastboot-usb-vid = <0x0955>;
nvidia,fastboot-usb-pid = <0xee16>;
chosen {
board-has-eeprom;
#if TEGRA_BOOTARGUMENT_VERSION >= DT_VERSION_2
bootargs ="console=ttyS0,115200 androidboot.presilicon=true firmware_class.path=/etc/firmware";
#else
bootargs ="console=ttyS0,115200";
#endif
stdout-path = &uarta;
nvidia,tegra-joint_xpu_rail;
};
firmware {
android {
compatible = "android,firmware";
hardware = "quill";
};
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x70000000>;
};
xotg {
status = "okay";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>;
phy-names = "otg-usb2";
};
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xudc@3550000 {
status = "okay";
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
phy-names = "usb2";
nvidia,boost-cpu-freq = <1200>;
};
usb_cd {
status = "okay";
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
phy-names = "otg-phy";
nvidia,xusb-padctl = <&xusb_padctl>;
};
#else
xudc@3550000 {
status = "okay";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>;
phy-names = "usb2";
emc-frequency = <150000000>;
nvidia,boost-cpu-freq = <1200>;
};
usb_cd {
status = "okay";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>;
phy-names = "otg-phy";
};
#endif
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xusb_padctl@3520000 {
status = "okay";
pinctrl-0 = <&vbus_en0_default_state>;
pinctrl-1 = <&vbus_en1_default_state>;
pinctrl-2 = <&vbus_en0_sfio_tristate_state>;
pinctrl-3 = <&vbus_en1_sfio_tristate_state>;
pinctrl-4 = <&vbus_en0_sfio_passthrough_state>;
pinctrl-5 = <&vbus_en1_sfio_passthrough_state>;
pinctrl-names = "vbus_en0_default", "vbus_en1_default",
"vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate",
"vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough";
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
nvidia,function = "xusb";
status = "okay";
};
usb3-1 {
nvidia,function = "xusb";
status = "okay";
};
usb3-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "otg";
vbus-supply = <&vdd_usb0_5v>;
nvidia,oc-pin = <0>;
};
usb2-1 {
status = "okay";
mode = "host";
vbus-supply = <&vdd_usb1_5v>;
nvidia,oc-pin = <1>;
};
usb2-2 {
status = "okay";
mode = "host";
vbus-supply = <&vdd_usb2_5v>;
};
usb3-0 {
nvidia,usb2-companion = <1>;
status = "okay";
};
};
};
#endif
pinctrl@3520000 {
status = "okay";
pinctrl-0 = <&tegra_xusb_padctl_pinmux_default>;
pinctrl-1 = <&vbus_en0_sfio_tristate_state>;
pinctrl-2 = <&vbus_en1_sfio_tristate_state>;
pinctrl-3 = <&vbus_en0_sfio_passthrough_state>;
pinctrl-4 = <&vbus_en1_sfio_passthrough_state>;
pinctrl-5 = <&vbus_en0_default_state>;
pinctrl-6 = <&vbus_en1_default_state>;
pinctrl-names = "default",
"vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate",
"vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough",
"vbus_en0_default", "vbus_en1_default";
tegra_xusb_padctl_pinmux_default: pinmux {
/* Quill does not support usb3-micro AB */
usb2-micro-AB {
nvidia,lanes = "otg-0";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_OTG_CAP>;
nvidia,oc-pin = <0>;
};
usb2-std-A-port2 {
nvidia,lanes = "otg-1";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
usb3-std-A-port2 {
nvidia,lanes = "usb3-0";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
e3325-usb3-std-A-HS {
nvidia,lanes = "otg-2";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "disabled";
};
e3325-usb3-std-A-SS {
nvidia,lanes = "usb3-0";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "disabled";
};
};
};
pcie-controller@10003000 {
status = "okay";
pci@1,0 {
nvidia,num-lanes = <4>;
nvidia,disable-clock-request;
status = "okay";
};
pci@2,0 {
nvidia,num-lanes = <0>;
status = "disabled";
};
pci@3,0 {
nvidia,num-lanes = <1>;
status = "okay";
};
};
i2c@3160000 {
lp8557-backlight-s-wuxga-8-0@2c {
status = "disabled";
};
};
i2c@c240000 {
clock-frequency = <400000>;
};
cpus {
status = "disabled";
};
host1x {
disp_imp_table {
num_settings = <7>;
disp_imp_settings_6 {
/* Calculated with 4 wins on one 1080p head */
/* Global settings */
nvidia,total_disp_bw_with_catchup = <0 2787800>;
nvidia,total_disp_bw_without_catchup = <0 2534400>;
nvidia,disp_emc_floor = <0 102000000>;
nvidia,disp_min_hubclk = <0 49070000>;
nvidia,total_win_fetch_slots = /bits/ 16 <1>;
nvidia,total_cursor_fetch_slots = /bits/ 16 <1>;
/* Window settings */
nvidia,imp_win_mapping = /bits/ 8 <0 1 2 3 4 5>;
nvidia,win_fetch_meter_slots = /bits/ 16 <1 1 1 1 1 1>;
nvidia,win_dvfs_watermark_values = <0 0 0 0 0 0 0 0 0 0 0 0>;
nvidia,win_pipe_meter_values = <0 0 0 0 0 0>;
nvidia,win_mempool_buffer_entries = <0 817 0 817 0 817 0 817 0 817 0 817>;
nvidia,win_thread_groups = /bits/ 8 <0 1 2 3 4 5>;
/* Cursor settings */
nvidia,imp_head_mapping = /bits/ 8 <0 1 2>;
nvidia,cursor_fetch_meter_slots = /bits/ 16 <1 1 1>;
nvidia,cursor_dvfs_watermark_values = <0 0 0 0 0 0>;
nvidia,cursor_pipe_meter_values = <0 0 0>;
nvidia,cursor_mempool_buffer_entries = <0 16 0 16 0 16>;
};
};
sor {
status = "disabled";
dp-display {
status = "disabled";
};
hdmi-display {
status = "disabled";
};
panel-s-edp-uhdtv-15-6 {
smartdimmer {
status = "disabled";
};
};
};
dpaux@155c0000 {
status = "disabled";
};
sor1 {
status = "okay";
hdmi-display {
status = "okay";
};
dp-display {
status = "disabled";
};
};
nvdisplay@15200000 {
status = "disabled";
};
nvdisplay@15220000 {
status = "disabled";
};
};
mttcan@c310000 {
status = "okay";
gpio_can_stb = <&tegra_aon_gpio TEGRA_AON_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
gpio_can_en = <&tegra_aon_gpio TEGRA_AON_GPIO(AA, 1) GPIO_ACTIVE_HIGH>;
};
mttcan@c320000 {
status = "okay";
gpio_can_stb = <&tegra_aon_gpio TEGRA_AON_GPIO(AA, 6) GPIO_ACTIVE_HIGH>;
gpio_can_en = <&tegra_aon_gpio TEGRA_AON_GPIO(AA, 7) GPIO_ACTIVE_HIGH>;
};
bpmp_i2c {
spmic@3c {
regulators {
ldo0 {
maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
};
ldo6 {
maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
regulator-boot-on;
regulator-always-on;
};
ldo7 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo8 {
regulator-name = "dvdd-pex";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
};
pinmux@0 {
pin_gpio2 {
status = "disabled";
};
pin_gpio3 {
status = "disabled";
};
pin_gpio7 {
drive-push-pull = <1>;
};
};
};
};
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xhci@3530000 {
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>;
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";
status = "okay";
};
#else
xhci@3530000 {
status = "okay";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>;
phy-names = "utmi-0", "utmi-1", "usb3-0";
nvidia,boost_cpu_freq = <800>;
};
#endif
ahci-sata@3507000 {
gpios = <&spmic 7 0>;
};
gpio@2200000 {
sdmmc-wake-support-input {
status = "okay";
};
sdmmc-wake-support-output {
status = "okay";
};
};
fixed-regulators {
regulator@1 {
gpio = <&tegra_main_gpio TEGRA_MAIN_GPIO(P, 6) 0>;
};
};
sdhci@3400000 {
cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(P, 5) 0>;
nvidia,cd-wakeup-capable;
};
ina3221x@40 {
channel@0 {
ti,shunt-resistor-mohm = <10>;
};
channel@1 {
ti,shunt-resistor-mohm = <10>;
};
};
ina3221x@41 {
channel@0 {
ti,shunt-resistor-mohm = <20>;
};
channel@1 {
ti,shunt-resistor-mohm = <10>;
};
channel@2 {
ti,rail-name = "VDD_SYS_DDR";
ti,shunt-resistor-mohm = <10>;
};
};
thermal-zones {
Tboard_tegra {
trips {
trip_critical {
temperature = <106500>;
};
};
};
Tdiode_tegra {
trips {
trip_critical {
temperature = <106500>;
};
};
};
};
i2c@c250000 {
temp-sensor@4c {
loc {
shutdown-limit = <107>;
};
ext {
shutdown-limit = <107>;
};
};
};
tegra_udrm: tegra_udrm {
compatible = "nvidia,tegra-udrm";
};
};
#ifdef KERNEL_VERSION_4_9
#include "quill-platforms/tegra186-quill-kernel-4.9.dtsi"
#endif