[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260122152713.8311-3-clamor95@gmail.com>
Date: Thu, 22 Jan 2026 17:27:12 +0200
From: Svyatoslav Ryhel <clamor95@...il.com>
To: Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Thierry Reding <thierry.reding@...il.com>,
Thierry Reding <treding@...dia.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Svyatoslav Ryhel <clamor95@...il.com>,
Jonas Schwöbel <jonasschwoebel@...oo.de>
Cc: devicetree@...r.kernel.org,
linux-tegra@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v1 2/3] ARM: tegra: lg-x3: add USB and power related nodes
Add missing charger, MUIC, and ADC sensor nodes. Reconfigure USB, set one
of the ADC channels as the fuel gauge temperature sensor, and add a
battery thermal zone.
Signed-off-by: Svyatoslav Ryhel <clamor95@...il.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 93 ++++++++++++++++++++-
1 file changed, 91 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index d71d1d6694f8..25c238562b9a 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1070,6 +1070,38 @@ rmi4-f11@11 {
syna,clip-y-low = <0>;
};
};
+
+ max14526: muic@44 {
+ compatible = "maxim,max14526";
+ reg = <0x44>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(J, 0) IRQ_TYPE_EDGE_FALLING>;
+
+ muic_con: connector {
+ compatible = "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+ };
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ muic_to_charger: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&charger_input>;
+ };
+ };
+ };
+
+ tsc2007: adc@48 {
+ compatible = "ti,tsc2007";
+ reg = <0x48>;
+
+ ti,x-plate-ohms = <1>;
+ #io-channel-cells = <1>;
+ };
};
cam_i2c: i2c@...0c500 {
@@ -1326,6 +1358,22 @@ ldo8 {
};
};
+ max8971: charger@35 {
+ compatible = "maxim,max8971";
+ reg = <0x35>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(J, 2) IRQ_TYPE_LEVEL_LOW>;
+
+ monitored-battery = <&battery>;
+
+ port {
+ charger_input: endpoint {
+ remote-endpoint = <&muic_to_charger>;
+ };
+ };
+ };
+
fuel-gauge@36 {
compatible = "maxim,max17043";
reg = <0x36>;
@@ -1334,6 +1382,10 @@ fuel-gauge@36 {
interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_FALLING>;
monitored-battery = <&battery>;
+ power-supplies = <&max8971>;
+
+ io-channels = <&tbattery 0>;
+ io-channel-names = "temp";
maxim,alert-low-soc-level = <10>;
wakeup-source;
@@ -1514,12 +1566,13 @@ sdmmc4: mmc@...00600 {
usb@...00000 {
compatible = "nvidia,tegra30-udc";
status = "okay";
- dr_mode = "peripheral";
+ dr_mode = "otg";
+ extcon = <&max14526>, <&max14526>;
};
usb-phy@...00000 {
status = "okay";
- dr_mode = "peripheral";
+ dr_mode = "otg";
nvidia,hssync-start-delay = <0>;
nvidia,xcvr-lsfslew = <2>;
nvidia,xcvr-lsrslew = <2>;
@@ -1803,7 +1856,43 @@ sound {
<&tegra_car TEGRA30_CLK_EXTERN1>;
};
+ tbattery: thermal-sensor-battery {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+
+ io-channels = <&tsc2007 4>;
+ io-channel-names = "sensor-channel";
+ #io-channel-cells = <1>;
+
+ temperature-lookup-table = <
+ (-50000) 4100 (-40000) 3980 (-30000) 3815 (-20000) 3610
+ (-10000) 3285 0 2880 10000 2445 20000 1955
+ 30000 1440 40000 1125 50000 840 60000 665
+ 70000 465 80000 350 90000 230 100000 185 >;
+ };
+
thermal-zones {
+ battery-thermal {
+ polling-delay-passive = <0>; /* milliseconds */
+ polling-delay = <20000>; /* milliseconds */
+
+ thermal-sensors = <&tbattery>;
+
+ trips {
+ battery-alert {
+ temperature = <55000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+
+ battery-crit {
+ temperature = <60000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+ };
+
/*
* NCT72 has two sensors:
*
--
2.51.0
Powered by blists - more mailing lists