/*
* Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope 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, see .
*/
/*
* Common include DTS file for CVM:P2888-0001 and CVB:P2822-0000 variants.
*/
#include "dt-bindings/extcon-ids.h"
#include "tegra194-p2888-0000-a00.dtsi"
#include
#include "tegra194-p2822-0000-a00.dtsi"
#include "tegra194-power-tree-p2888-0001-p2822-1000.dtsi"
#include
#include "tegra194-thermal-p2888.dtsi"
#include "tegra194-plugin-manager-p2888-0000.dtsi"
#include "tegra194-plugin-manager-p2822-0000.dtsi"
#include "tegra194-super-module-e2614-p2888-0000.dtsi"
#include
#include "dt-bindings/usb/pd.h"
#include
/ {
nvidia,dtsfilename = __FILE__;
nvidia,dtbbuildtime = __DATE__, __TIME__;
nvidia,fastboot-usb-vid = <0x0955>;
nvidia,fastboot-usb-pid = <0xee1e>;
compatible = "nvidia,galen", "nvidia,jetson-xavier", "nvidia,p2822-0000+p2888-0001", "nvidia,tegra194";
chosen {
bootargs ="console=ttyTCU0,115200 mem=62G@2G";
board-has-eeprom;
};
firmware {
android {
compatible = "android,firmware";
hardware = "galen";
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,kernel,kernel-dtb,APP,vendor,SOS";
};
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/3460000.sdhci/by-name/vendor";
type = "ext4";
mnt_flags = "ro";
fsmgr_flags = "wait,avb";
};
odm {
compatible = "android,odm";
dev = "/dev/block/platform/3460000.sdhci/by-name/odm";
type = "ext4";
mnt_flags = "ro";
fsmgr_flags = "wait,avb";
};
};
};
};
bluedroid_pm {
compatible = "nvidia,tegra-bluedroid_pm";
bluedroid_pm,reset-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(M, 6) 0>;
bluedroid_pm,host-wake-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Y, 0) 0>;
bluedroid_pm,ext-wake-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(M, 7) 0>;
interrupt-parent = <&tegra_main_gpio>;
interrupts = ;
};
spi@c260000 {
status = "disabled";
};
spi@3210000 {
status = "okay";
spi@0 {
compatible = "tegra-spidev";
reg = <0x0>;
spi-max-frequency = <33000000>;
controller-data {
nvidia,enable-hw-based-cs;
nvidia,rx-clk-tap-delay = <0x11>;
};
};
spi@1 {
compatible = "tegra-spidev";
reg = <0x1>;
spi-max-frequency = <33000000>;
controller-data {
nvidia,enable-hw-based-cs;
nvidia,rx-clk-tap-delay = <0x11>;
};
};
};
spi@3270000 {
status = "disabled";
};
spi@3300000 {
status = "disabled";
};
#if TEGRA_PMC_VERSION >= DT_VERSION_2
pmc@c360000 {
nvidia,invert-interrupt;
};
#else
pmc@c370000 {
nvidia,invert-interrupt;
};
#endif
hdr40_i2c0: i2c@c240000 {
rt1711h: rt1711h@4e {
compatible = "richtek,rt1711h";
reg = <0x4e>;
status = "okay";
// interrupt-parent = <&gpio27>;
// interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
// pinctrl-names = "default";
// pinctrl-0 = <&usb_cfg_func>;
// vbus-supply = <&vcc5v0_typec>;
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "dual";
try-power-role = "sink";
source-pdos = ;
sink-pdos = ;
op-sink-microwatt = <10000000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
usb_con_ss: endpoint {
remote-endpoint = <&ucsi_ccg_p0>;
};
};
};
};
port {
#address-cells = <1>;
#size-cells = <0>;
rt1711h_ep: endpoint@0 {
reg = <0>;
remote-endpoint = <&usb_role_switch0>;
};
};
};
bmi160@69 {
compatible = "bmi,bmi160";
reg = <0x69>;
interrupt-parent = <&tegra_aon_gpio>;
interrupts = ;
accelerometer_matrix = [01 00 00 00 01 00 00 00 01];
gyroscope_matrix = [01 00 00 00 01 00 00 00 01];
accelerometer_delay_us_min = <1250>;
gyroscope_delay_us_min = <1250>;
status = "disabled";
};
ucsi_ccg: ucsi_ccg@8 {
status = "okay";
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
typec-extcon {
typec_port0: port-0 {
status = "okay";
#extcon-cells = <1>;
};
typec_port1: port-1 {
status = "okay";
#extcon-cells = <1>;
};
};
typec-pd {
typec_pd: pd {
status = "okay";
#extcon-cells = <1>;
};
};
#endif
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
ccgx,firmware-build = "gn";
ccg_typec_con0: connector@0 {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
port {
ucsi_ccg_p0: endpoint@0 {
remote-endpoint = <&usb_role_switch0>;
};
ucsi_ccg_p1: endpoint@1 {
remote-endpoint = <&usb_con_ss>;
};
};
};
#endif
};
};
xusb_padctl: xusb_padctl@3520000 {
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
usb2-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
nvidia,function = "xusb";
status = "okay";
};
usb3-2 {
nvidia,function = "xusb";
status = "okay";
};
usb3-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {
mode = "otg";
usb-role-switch;
status = "okay";
vbus-supply = <&battery_reg>;
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
port {
usb_role_switch0: endpoint@0 {
remote-endpoint = <&ucsi_ccg_p0>;
};
dwc3_role_switch: endpoint@1 {
reg = <0>;
remote-endpoint = <&rt1711h_ep>;
};
};
#endif
};
usb2-1 {
mode = "host";
status = "okay";
};
usb2-2 {
mode = "host";
status = "okay";
};
usb2-3 {
mode = "host";
status = "okay";
};
usb3-0 {
nvidia,usb2-companion = <1>;
status = "okay";
};
usb3-2 {
nvidia,usb2-companion = <0>;
status = "okay";
};
usb3-3 {
nvidia,usb2-companion = <3>;
nvidia,usb3-gen1-only= <1>;
status = "okay";
};
};
};
tegra_xudc: xudc@3550000 {
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
extcon-cables = <&typec_port0 0>;
extcon-cable-names = "vbus";
#extcon-cells = <1>;
#endif
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
#if defined(LINUX_VERSION) && LINUX_VERSION > 414
phy-names = "usb2-0", "usb3-2";
#else
phy-names = "usb2", "usb3";
#endif
nvidia,xusb-padctl = <&xusb_padctl>;
nvidia,boost_cpu_freq = <1200>;
status = "okay";
};
tegra_xhci: xhci@3610000 {
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
extcon-cables = <&typec_port0 1>;
extcon-cable-names = "id";
#extcon-cells = <1>;
#endif
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-3}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-3}>;
phy-names = "usb2-0", "usb2-1", "usb2-3", "usb2-2",
"usb3-2", "usb3-0", "usb3-3";
nvidia,xusb-padctl = <&xusb_padctl>;
nvidia,boost_emc_freq = <500>;
status = "okay";
};
arm-pmu {
status = "okay";
};
power-domain {
status = "disabled";
};
interrupt-controller {
status = "disabled";
};
mods-simple-bus {
status = "disabled";
};
eeprom-manager {
status = "disabled";
};
cpuidle {
compatible = "nvidia,tegra19x-cpuidle";
status = "okay";
};
thermal-zones {
status = "disabled";
};
reserved-memory {
ramoops_carveout {
status = "okay";
};
};
mttcan@c310000 {
status = "okay";
};
mttcan@c320000 {
status = "okay";
};
serial@3110000 {
status = "okay";
};
pwm@3280000 {
status = "okay";
};
pwm@32c0000 {
status = "okay";
};
pwm@32f0000 {
status = "okay";
};
hdr40_i2c1: i2c@31e0000 {
pinctrl-names = "default";
pinctrl-0 = <&dpaux_default>;
bmi160@69 {
compatible = "bmi,bmi160";
reg = <0x69>;
accelerometer_matrix = [01 00 00 00 01 00 00 00 01];
gyroscope_matrix = [01 00 00 00 01 00 00 00 01];
status = "disabled";
};
};
host1x@13e00000 {
dpaux@155F0000 {
status = "okay";
compatible = "nvidia,tegra194-dpaux3-padctl";
#if LINUX_VERSION <= 419
/delete-property/ power-domains;
#endif
dpaux_default: pinmux@0 {
dpaux3_pins {
pins = "dpaux3-3";
function = "i2c";
};
};
};
};
ufshci@2450000 {
status = "disabled";
nvidia,enable-hs-mode;
nvidia,cd-gpios = <&tegra_aon_gpio TEGRA194_AON_GPIO(EE, 0) GPIO_ACTIVE_HIGH>;
nvidia,cd-wakeup-capable;
};
pfsd {
pwm_polarity= ;
suspend_state = <0>;
};
efuse@3820000 {
#if LINUX_VERSION < 419
efuse-burn {
nvidia,tz = <&pllx>;
nvidia,temp-range = <(-19000) 117000>;
thermal-zone = <5>;
};
#endif
};
#if LINUX_VERSION >= 419
efuse-burn {
nvidia,tz = <&pllx>;
nvidia,temp-range = <(-19000) 117000>;
};
#endif
tegra_udrm: tegra_udrm {
compatible = "nvidia,tegra-udrm";
status = "okay";
};
nvsciipc-kernel {
compatible = "nvidia,nvsciipc";
status = "okay";
};
clocks-init {
compatible = "nvidia,clocks-config";
status = "okay";
disable {
clocks = <&aon_clks TEGRA194_CLK_PLLAON>,
<&bpmp_clks TEGRA194_CLK_CAN1>,
<&bpmp_clks TEGRA194_CLK_CAN2>;
};
};
};
#if TEGRA_XUSB_DT_VERSION == DT_VERSION_2
&head0 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&head1 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&head2 {
extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
#extcon-cells = <1>;
};
&sor0 {
nvidia,typec-port = /bits/ 8 <0>;
};
&sor1 {
nvidia,typec-port = /bits/ 8 <1>;
};
#endif
#if LINUX_VERSION >= 414
#include
#endif