Compare commits

..
Author SHA1 Message Date
tmakin ebbe2865d8 WIP: nx dts 2026-10-13 17:09:13 -05:00
Aaron Kling 6d57a9b543 Add nx targets
Change-Id: I5aa53ad971e6fe5d30069c3cfa33a9b7f2817fef
2026-08-06 23:31:37 -05:00
7 changed files with 1625 additions and 782 deletions

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
# SPDX-License-Identifier: GPL-2.0-or-later
load("@rules_devicetree//devicetree:dtb.bzl", "dtb")
load("@rules_devicetree//devicetree:devicetree_library.bzl", "devicetree_library")
package(default_visibility = ["//vendor/nvidia:__subpackages__"])
devicetree_library(
name = "all_nx_dtsi",
hdrs = glob([
"*.dtsi",
]),
includes = ["."],
)
dtb(
name = "tegra210-odin.dtb",
srcs = ["tegra210-odin.dts"],
generate_symbols = True,
deps = [
":all_nx_dtsi",
"//vendor/nvidia/kernel:all_nvidia_dts",
],
)
dtb(
name = "tegra210b01-fric.dtb",
srcs = ["tegra210b01-fric.dts"],
generate_symbols = True,
deps = [
":all_nx_dtsi",
"//vendor/nvidia/kernel:all_nvidia_dts",
],
)
dtb(
name = "tegra210b01-odin.dtb",
srcs = ["tegra210b01-odin.dts"],
generate_symbols = True,
deps = [
":all_nx_dtsi",
"//vendor/nvidia/kernel:all_nvidia_dts",
],
)
dtb(
name = "tegra210b01-vali.dtb",
srcs = ["tegra210b01-vali.dts"],
generate_symbols = True,
deps = [
":all_nx_dtsi",
"//vendor/nvidia/kernel:all_nvidia_dts",
],
)
filegroup(
name = "dtbs",
srcs = [
"tegra210-odin.dtb",
"tegra210b01-fric.dtb",
"tegra210b01-odin.dtb",
"tegra210b01-vali.dtb",
],
)
+1191 -47
View File
File diff suppressed because it is too large. Load diff
-131
View File
@@ -1,131 +0,0 @@
/*
* Copyright (c) 2019-2020, Billy Laws <blaws05@gmail.com>
* Copyright (c) 2019-2022, CTCaer <ctcaer@gmail.com>
*
* 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.
*
*/
/ {
host1x@50000000 {
sor@54580000 {
prod-settings {
#prod-cells = <3>;
prod_list_hdmi_board = "prod_c_hdmi_54m_75m", "prod_c_hdmi_75m_150m",
"prod_c_hdmi_150m_300m", "prod_c_hdmi_300m_600m";
prod_c_hdmi_54m_75m {
board {
prod = <
0x000003a0 0x00000002 0x00000002 // SOR_NV_PDISP_INPUT_CONTROL 01:01=ARM_VIDEO_RANGE 0x1
0x0000005c 0x0f000700 0x01000300 // SOR_NV_PDISP_SOR_PLL0_0 11:08=VCOCAP 0x3
// 27:24=ICHPMP 0x1
0x00000060 0x00f01f00 0x00301300 // SOR_NV_PDISP_SOR_PLL1_0 08:08=TMDS_TERM 0x1
// 12:09=TMDS_TERMADJ 0x9
// 23:20=LOADADJ 0x3
0x00000068 0x0f000000 0x08000000 // SOR_NV_PSIDP_SOR_PLL3_0 27:24=BG_VREF_LEVEL 0x8
0x00000138 0xffffffff 0x29292929 // SOR_NV_PDISP_SOR_LANE_DRIVE_CURRENT0_0
// 31:24=LANE3_DP_LANE3 0x29
// 23:16=LANE2_DP_LANE0 0x29
// 15:08=LANE1_DP_LANE1 0x29
// 07:00=LANE0_DP_LANE2 0x29
0x00000148 0xffffffff 0x00000000 // SOR_NV_PDISP_SOR_LANE_PREEMPHASIS0_0
// 31:24=LANE3_DP_LANE3 0x00
// 23:16=LANE2_DP_LANE0 0x00
// 15:08=LANE1_DP_LANE1 0x00
// 07:00=LANE0_DP_LANE2 0x00
0x00000170 0x0040ff00 0x00404000 // SOR_NV_PDISP_SOR_DP_PADCTL0_0
// 22:22=TX_PU 0x1
// 15:08=TX_PU_VALUE 0x40
>;
};
};
prod_c_hdmi_75m_150m {
board {
prod = <
0x000003a0 0x00000002 0x00000000 // SOR_NV_PDISP_INPUT_CONTROL 01:01=ARM_VIDEO_RANGE 0x0
0x0000005c 0x0f000700 0x01000300 // SOR_NV_PDISP_SOR_PLL0_0 11:08=VCOCAP 0x3
// 27:24=ICHPMP 0x1
0x00000060 0x00f01f00 0x00301300 // SOR_NV_PDISP_SOR_PLL1_0 08:08=TMDS_TERM 0x1
// 12:09=TMDS_TERMADJ 0x9
// 23:20=LOADADJ 0x3
0x00000068 0x0f000000 0x08000000 // SOR_NV_PSIDP_SOR_PLL3_0 27:24=BG_VREF_LEVEL 0x8
0x00000138 0xffffffff 0x30373737 // SOR_NV_PDISP_SOR_LANE_DRIVE_CURRENT0_0
// 31:24=LANE3_DP_LANE3 0x30
// 23:16=LANE2_DP_LANE0 0x37
// 15:08=LANE1_DP_LANE1 0x37
// 07:00=LANE0_DP_LANE2 0x37
0x00000148 0xffffffff 0x01020202 // SOR_NV_PDISP_SOR_LANE_PREEMPHASIS0_0
// 31:24=LANE3_DP_LANE3 0x01
// 23:16=LANE2_DP_LANE0 0x02
// 15:08=LANE1_DP_LANE1 0x02
// 07:00=LANE0_DP_LANE2 0x02
0x00000170 0x0040ff00 0x00406600 // SOR_NV_PDISP_SOR_DP_PADCTL0_0
// 22:22=TX_PU 0x1
// 15:08=TX_PU_VALUE 0x66
>;
};
};
prod_c_hdmi_150m_300m {
board {
prod = <
0x000003a0 0x00000002 0x00000000 // SOR_NV_PDISP_INPUT_CONTROL 01:01=ARM_VIDEO_RANGE 0x0
0x0000005c 0x0f000700 0x06000300 // SOR_NV_PDISP_SOR_PLL0_0 11:08=VCOCAP 0x3
// 27:24=ICHPMP 0x6
0x00000060 0x00f01f00 0x00301300 // SOR_NV_PDISP_SOR_PLL1_0 08:08=TMDS_TERM 0x1
// 12:09=TMDS_TERMADJ 0x9
// 23:20=LOADADJ 0x3
0x00000068 0x0f000000 0x0F000000 // SOR_NV_PSIDP_SOR_PLL3_0 27:24=BG_VREF_LEVEL 0xF
0x00000138 0xffffffff 0x30373737 // SOR_NV_PDISP_SOR_LANE_DRIVE_CURRENT0_0
// 31:24=LANE3_DP_LANE3 0x30
// 23:16=LANE2_DP_LANE0 0x37
// 15:08=LANE1_DP_LANE1 0x37
// 07:00=LANE0_DP_LANE2 0x37
0x00000148 0xffffffff 0x103E3E3E // SOR_NV_PDISP_SOR_LANE_PREEMPHASIS0_0
// 31:24=LANE3_DP_LANE3 0x10
// 23:16=LANE2_DP_LANE0 0x3E
// 15:08=LANE1_DP_LANE1 0x3E
// 07:00=LANE0_DP_LANE2 0x3E
0x00000170 0x0040ff00 0x00406600 // SOR_NV_PDISP_SOR_DP_PADCTL0_0
// 22:22=TX_PU 0x1
// 15:08=TX_PU_VALUE 0x66
>;
};
};
prod_c_hdmi_300m_600m {
board {
prod = <
0x000003a0 0x00000002 0x00000002 // SOR_NV_PDISP_INPUT_CONTROL 01:01=ARM_VIDEO_RANGE 0x1
0x0000005c 0x0f000700 0x0A000300 // SOR_NV_PDISP_SOR_PLL0_0 11:08=VCOCAP 0x3
// 27:24=ICHPMP 0xA
0x00000060 0x00f01f00 0x00301700 // SOR_NV_PDISP_SOR_PLL1_0 08:08=TMDS_TERM 0x1
// 12:09=TMDS_TERMADJ 0xB
// 23:20=LOADADJ 0x3
0x00000068 0x0f000000 0x0E000000 // SOR_NV_PSIDP_SOR_PLL3_0 27:24=BG_VREF_LEVEL 0xE
0x00000138 0xffffffff 0x353E3E3E // SOR_NV_PDISP_SOR_LANE_DRIVE_CURRENT0_0
// 31:24=LANE3_DP_LANE3 0x35
// 23:16=LANE2_DP_LANE0 0x3E
// 15:08=LANE1_DP_LANE1 0x3E
// 07:00=LANE0_DP_LANE2 0x3E
0x00000148 0xffffffff 0x023F3F3F // SOR_NV_PDISP_SOR_LANE_PREEMPHASIS0_0
// 31:24=LANE3_DP_LANE3 0x02
// 23:16=LANE2_DP_LANE0 0x3F
// 15:08=LANE1_DP_LANE1 0x3F
// 07:00=LANE0_DP_LANE2 0x3F
0x00000170 0x0040ff00 0x00406600 // SOR_NV_PDISP_SOR_DP_PADCTL0_0
// 22:22=TX_PU 0x1
// 15:08=TX_PU_VALUE 0x66
>;
};
};
};
};
};
};
+7 -3
View File
@@ -2,7 +2,6 @@
/dts-v1/;
#include "tegra210-nx.dtsi"
#include "tegra210-odin-prods.dtsi"
/ {
model = "Nintendo Switch (2017)";
@@ -57,7 +56,7 @@
status = "okay";
compatible = "brcm,bcm4356-fmac";
reg = <1>;
reset-gpios = <TEGRA_GPIO(H, 1) GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_LOW>;
};
};
};
@@ -71,6 +70,11 @@
avdd_dsi_csi-supply = <&max77620_gpio7>;
};
sor1: sor@54580000 {
/* use odin hdmi defaults */
compatible = "nvidia,tegra210-sor1-odin";
};
vi: i2c@546c0000 {
avdd_dsi_csi-supply = <&max77620_gpio7>;
};
@@ -2077,7 +2081,7 @@
};
onoff {
maxim,onoff-keycode = <KEY_SLEEP>;
maxim,onoff-keycode = <KEY_POWER>;
};
};
};
+240 -352
View File
@@ -1,12 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/mfd/max77620.h>
#include <dt-bindings/thermal/tegra210b01-trips.h>
#include <dt-bindings/thermal/thermal.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/sound/rt5640.h>
#include "tegra210b01.dtsi"
#include "tegra210b01-prods.dtsi"
/ {
aliases {
@@ -69,6 +67,12 @@
interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;
};
r2p {
compatible = "nvidia,tegra210b01-r2p";
nvidia,pmc = <&pmc>;
status = "okay";
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0xc0000000>;
@@ -169,7 +173,6 @@
interrupts = <TEGRA_GPIO(Z, 0) IRQ_TYPE_LEVEL_LOW>;
monitored-battery = <&fuel_gauge>;
#extcon-cells = <1>;
omit-battery-class;
@@ -189,7 +192,7 @@
reg = <0x36>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(Y, 0) IRQ_TYPE_NONE>;
interrupts = <TEGRA_GPIO(Y, 0) IRQ_TYPE_EDGE_FALLING>;
/* Actual is 5000 but driver does not account for CGAIN */
/* And does not take into account Rsense and CGAIN for capacity */
@@ -207,9 +210,13 @@
reg = <0x1c>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(BB, 4) IRQ_TYPE_EDGE_RISING>;
clocks = <&tegra_car TEGRA210_CLK_EXTERN1>;
clock-names = "mclk";
realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
realtek,over-current-threshold-microamp = <600>;
realtek,over-current-scale-factor = <2>;
realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
realtek,jack-detect-source = <RT5640_JD_SRC_JD1_IN4P>;
sound-name-prefix = "x";
@@ -227,8 +234,7 @@
compatible = "rohm,bm92t";
reg = <0x18>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(K, 4) IRQ_TYPE_EDGE_RISING>;
#extcon-cells = <1>;
interrupts = <TEGRA_GPIO(K, 4) IRQ_TYPE_LEVEL_LOW>;
pd_bat_chg-supply = <&battery_charger>;
vbus-source-supply = <&v_vdd5v3>;
vbus-supply = <&usb0_vbus>;
@@ -243,29 +249,23 @@
rohm,pd-12v-current-limit-ma = <1500>;
rohm,pd-15v-current-limit-ma = <1200>;
// connector@0 {
// compatible = "usb-c-connector";
// reg = <0>;
// label = "USB-C";
// data-role = "dual";
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "dual";
data-role = "dual";
displayport = <&sor1>;
// ports {
// #address-cells = <1>;
// #size-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
// port@0 {
// reg = <0>;
// usb_con_ep: endpoint {
// remote-endpoint = <&hs_typec_p0>;
// };
// };
// };
// };
port {
usb_con_ep: endpoint {
remote-endpoint = <&usb_port_0>;
port@0 {
reg = <0>;
usb_con_ep: endpoint {
remote-endpoint = <&usb_port_0>;
};
};
};
};
};
@@ -290,25 +290,29 @@
status = "okay";
clock-frequency = <400000>;
fts_touch: fts@49 {
compatible = "stm,ftm4_fts";
status = "okay";
touchscreen@49 {
compatible = "st,stmftm4";
reg = <0x49>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_LEVEL_LOW>;
stm,vio-gpio = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_HIGH>;
stm,irq_type = <0x2000>; /* IRQF_ONESHOT */
stm,regulator_avdd = "vdd-tp-2v9";
stm,max_coords = <1280 720>;
stm,max-real-coords = <1264 704>;
stm,edge-offset = <15 15>;
stm,delayed-open;
stm,delayed-open-time = <0>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <720>;
touch-key-connected;
vdd-supply = <&vdd_touch>;
avdd-supply = <&max77620_ldo6>;
};
};
aconnect@702c0000 {
status = "okay";
ahub@702d0800 {
status = "okay";
admaif@702d0000 {
status = "okay";
};
/* I2S1: RT5639 */
i2s@702d1000 {
status = "okay";
@@ -337,31 +341,31 @@
};
/* I2S2: BCM4356-BT PCM */
i2s@702d1100 {
status = "okay";
// i2s@702d1100 {
// status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
// ports {
// #address-cells = <1>;
// #size-cells = <0>;
port@0 {
reg = <0>;
// port@0 {
// reg = <0>;
i2s2_cif_ep: endpoint {
remote-endpoint = <&xbar_i2s2_ep>;
};
};
// i2s2_cif_ep: endpoint {
// remote-endpoint = <&xbar_i2s2_ep>;
// };
// };
i2s2_port: port@1 {
reg = <1>;
// i2s2_port: port@1 {
// reg = <1>;
/*i2s2_dap_ep: endpoint {
dai-format = "dsp_a";
remote-endpoint = <&spdif1_ep>;
};*/
};
};
};
// /*i2s2_dap_ep: endpoint {
// dai-format = "dsp_a";
// remote-endpoint = <&spdif1_ep>;
// };*/
// };
// };
// };
sfc@702d2000 {
status = "okay";
@@ -678,7 +682,7 @@
reg = <1>;
dmic1_dap_ep: endpoint {
/* Placeholder for external Codec */
remote-endpoint = <&rt5640_ep>;
};
};
};
@@ -703,32 +707,7 @@
reg = <1>;
dmic2_dap_ep: endpoint {
/* Placeholder for external Codec */
};
};
};
};
dmic@702d4200 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dmic3_cif_ep: endpoint {
remote-endpoint = <&xbar_dmic3_ep>;
};
};
dmic3_port: port@1 {
reg = <1>;
dmic3_dap_ep: endpoint {
/* Placeholder for external Codec */
remote-endpoint = <&rt5640_ep>;
};
};
};
@@ -972,13 +951,13 @@
};
};
xbar_i2s2_port: port@b {
reg = <0xb>;
// xbar_i2s2_port: port@b {
// reg = <0xb>;
xbar_i2s2_ep: endpoint {
remote-endpoint = <&i2s2_cif_ep>;
};
};
// xbar_i2s2_ep: endpoint {
// remote-endpoint = <&i2s2_cif_ep>;
// };
// };
xbar_dmic1_port: port@f {
reg = <0xf>;
@@ -996,14 +975,6 @@
};
};
xbar_dmic3_port: port@11 {
reg = <0x11>;
xbar_dmic3_ep: endpoint {
remote-endpoint = <&dmic3_cif_ep>;
};
};
xbar_sfc1_in_port: port@12 {
reg = <0x12>;
@@ -1413,6 +1384,14 @@
};
};
};
dma-controller@702e2000 {
status = "okay";
};
interrupt-controller@702f9000 {
status = "okay";
};
};
gpu@57000000 {
@@ -1488,6 +1467,14 @@
// enable-active-high;
// };
vdd_touch: regulator-touch-vdd {
compatible = "regulator-fixed";
regulator-name = "touch-vdd";
gpio = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_HIGH>;
enable-active-high;
startup-delay-us = <5000>; // from downstream driver
};
en_vdd_sd: regulator@4 {
compatible = "regulator-fixed";
reg = <4>;
@@ -1648,220 +1635,117 @@
compatible = "nvidia,tegra210-audio-graph-card";
dais = /* FE */
<&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
<&admaif4_port>, <&admaif5_port>, <&admaif6_port>,
<&admaif7_port>, <&admaif8_port>, <&admaif9_port>,
<&admaif10_port>,
/* Router */
<&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_dmic1_port>,
<&xbar_dmic2_port>, <&xbar_dmic3_port>,
<&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
<&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
<&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
<&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
<&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
<&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
<&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
<&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
<&xbar_mixer_in1_port>, <&xbar_mixer_in2_port>,
<&xbar_mixer_in3_port>, <&xbar_mixer_in4_port>,
<&xbar_mixer_in5_port>, <&xbar_mixer_in6_port>,
<&xbar_mixer_in7_port>, <&xbar_mixer_in8_port>,
<&xbar_mixer_in9_port>, <&xbar_mixer_in10_port>,
<&xbar_ope1_in_port>, <&xbar_ope2_in_port>,
/* HW accelerators */
<&sfc1_out_port>, <&sfc2_out_port>,
<&sfc3_out_port>, <&sfc4_out_port>,
<&mvc1_out_port>, <&mvc2_out_port>,
<&amx1_out_port>, <&amx2_out_port>,
<&adx1_out1_port>, <&adx1_out2_port>,
<&adx1_out3_port>, <&adx1_out4_port>,
<&adx2_out1_port>, <&adx2_out2_port>,
<&adx2_out3_port>, <&adx2_out4_port>,
<&mixer_out1_port>, <&mixer_out2_port>,
<&mixer_out3_port>, <&mixer_out4_port>,
<&mixer_out5_port>,
<&ope1_out_port>, <&ope2_out_port>,
/* I/O DAP Ports */
<&i2s1_port>, <&i2s2_port>, <&dmic1_port>, <&dmic2_port>, <&dmic3_port>;
<&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
<&admaif4_port>, <&admaif5_port>, <&admaif6_port>,
<&admaif7_port>, <&admaif8_port>, <&admaif9_port>,
<&admaif10_port>,
/* Router */
<&xbar_i2s1_port>, /*<&xbar_i2s2_port>,*/
<&xbar_dmic1_port>, <&xbar_dmic2_port>,
<&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
<&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
<&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
<&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
<&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
<&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
<&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
<&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
<&xbar_mixer_in1_port>, <&xbar_mixer_in2_port>,
<&xbar_mixer_in3_port>, <&xbar_mixer_in4_port>,
<&xbar_mixer_in5_port>, <&xbar_mixer_in6_port>,
<&xbar_mixer_in7_port>, <&xbar_mixer_in8_port>,
<&xbar_mixer_in9_port>, <&xbar_mixer_in10_port>,
<&xbar_ope1_in_port>, <&xbar_ope2_in_port>,
/* HW accelerators */
<&sfc1_out_port>, <&sfc2_out_port>,
<&sfc3_out_port>, <&sfc4_out_port>,
<&mvc1_out_port>, <&mvc2_out_port>,
<&amx1_out_port>, <&amx2_out_port>,
<&adx1_out1_port>, <&adx1_out2_port>,
<&adx1_out3_port>, <&adx1_out4_port>,
<&adx2_out1_port>, <&adx2_out2_port>,
<&adx2_out3_port>, <&adx2_out4_port>,
<&mixer_out1_port>, <&mixer_out2_port>,
<&mixer_out3_port>, <&mixer_out4_port>,
<&mixer_out5_port>,
<&ope1_out_port>, <&ope2_out_port>,
/* I/O DAP Ports */
<&i2s1_port>/*, <&i2s2_port>*/,
<&dmic1_port>, <&dmic2_port>;
label = "Nintendo Switch APE";
label = "switch-ape-rt5640";
widgets = "Microphone", "x MIC Jack",
"Microphone", "y MIC",
"Headphone", "x HP Jack",
"Headphone", "y HP",
"Speaker", "x SPK",
"Speaker", "y OUT";
widgets =
"Microphone", "x Mic Jack",
"Headphone", "x Headphone Jack",
"Speaker", "x Int Spk";
routing = /* I2S1 <-> RT5640, I2S2 <--> BCM4356-BT PCM */
"x AIF1 Playback", "I2S1 DAP-Playback",
"I2S1 DAP-Capture", "x AIF1 Capture",
"y HIFI Playback", "I2S2 DAP-Playback",
"I2S2 DAP-Capture", "y HIFI Capture",
/* RT5640 codec controls */
"x HP Jack", "x HPOL",
"x HP Jack", "x HPOR",
"x IN1P", "x MIC Jack",
"x SPK", "x SPORP",
"x SPK", "x SPORN",
"x SPK", "x SPOLP",
"x SPK", "x SPOLN",
/* BCM4356-BT PCM controls */
"y HP", "y OUT",
"y IN", "y MIC";
routing = /* I2S1 <-> RT5640 */
"x AIF1 Playback", "I2S1 DAP-Playback",
"I2S1 DAP-Capture", "x AIF1 Capture",
/* RT5640 codec controls */
"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 IN1P", "x Mic Jack",
"x IN1P", "x Mic Jack";
};
thermal-zones {
diode-thermal {
cpu-thermal {
polling-delay-passive = <250>;
polling-delay = <500>;
status = "okay";
polling-delay = <0>;
polling-delay-passive = <1100>;
trips {
gpu_shutdown {
temperature = <92500>;
cpu_trip_critical: critical {
temperature = <96500>;
hysteresis = <0>;
type = "critical";
writable;
};
gpu_throttle {
temperature = <86000>;
hysteresis = <0>;
type = "passive";
writable;
cpu_trip_hot: hot {
temperature = <70000>;
hysteresis = <2000>;
type = "hot";
};
gpu_scaling_trip0: gpu-scaling-trip0 {
temperature = <(TEGRA210B01_GPU_DVFS_THERMAL_MIN)>;
hysteresis = <0>; /* millicelsius */
type = "active";
};
gpu_scaling_trip1: gpu-scaling-trip1 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_TRIP_1>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip2: gpu-scaling-trip2 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_TRIP_2>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip3: gpu-scaling-trip3 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_TRIP_3>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip4: gpu-scaling-trip4 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_TRIP_4>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
gpu_scaling_trip5: gpu-scaling-trip5 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_TRIP_5>;
hysteresis = <1000>; /* millicelsius */
cpu_trip_active: active {
temperature = <50000>;
hysteresis = <2000>;
type = "active";
};
gpu_vmax_trip1: gpu-vmax-trip1 {
temperature = <TEGRA210B01_GPU_DVFS_THERMAL_CAP_1>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
core_dvfs_floor_trip0: core_dvfs_floor_trip0 {
temperature = <TEGRA210B01_SOC_THERMAL_FLOOR_0>;
hysteresis = <1000>;
type = "active";
};
core_dvfs_cap_trip0: core_dvfs_cap_trip0 {
temperature = <TEGRA210B01_SOC_THERMAL_CAP_0>;
hysteresis = <1000>;
type = "active";
};
soc_critical {
temperature = <96000>;
hysteresis = <0>;
type = "critical";
writable;
};
soc_emergency {
temperature = <85000>;
cpu_trip_passive: passive {
temperature = <30000>;
hysteresis = <2000>;
type = "passive";
writable;
};
dfll_floor_trip0: dfll-floor-trip0 {
temperature = <TEGRA210B01_DFLL_THERMAL_FLOOR_0>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
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>;
};
};
};
pllx-thermal {
polling-delay-passive = <500>;
trips {
cpu_heavy {
temperature = <94500>;
hysteresis = <0>;
type = "hot";
writable;
};
cpu_throttle {
temperature = <90500>;
hysteresis = <0>;
type = "passive";
writable;
};
cpu_critical {
temperature = <96000>;
hysteresis = <0>;
type = "critical";
writable;
};
dfll_cap_trip0: dfll-cap-trip0 {
temperature = <TEGRA210B01_DFLL_THERMAL_CAP_0>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
dfll_cap_trip1: dfll-cap-trip1 {
temperature = <TEGRA210B01_DFLL_THERMAL_CAP_1>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map0 {
trip = <&{/thermal-zones/pllx-thermal/trips/cpu_heavy}>;
cdev-type = "tegra-heavy";
cooling-device = <&throttle_heavy 1 1>;
cooling-device = <&fan 3 3>;
trip = <&cpu_trip_critical>;
};
dfll-cap-map0 {
trip = <&dfll_cap_trip0>;
cooling-device = <&dfll_cap 1 1>;
map1 {
cooling-device = <&fan 2 2>;
trip = <&cpu_trip_hot>;
};
dfll-cap-map1 {
trip = <&dfll_cap_trip1>;
cooling-device = <&dfll_cap 2 2>;
map2 {
cooling-device = <&fan 1 1>;
trip = <&cpu_trip_active>;
};
map3 {
cooling-device = <&fan 0 0>;
trip = <&cpu_trip_passive>;
};
};
};
@@ -1924,11 +1808,11 @@
vddio-pex-ctl-supply = <&max77620_sd3>;
pci@1,0 {
nvidia,num-lanes = <2>;
// nvidia,num-lanes = <2>; use 4 from default
phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>, /* Referred to plat config */
<&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>;
phy-names = "pcie-0", "pcie-1";
status = "okay";
status = "disabled";
};
pci@2,0 {
@@ -1941,7 +1825,7 @@
status = "okay";
compatible = "brcm,bcm4356-fmac";
reg = <1>;
reset-gpios = <TEGRA_GPIO(H, 1) GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_LOW>;
};
};
};
@@ -2010,23 +1894,22 @@
usb-role-switch;
vbus-supply = <&battery_reg>;
#address-cells = <1>;
#size-cells = <0>;
usb_port_0: endpoint@0 {
reg = <0>;
remote-endpoint = <&usb_con_ep>;
port {
usb_port_0: endpoint@0 {
reg = <0>;
remote-endpoint = <&usb_con_ep>;
};
};
};
// usb3-0 {
// status = "okay";
// nvidia,usb2-companion = <0>;
// };
usb3-0 {
status = "okay";
nvidia,usb2-companion = <0>;
};
};
};
pmc@7000e400 {
pmc: pmc@7000e400 {
nvidia,invert-interrupt;
nvidia,suspend-mode = <0>;
nvidia,cpu-pwr-good-time = <0>;
@@ -2036,6 +1919,48 @@
nvidia,core-power-req-active-high;
nvidia,sys-clock-req-active-high;
status = "okay";
bootrom-commands {
reset-commands {
nvidia,command-retries-count = <2>;
nvidia,delay-between-commands-us = <10>;
nvidia,wait-before-start-bus-clear-us = <10>;
#address-cells = <1>;
#size-cells = <0>;
commands@68 {
nvidia,command-names = "r2p-setup";
reg = <0x68>;
nvidia,enable-8bit-register;
nvidia,enable-8bit-data;
nvidia,controller-type-i2c;
nvidia,controller-id = <4>;
nvidia,enable-controller-reset;
nvidia,write-commands = <
0x13 0x00 /* r2p enc 0 */
0x1A 0x00 /* r2p enc 1 */
0x11 0x00 /* r2p mgc 0 */
0x18 0x00 /* r2p mgc 1 */
0x04 0x01 /* Update RTC regs */
>;
};
commands@3c {
nvidia,command-names = "pmic-rails";
reg = <0x3c>;
nvidia,enable-8bit-register;
nvidia,enable-8bit-data;
nvidia,controller-type-i2c;
nvidia,controller-id = <4>;
nvidia,enable-controller-reset;
nvidia,write-commands = <
0x16 0x20 /* Set 1.0V and disable SD0 */
0x42 0x99 /* Wake reasons: SFT_RST/ACOK/LID/EN0 */
0x41 0x80 /* Reboot */
>;
};
};
};
};
clk32k_in: clock-32k {
@@ -2098,9 +2023,6 @@
dc@54240000 {
status = "okay";
extcon-cables = <&bm92t 3>;
extcon-cable-names = "typec1";
nvidia,outputs = <&sor1>;
};
};
@@ -2121,20 +2043,17 @@
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
enable-method = "psci";
vdd-cpu-supply = <&cpu_max_reg>;
};
cpu@1 {
enable-method = "psci";
};
cpu@2 {
enable-method = "psci";
};
cpu@3 {
enable-method = "psci";
idle-states {
cpu-sleep {
status = "okay";
};
};
};
@@ -2265,6 +2184,7 @@
function = "gpio";
};
/* max77812 chip enable */
gpio1 {
pins = "gpio1";
function = "fps-out";
@@ -2274,6 +2194,7 @@
maxim,active-fps-power-down-slot = <0>;
};
/* max77812 vio and force m3vout force */
gpio2 {
pins = "gpio2";
function = "fps-out";
@@ -2283,6 +2204,7 @@
maxim,active-fps-power-down-slot = <0>;
};
/* vdd_3v3 */
gpio3 {
pins = "gpio3";
function = "fps-out";
@@ -2500,47 +2422,13 @@
regulator-ramp-delay = <50000>;
};
};
onoff {
maxim,onoff-keycode = <KEY_POWER>;
};
};
};
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 800 &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 1010 1010>;
// clocks = <&tegra_car TEGRA210_CLK_CAP_VGPU_GBUS>;
// clock-names = "cap-clk";
// status = "disabled";
// };
dummy_cool_dev: dummy-cool-dev {
compatible = "dummy-cooling-dev";
#cooling-cells = <2>; /* min followed by max */
-1
View File
@@ -4,7 +4,6 @@
#include "tegra210b01-nx.dtsi"
/ {
model = "Nintendo Switch (2019)";
compatible = "nvidia,modin", "nvidia,odin", "nintendo,iowa", "nintendo,nx", "nvidia,tegra210b01", "nvidia,tegra210";
};
+123 -248
View File
@@ -9,9 +9,8 @@
pinmux: pinmux@700008d4 {
status = "okay";
pinctrl-names = "default", "drive";
pinctrl-names = "default";
pinctrl-0 = <&pinmux_default>;
pinctrl-1 = <&drive_default>;
pinmux_default: common {
/* SFIO Pin Configuration */
@@ -21,6 +20,8 @@
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dvfs_pwm_pbb1 { /* 3184 */
@@ -29,6 +30,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
dap1_din_pb1 { /* 3128 */
@@ -69,6 +72,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic1_dat_pe1 { /* 30a8 */
@@ -77,6 +82,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic2_clk_pe2 { /* 30ac */
@@ -85,6 +92,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic2_dat_pe3 { /* 30b0 */
@@ -93,6 +102,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* SD Card Power Enable */
@@ -102,6 +113,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
};
/* Gamecard Power Enable */
@@ -111,6 +124,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
};
gen3_i2c_scl_pf0 { /* 30cc */
@@ -121,6 +136,8 @@
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x7>;
nvidia,pull-up-strength = <0x00>;
};
gen3_i2c_sda_pf1 { /* 30d0 */
@@ -131,6 +148,8 @@
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x7>;
nvidia,pull-up-strength = <0x00>;
};
cam_i2c_scl_ps2 { /* 30d4 */
@@ -140,6 +159,8 @@
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
/* Gamecard Detect */
@@ -150,6 +171,8 @@
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
cam1_mclk_ps0 { /* 3154 */
@@ -158,6 +181,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* Charger IC (BQ24193) Battery Charge Status */
@@ -167,6 +192,8 @@
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
pex_l0_clkreq_n_pa1 { /* 303c PARKED */
@@ -356,6 +383,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
pwr_i2c_sda_py4 { /* 30e0 */
@@ -365,6 +394,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
clk_32k_in { /* 3160 */
@@ -448,6 +479,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* NFC Power Enable */
@@ -457,6 +490,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* NFC IRQ */
@@ -466,6 +501,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* Touchscreen (4CD60D) Reset */
@@ -475,6 +512,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
gen1_i2c_scl_pj1 { /* 30bc */
@@ -484,6 +523,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
gen1_i2c_sda_pj0 { /* 30c0 */
@@ -493,6 +534,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
gen2_i2c_scl_pj2 { /* 30c4 */
@@ -502,6 +545,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x4>;
nvidia,pull-up-strength = <0x00>;
};
gen2_i2c_sda_pj3 { /* 30c8 */
@@ -511,6 +556,8 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x4>;
nvidia,pull-up-strength = <0x00>;
};
uart1_tx_pu0 { /* 30e4 */
@@ -718,6 +765,8 @@
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_rx_pd2 { /* 3108 */
@@ -726,6 +775,8 @@
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_rts_pd3 { /* 310C */
@@ -734,6 +785,8 @@
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_cts_pd4 { /* 3110 */
@@ -742,6 +795,8 @@
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart4_tx_pi4 { /* 3114 */
@@ -844,6 +899,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
};
/* Gamecard Reset */
@@ -853,6 +910,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
/* Audio Codec (ALC5639) Alert */
@@ -862,6 +921,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
/* Joycon (L) Wake Detect */
@@ -887,6 +948,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* Charger IC (BQ24193) Battery Charge Enable */
@@ -896,6 +959,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
/* Fan Tachometer */
@@ -926,13 +991,13 @@
};
/* 5V Regulator - Battery */
// pa5 { /* 304c */
// nvidia,pins = "pa5";
// nvidia,function = "rsvd1";
// nvidia,pull = <TEGRA_PIN_PULL_NONE>;
// nvidia,tristate = <TEGRA_PIN_DISABLE>;
// nvidia,enable-input = <TEGRA_PIN_DISABLE>;
// };
sata_led_active_pa5 { /* 304c */
nvidia,pins = "sata_led_active_pa5";
nvidia,function = "rsvd1";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
als_prox_int_px3 { /* 3228 */
nvidia,pins = "als_prox_int_px3";
@@ -976,6 +1041,8 @@
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,pull-down-strength = <0x14>;
nvidia,pull-up-strength = <0x14>;
};
/* Touchscreen (4CD60D) IRQ */
@@ -1032,13 +1099,13 @@
};
/* LCD Backlight Power Enable */
// lcd_bl_en_pv1 { /* 3200 */
// nvidia,pins = "lcd_bl_en_pv1";
// nvidia,function = "rsvd0";
// nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
// nvidia,tristate = <TEGRA_PIN_DISABLE>;
// nvidia,enable-input = <TEGRA_PIN_DISABLE>;
// };
lcd_bl_en_pv1 { /* 3200 */
nvidia,pins = "lcd_bl_en_pv1";
nvidia,function = "rsvd0";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
/* LCD Reset */
lcd_rst_pv2 { /* 3204 */
@@ -1270,238 +1337,46 @@
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
};
drive_default: drive {
aud_mclk_pbb0 {
nvidia,pins = "aud_mclk_pbb0";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
cam1_mclk_ps0 {
nvidia,pins = "cam1_mclk_ps0";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
cam2_mclk_ps1 {
nvidia,pins = "cam2_mclk_ps1";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
cam_af_en_ps5 {
nvidia,pins = "cam_af_en_ps5";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
cam_flash_en_ps6 {
nvidia,pins = "cam_flash_en_ps6";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
cam_i2c_scl_ps2 {
nvidia,pins = "cam_i2c_scl_ps2";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
cam_i2c_sda_ps3 {
nvidia,pins = "cam_i2c_sda_ps3";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
dmic3_clk_pe4 {
nvidia,pins = "dmic3_clk_pe4";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
};
dmic3_dat_pe5 {
nvidia,pins = "dmic3_dat_pe5";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
};
dap4_din_pj5 {
nvidia,pins = "dap4_din_pj5";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dap4_dout_pj6 {
nvidia,pins = "dap4_dout_pj6";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dap4_fs_pj4 {
nvidia,pins = "dap4_fs_pj4";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dap4_sclk_pj7 {
nvidia,pins = "dap4_sclk_pj7";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic1_clk_pe0 {
nvidia,pins = "dmic1_clk_pe0";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic1_dat_pe1 {
nvidia,pins = "dmic1_dat_pe1";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic2_clk_pe2 {
nvidia,pins = "dmic2_clk_pe2";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
dmic2_dat_pe3 {
nvidia,pins = "dmic2_dat_pe3";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
touch_clk_pv7 {
nvidia,pins = "touch_clk_pv7";
nvidia,pull-down-strength = <0x14>;
nvidia,pull-up-strength = <0x14>;
};
gen1_i2c_scl_pj1 {
nvidia,pins = "gen1_i2c_scl_pj1";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
gen1_i2c_sda_pj0 {
nvidia,pins = "gen1_i2c_sda_pj0";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
gen2_i2c_scl_pj2 {
nvidia,pins = "gen2_i2c_scl_pj2";
nvidia,pull-down-strength = <0x4>;
nvidia,pull-up-strength = <0x00>;
};
gen2_i2c_sda_pj3 {
nvidia,pins = "gen2_i2c_sda_pj3";
nvidia,pull-down-strength = <0x4>;
nvidia,pull-up-strength = <0x00>;
};
gen3_i2c_scl_pf0 {
nvidia,pins = "gen3_i2c_scl_pf0";
nvidia,pull-down-strength = <0x7>;
nvidia,pull-up-strength = <0x00>;
};
gen3_i2c_sda_pf1 {
nvidia,pins = "gen3_i2c_sda_pf1";
nvidia,pull-down-strength = <0x7>;
nvidia,pull-up-strength = <0x00>;
};
pwr_i2c_scl_py3 {
nvidia,pins = "pwr_i2c_scl_py3";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
pwr_i2c_sda_py4 {
nvidia,pins = "pwr_i2c_sda_py4";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x00>;
};
spi1_cs0_pc3 {
nvidia,pins = "spi1_cs0_pc3";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi1_cs1_pc4 {
nvidia,pins = "spi1_cs1_pc4";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi1_miso_pc1 {
nvidia,pins = "spi1_miso_pc1";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi1_mosi_pc0 {
nvidia,pins = "spi1_mosi_pc0";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi1_sck_pc2 {
nvidia,pins = "spi1_sck_pc2";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi2_cs0_pb7 {
nvidia,pins = "spi2_cs0_pb7";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi2_cs1_pdd0 {
nvidia,pins = "spi2_cs1_pdd0";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi2_miso_pb5 {
nvidia,pins = "spi2_miso_pb5";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
};
spi2_mosi_pb4 {
/* Unused SPI2 pins */
spi2_mosi_pb4 { /* 3064 */
nvidia,pins = "spi2_mosi_pb4";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
nvidia,function = "rsvd2";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
spi2_sck_pb6 {
spi2_miso_pb5 { /* 3068 */
nvidia,pins = "spi2_miso_pb5";
nvidia,function = "rsvd2";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
spi2_sck_pb6 { /* 306c */
nvidia,pins = "spi2_sck_pb6";
nvidia,pull-down-strength = <0x00>;
nvidia,pull-up-strength = <0x00>;
nvidia,function = "rsvd2";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
dvfs_clk_pbb2 {
nvidia,pins = "dvfs_clk_pbb2";
nvidia,pull-down-strength = <0x1F>;
nvidia,pull-up-strength = <0x1F>;
spi2_cs0_pb7 { /* 3070 */
nvidia,pins = "spi2_cs0_pb7";
nvidia,function = "rsvd2";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
dvfs_pwm_pbb1 {
nvidia,pins = "dvfs_pwm_pbb1";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
pz0 {
nvidia,pins = "pz0";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
pz1 {
nvidia,pins = "pz1";
nvidia,pull-down-strength = <0x10>;
nvidia,pull-up-strength = <0x10>;
};
gpio_x1_aud_pbb3 {
nvidia,pins = "gpio_x1_aud_pbb3";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
gpio_x3_aud_pbb4 {
nvidia,pins = "gpio_x3_aud_pbb4";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_tx_pd1 {
nvidia,pins = "uart3_tx_pd1";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_rx_pd2 {
nvidia,pins = "uart3_rx_pd2";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_rts_pd3 {
nvidia,pins = "uart3_rts_pd3";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
};
uart3_cts_pd4 {
nvidia,pins = "uart3_cts_pd4";
nvidia,pull-down-strength = <0x04>;
nvidia,pull-up-strength = <0x14>;
spi2_cs1_pdd0 { /* 3074 */
nvidia,pins = "spi2_cs1_pdd0";
nvidia,function = "rsvd1";
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
};
};
@@ -1604,9 +1479,9 @@
xusb: usb@70090000 {
status = "okay";
phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>;//,
//<&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>;
phy-names = "usb2-0";//, "usb3-0";
phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
<&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>;
phy-names = "usb2-0", "usb3-0";
avdd-usb-supply = <&vdd_3v3>;
dvddio-pex-supply = <&max77620_ldo1>;
@@ -1616,9 +1491,9 @@
xudc: usb@700d0000 {
status = "okay";
phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>;//,
//<&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>;
phy-names = "usb2-0";//, "usb3-0";
phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
<&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>;
phy-names = "usb2-0", "usb3-0";
hvdd-usb-supply = <&vdd_3v3>;
avddio-usb-supply = <&max77620_ldo1>;