dts: misc updates

This commit is contained in:
2025-11-11 15:23:43 +00:00
parent 7d1873bb2f
commit 3c44c277e3
3 changed files with 967 additions and 7 deletions

View File

@@ -51,12 +51,37 @@
vdd-supply = <&gpu_max_reg>; vdd-supply = <&gpu_max_reg>;
}; };
pcie@1003000 {
status = "okay";
avdd-pll-uerefe-supply = <&max77620_ldo1>;
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>;
pci@1,0 {
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";
nvidia,num-lanes = <2>;
status = "disabled";
};
pci@2,0 {
phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
phy-names = "pcie-0";
status = "okay";
};
};
host1x@50000000 { host1x@50000000 {
dsia: dsi@54300000 { dsia: dsi@54300000 {
status = "okay"; status = "okay";
panel@0 { panel@0 {
compatible = "jdi,lpm062m326a"; compatible = "nintendo,panel-nx-dsi";
reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
backlight = <&backlight>; backlight = <&backlight>;
vdd1-supply = <&v_pavdd_5v0>; vdd1-supply = <&v_pavdd_5v0>;

View File

@@ -1,5 +1,7 @@
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/mfd/max77620.h> #include <dt-bindings/mfd/max77620.h>
#include <dt-bindings/thermal/tegra210b01-trips.h>
#include <dt-bindings/thermal/thermal.h>
#include "tegra210b01.dtsi" #include "tegra210b01.dtsi"
@@ -17,12 +19,725 @@
reg = <0x0 0x80000000 0x0 0xc0000000>; reg = <0x0 0x80000000 0x0 0xc0000000>;
}; };
pwm@7000a000 {
status = "okay";
#pwm-cells = <2>;
};
serial@70006000 { serial@70006000 {
/delete-property/ dmas; /delete-property/ dmas;
/delete-property/ dma-names; /delete-property/ dma-names;
status = "okay"; status = "okay";
}; };
/* SDMMC4 for EMMC */
mmc@700b0600 {
status = "disabled";
bus-width = <8>;
max-frequency = <200000000>;
cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_HIGH>;
cap-mmc-highspeed;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
non-removable;
vqmmc-supply = <&max77620_sd3>;
vmmc-supply = <&vdd_3v3>;
};
/* SDMMC3 Not Used */
mmc@700b0400 {
status = "disabled";
};
/* SDMMC2 for Gamecard */
mmc@700b0200 {
status = "disabled";
bus-width = <8>;
max-frequency = <200000000>;
mmc-ddr-1_8v;
mmc-hs400-1_8v;
mmc-hs200-1_8v;
cap-mmc-highspeed;
cap-sd-highspeed;
non-removable;
vqmmc-supply = <&max77620_sd3>;
vmmc-supply = <&vdd_3v3>;
};
/* SDMMC1 for SD Card */
mmc@700b0000 {
status = "okay";
bus-width = <4>;
max-frequency = <200000000>;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&en_vdd_sd>;
vqmmc-supply = <&max77620_ldo2>;
};
i2c@7000c000 {
status = "okay";
clock-frequency = <100000>;
bq24193@6b {
compatible = "ti,bq24193";
reg = <0x6b>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(Z, 0) IRQ_TYPE_LEVEL_LOW>;
monitored-battery = <&fuel_gauge>;
#extcon-cells = <1>;
omit-battery-class;
battery_charger: charger {
regulator-name = "batt_regulator";
regulator-max-microamp = <4500000>;
};
usb0_vbus: usb-otg-vbus {
regulator-name = "vbus_regulator";
};
};
fuel_gauge: fuel-gauge@36 {
compatible = "maxim,max17050";
status = "okay";
reg = <0x36>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(Y, 0) IRQ_TYPE_NONE>;
/* Actual is 5000 but driver does not account for CGAIN */
/* And does not take into account Rsense and CGAIN for capacity */
maxim,rsns-microohm = <10000>;
maxim,over-heat-temp = <600>;
maxim,dead-volt = <3000>;
maxim,over-volt = <4208>; /* Actual: 4258 mV */
#thermal-sensor-cells = <0>;
};
rt5639: audio-codec@1c {
status = "okay";
compatible = "realtek,rt5639";
reg = <0x1c>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(BB, 4) IRQ_TYPE_EDGE_RISING>;
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,jack-detect-is-jd1;
};
/* PD Chip */
bm92t: bm92t@18 {
compatible = "rohm,bm92t";
reg = <0x18>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(K, 4) IRQ_TYPE_EDGE_RISING>;
#extcon-cells = <1>;
pd_bat_chg-supply = <&battery_charger>;
vbus-source-supply = <&v_vdd5v3>;
vbus-supply = <&usb0_vbus>;
rohm,vconn-en-gpio = <&gpio TEGRA_GPIO(K, 5) GPIO_ACTIVE_HIGH>;
rohm,dp-lanes = <2>;
rohm,dp-signal-toggle-on-resume;
/* Absolute max is 2.4A, constrained by BQ24193 ILIM */
rohm,pd-5v-current-limit-ma = <2000>;
rohm,pd-9v-current-limit-ma = <2000>;
rohm,pd-12v-current-limit-ma = <1500>;
rohm,pd-15v-current-limit-ma = <1200>;
port {
usb_con_ep: endpoint {
remote-endpoint = <&usb_port_0>;
};
};
};
tmp451: temperature-sensor@4c {
compatible = "ti,tmp451";
status = "okay";
reg = <0x4c>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(X, 4) IRQ_TYPE_EDGE_FALLING>;
vcc-supply = <&battery_reg>;
#thermal-sensor-cells = <1>;
};
};
/* i2c3 @ 400000hz
49: stm touchscreen controller
*/
i2c@7000c500 {
status = "okay";
clock-frequency = <400000>;
touchscreen@49 {
compatible = "stm,ftm4_fts";
status = "okay";
reg = <0x49>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_LEVEL_LOW>;
vdd-tp-2v9-supply = <&max77620_ldo6>;
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>;
};
};
gpu@57000000 {
status = "okay";
vdd-supply = <&gpu_max_reg>;
};
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm 0 33898>;
pwm-names = "backlight";
brightness-levels = <
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53 54 55 56 57 58
59 60 61 62 63 64 65 66 67 68 69 70 71 72
73 74 75 76 77 78 79 80 81 82 83 84 85 86
87 88 89 90 91 92 93 94 95 96 97 98 99 100
>;
default-brightness-level = <50>;
enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
power-supply = <&max77620_sd3>;
};
/* Fixed regulators */
battery_reg: vdd-ac-bat {
compatible = "regulator-fixed";
status = "okay";
regulator-name = "vdd-ac-bat";
regulator-min-microvolt = <4800000>;
regulator-max-microvolt = <4800000>;
regulator-always-on;
regulator-boot-on;
};
vdd_3v3: vdd-3v3 {
compatible = "regulator-fixed";
regulator-name = "vdd-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
gpio = <&pmic_b 3 0>;
enable-active-high;
regulator-enable-ramp-delay = <160>;
regulator-disable-ramp-delay = <10000>;
};
v_vdd5v3: v-vdd5v3 {
compatible = "regulator-fixed";
status = "okay"; /* Only enabled on Modin/Vali/Fric */
regulator-name = "v_vdd5v3";
regulator-min-microvolt = <5300000>;
regulator-max-microvolt = <5300000>;
gpio = <&gpio TEGRA_GPIO(X, 3) 0>;
enable-active-high;
regulator-enable-ramp-delay = <10000>;
};
max77620_gpio7: avdd-dsi-csi-1v2 {
compatible = "regulator-fixed";
regulator-name = "max77620-gpio7";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-boot-on; /* Must be set for seamless display */
gpio = <&pmic_b 7 0>;
enable-active-high;
regulator-enable-ramp-delay = <240>;
regulator-disable-ramp-delay = <11340>;
vin-supply = <&max77620_ldo0>;
};
// lcd_bl_en: lcd-bl-en {
// compatible = "regulator-fixed";
// regulator-name = "lcd-bl-en";
// regulator-min-microvolt = <1800000>;
// regulator-max-microvolt = <1800000>;
// gpio = <&gpio TEGRA_GPIO(V, 1) 0>;
// regulator-boot-on; /* Must be set for seamless display */
// enable-active-high;
// regulator-always-on;
// regulator-state-mem {
// regulator-off-in-suspend;
// };
// };
en_vdd_sd: en-vdd-sd {
compatible = "regulator-fixed";
regulator-name = "en-vdd-sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio TEGRA_GPIO(E, 4) 0>;
enable-active-high;
regulator-enable-ramp-delay = <472>;
regulator-disable-ramp-delay = <4880>;
vin-supply = <&vdd_3v3>;
};
/* LCD Power Enable +5V. Rohm BD8316GWL. */
v_pavdd_5v0: v-pavdd-5v0 {
compatible = "regulator-fixed";
regulator-name = "v_pavdd_5v0";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio TEGRA_GPIO(I, 0) 0>;
enable-active-high;
regulator-boot-on; /* Must be set for seamless display */
regulator-enable-ramp-delay = <232>;
};
/* LCD Power Enable -5V. Rohm BD8316GWL. */
v_navdd_5v0: v-navdd-5v0 {
compatible = "regulator-fixed";
regulator-name = "v_navdd_5v0";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio TEGRA_GPIO(I, 1) 0>;
enable-active-high;
regulator-boot-on; /* Must be set for seamless display */
regulator-enable-ramp-delay = <232>;
};
soctherm@700E2000 {
throttle-cfgs {
/* PG/ACOK/USB OC pin. CLK_32K_OUT. Used for LED PWM on Vali. */
/*
throttle_oc1: oc1 { // Sticky mode but not supported.
nvidia,priority = <16>;
nvidia,polarity-active-low = <1>;
nvidia,count-threshold = <0>;
nvidia,throttle-period = <2500000>;
nvidia,alarm-filter = <0xFFFFFFFF>;
nvidia,cpu-throt-percent = <75>;
nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_MED>;
};
*/
/* Battery OC pin. GPIO_PL1. Traced but missing resistor. */
/*
throttle_oc2: oc2 {
nvidia,priority = <24>;
nvidia,polarity-active-low = <1>;
nvidia,count-threshold = <0>;
nvidia,throttle-period = <100>;
nvidia,alarm-filter = <0xFFFFFFFF>;
nvidia,cpu-throt-percent = <75>;
nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_MED>;
};
*/
/* throttle_oc3: oc3: GPIO_PZ5. Floating. */
};
};
thermal-zones {
PLL-therm {
status = "okay";
polling-delay-passive = <500>;
thermal-zone-params {
governor-name = "step_wise";
};
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/PLL-therm/trips/cpu_heavy}>;
// cdev-type = "tegra-heavy";
// cooling-device = <&throttle_heavy 1 1>;
// };
// map1 {
// trip = <&{/thermal-zones/PLL-therm/trips/cpu_throttle}>;
// cdev-type = "cpu-balanced";
// cooling-device = <&{/bthrot_cdev/cpu_balanced}
// THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
// };
// 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>;
// };
// };
};
Tboard_tegra {
status = "okay";
polling-delay = <0>;
polling-delay-passive = <5500>;
trips {
board_emergency {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
writable;
};
};
// cooling-maps {
// map0 {
// trip = <&{/thermal-zones/Tboard_tegra/trips/board_emergency}>;
// cdev-type = "emergency-balanced";
// cooling-device = <&{/bthrot_cdev/emergency_balanced}
// THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
// };
// };
};
Tdiode_tegra {
status = "okay";
polling-delay = <0>;
polling-delay-passive = <1100>;
trips {
gpu_shutdown {
temperature = <92500>;
hysteresis = <0>;
type = "critical";
writable;
};
gpu_throttle {
temperature = <86000>;
hysteresis = <0>;
type = "passive";
writable;
};
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 */
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>;
hysteresis = <2000>;
type = "passive";
writable;
};
dfll_floor_trip0: dfll-floor-trip0 {
temperature = <TEGRA210B01_DFLL_THERMAL_FLOOR_0>;
hysteresis = <1000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
// map0 {
// trip = <&{/thermal-zones/Tdiode_tegra/trips/soc_critical}>;
// cdev-type = "tegra-shutdown";
// cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
// THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
// };
// map1 {
// trip = <&{/thermal-zones/Tdiode_tegra/trips/soc_emergency}>;
// cdev-type = "emergency-balanced";
// cooling-device = <&{/bthrot_cdev/emergency_balanced}
// THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
// };
// 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>;
};
// map2 {
// trip = <&{/thermal-zones/Tdiode_tegra/trips/gpu_throttle}>;
// cdev-type = "gpu-balanced";
// cooling-device = <&{/bthrot_cdev/gpu_balanced}
// THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
// };
};
};
AO-therm {
status = "okay";
};
};
pcie@1003000 {
status = "okay";
avdd-pll-uerefe-supply = <&max77620_ldo1>;
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>;
pci@1,0 {
nvidia,num-lanes = <2>;
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 = "disabled";
};
pci@2,0 {
status = "okay";
phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
phy-names = "pcie-0";
brcmf { /* PCIE-0 (Port 1) */
compatible = "brcm,bcm4356-fmac";
};
};
};
padctl@7009f000 {
status = "okay";
pads {
usb2 {
status = "okay";
lanes {
usb2-0 {
nvidia,hs_curr_level_offset = <6>;
nvidia,function = "xusb";
status = "okay";
};
};
};
pcie {
status = "okay";
lanes {
/* BCM4356A3-WiFi */
pcie-0 {
nvidia,function = "pcie-x1";
status = "okay";
};
/* Unused ports */
pcie-1 {
nvidia,function = "usb3-ss";
status = "okay";
};
pcie-2 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-3 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-4 {
nvidia,function = "usb3-ss";
status = "okay";
};
/* USB3 port */
pcie-5 {
nvidia,function = "usb3-ss";
status = "okay";
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "otg";
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>;
};
};
usb3-0 {
status = "okay";
nvidia,usb2-companion = <0>;
};
};
};
pinmux@700008d4 {
dsi_ab_pad_default: dsi_ab_pad_default {
dsi_ab_pad_enable {
nvidia,pins = "pad_dsi_ab";
nvidia,pad-power = <TEGRA_PIN_ENABLE>;
};
};
dsi_cd_pad_default: dsi_cd_pad_default {
dsi_cd_pad_enable {
nvidia,pins = "pad_dsi_cd";
nvidia,pad-power = <TEGRA_PIN_ENABLE>;
};
};
dsi_ab_pad_idle: dsi_ab_pad_idle {
dsi_ab_pad_disable {
nvidia,pins = "pad_dsi_ab";
nvidia,pad-power = <TEGRA_PIN_DISABLE>;
};
};
dsi_cd_pad_idle: dsi_cd_pad_idle {
dsi_cd_pad_disable {
nvidia,pins = "pad_dsi_cd";
nvidia,pad-power = <TEGRA_PIN_DISABLE>;
};
};
/* Always on for T210B01 NX */
sdmmc1_schmitt_disable {
sdmmc1 {
nvidia,schmitt = <TEGRA_PIN_ENABLE>;
};
};
sdmmc1_clk_schmitt_disable {
sdmmc1 {
nvidia,schmitt = <TEGRA_PIN_ENABLE>;
};
};
};
pmc@7000e400 { pmc@7000e400 {
nvidia,invert-interrupt; nvidia,invert-interrupt;
nvidia,suspend-mode = <0>; nvidia,suspend-mode = <0>;
@@ -33,12 +748,48 @@
nvidia,core-power-req-active-high; nvidia,core-power-req-active-high;
nvidia,sys-clock-req-active-high; nvidia,sys-clock-req-active-high;
status = "okay"; status = "okay";
};
mmc@700b0600 { // TODO
bus-width = <8>; // bootrom-commands {
non-removable; // reset-commands {
status = "okay"; // 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@4-0068 {
// 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@4-003c {
// 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 { clk32k_in: clock-32k {
@@ -47,6 +798,76 @@
#clock-cells = <0>; #clock-cells = <0>;
}; };
host1x@50000000 {
vic@54340000 {
status = "disabled";
};
nvjpg@54380000 {
status = "disabled";
};
nvdec@54480000 {
status = "disabled";
};
nvenc@544c0000 {
status = "disabled";
};
dsia: dsi@54300000 {
status = "okay";
avdd-dsi-csi-supply = <&max77620_ldo0>;
panel@0 {
reg = <0>;
status = "okay";
compatible = "nintendo,panel-nx-dsi";
reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
backlight = <&backlight>;
vdd1-supply = <&v_pavdd_5v0>;
vdd2-supply = <&v_navdd_5v0>;
};
};
dc@54200000 {
status = "okay";
// pinctrl-names = "pad_ab_default", "pad_ab_idle",
// "pad_cd_default", "pad_cd_idle";
// pinctrl-0 = <&dsi_ab_pad_default>;
// pinctrl-1 = <&dsi_ab_pad_idle>;
// pinctrl-2 = <&dsi_cd_pad_default>;
// pinctrl-3 = <&dsi_cd_pad_idle>;
nvidia,outputs = <&dsia>;
};
/* tegradc.1: DP */
dc@54240000 {
status = "okay";
extcon-cables = <&bm92t 3>;
extcon-cable-names = "typec1";
//nvidia,outputs = <&sor1>;pa
};
};
tegra_clk_dfll: clock@70110000 {
status = "okay";
vdd-cpu-supply = <&cpu_max_reg>;
nvidia,align-step-uv = <5000>;
nvidia,sample-rate = <12500>;
nvidia,droop-ctrl = <0x00000f00>;
nvidia,force-mode = <1>;
nvidia,cf = <6>;
nvidia,ci = <0>;
nvidia,cg = <2>;
nvidia,i2c-fs-rate = <400000>;
nvidia,pmic-undershoot-gb = <0>; /* Use pmic default min */
/* nvidia,dfll-max-freq-khz = <1683000>; */
};
cpus { cpus {
cpu@0 { cpu@0 {
enable-method = "psci"; enable-method = "psci";
@@ -429,4 +1250,43 @@
}; };
}; };
}; };
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";
// };
}; };

View File

@@ -5,7 +5,7 @@
/ { / {
model = "Nintendo Switch Lite"; model = "Nintendo Switch Lite";
compatible = "nvidia,vali", "nintendo,hoag", "nintendo,nx", "nvidia,tegra210b01"; compatible = "nvidia,vali", "nintendo,hoag", "nintendo,nx", "nvidia,tegra210b01", "nvidia,tegra210";
/* Joycon/Fan power (usb) */ /* Joycon/Fan power (usb) */
v_vdd50_b: v-vdd50-b { v_vdd50_b: v-vdd50-b {
@@ -48,6 +48,33 @@
}; };
}; };
i2c@7000c000 {
bm92t: bm92t@18 {
status = "disabled";
/delete-property/ rohm,dp-signal-toggle-on-resume;
rohm,dp-disable;
rohm,pd-5v-current-limit-ma = <2000>;
rohm,pd-9v-current-limit-ma = <1500>;
rohm,pd-12v-current-limit-ma = <1200>;
rohm,pd-15v-current-limit-ma = <900>;
};
bq2419x: bq24193@6b {
battery_charger: charger {
ti,charge-voltage-limit-millivolt = <4320>; /* Adjusted by cell age */
ti,fast-charge-current-limit-milliamp = <1664>;
ti,temp-range = <0 18 47 58>;
ti,charge-thermal-voltage-limit = <4320 4320 4320 4080>; /* Adjusted by cell age */
ti,charge-current-limit = <512 640 1664 1664>;
};
};
fuel_gauge: fuel-gauge@36 {
maxim,over-volt = <4320>; /* Actual: 4370 mV */
maxim,kernel-maximum-soc = <100>; /* Adjusted by cell age */
};
};
i2c@7000d000 { i2c@7000d000 {
pmic_b: pmic@3c { pmic_b: pmic@3c {
regulators { regulators {
@@ -64,4 +91,52 @@
}; };
}; };
i2c@546c0000 {
bus-pullup-supply = <&battery_reg>;
};
host1x@50000000 {
/* tegradc.1: DP */
dc@54240000 {
status = "disabled";
};
};
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";
extcon = <&bm92t 0>;
extcon-cable-names = "vbus";
avdd-usb-supply = <&vdd_3v3>;
dvddio-pex-supply = <&max77620_ldo1>;
hvddio-pex-supply = <&max77620_sd3>;
};
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";
extcon = <&bm92t 1>;
extcon-cable-names = "id";
hvdd-usb-supply = <&vdd_3v3>;
avddio-usb-supply = <&max77620_ldo1>;
};
padctl@7009f000 {
status = "okay";
avdd-pll-utmip-supply = <&max77620_sd3>;
avdd-pll-uerefe-supply = <&max77620_ldo1>;
dvdd-pex-pll-supply = <&max77620_ldo1>;
hvdd-pex-pll-e-supply = <&max77620_sd3>;
};
}; };