* [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes
@ 2026-10-04 15:44 Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 1/9] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
` (8 more replies)
0 siblings, 9 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add nodes for recently supported device (ALS, LED controllers, haptics)
along with minor tweaks and fixups.
---
Changes in v2:
- added USB configuration update commit
- added p895 power LED trigger update commit
---
Svyatoslav Ryhel (9):
ARM: tegra: lg-x3: Adjust WiFi node
ARM: tegra: lg-x3: Remove pinctrl-* properties duplication
ARM: tegra: lg-x3: Lower supported suspend mode
ARM: tegra: lg-x3: Add light sensor node
ARM: tegra: lg-x3: Add flash LEDs controller node
ARM: tegra: lg-x3: Add haptic engine node
ARM: tegra: lg-x3: Add backlight LED controller node
ARM: tegra: lg-x3: Update USB configuration
ARM: tegra: p895: Update power LED trigger
arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts | 5 +-
arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts | 7 +-
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 125 ++++++++++++++++++-
3 files changed, 127 insertions(+), 10 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 1/9] ARM: tegra: lg-x3: Adjust WiFi node
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 2/9] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication Svyatoslav Ryhel
` (7 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add missing BCM4330 compatible along with keeping fallback according to
current schema. Add missing lpo clock used by the module.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 60e8a19aa70ec..7010d8c01abcb 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1669,9 +1669,12 @@ sdmmc1: mmc@78000000 {
/* BCM4330B1 37.4 MHz Class 1.5 ExtLNA */
wifi@1 {
- compatible = "brcm,bcm4329-fmac";
+ compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
reg = <1>;
+ clocks = <&ext_lpo_in>;
+ clock-names = "lpo";
+
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wake";
@@ -1714,6 +1717,14 @@ clk32k_in: clock-32k {
clock-output-names = "pmic-oscillator";
};
+ /* PMIC's 32KHz oscillator for WiFi/GPS LPO input */
+ ext_lpo_in: clock-elpo-32k {
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "ext-lpo-32k-in";
+ #clock-cells = <0>;
+ };
+
gps_refclk: clock-gps {
compatible = "fixed-clock";
clock-frequency = <26000000>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 2/9] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 1/9] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 3/9] ARM: tegra: lg-x3: Lower supported suspend mode Svyatoslav Ryhel
` (6 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
The pinctrl-names and pinctrl-0 are defined in the common device tree,
having them in the individual trees is redundant. Remove them.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts | 3 ---
arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts | 3 ---
2 files changed, 6 deletions(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
index 6b30e17459ac9..f888987ce1340 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
@@ -25,9 +25,6 @@ ports {
};
pinmux@70000868 {
- pinctrl-names = "default";
- pinctrl-0 = <&state_default>;
-
state_default: pinmux {
/* WLAN SDIO pinmux */
host-wlan-wake {
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
index 896639599c126..bb20197bcdfff 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
@@ -8,9 +8,6 @@ / {
compatible = "lg,p895", "nvidia,tegra30";
pinmux@70000868 {
- pinctrl-names = "default";
- pinctrl-0 = <&state_default>;
-
state_default: pinmux {
/* GNSS UART-B pinmux */
uartb-cts-rxd {
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 3/9] ARM: tegra: lg-x3: Lower supported suspend mode
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 1/9] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 2/9] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
` (5 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
LG P880 and P895 are perfectly capable of supporting the lowest suspend
mode currently available for Tegra devices which is LP1.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 7010d8c01abcb..d5365253c740b 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1610,7 +1610,7 @@ bridge_output: endpoint {
pmc@7000e400 {
status = "okay";
nvidia,invert-interrupt;
- nvidia,suspend-mode = <2>;
+ nvidia,suspend-mode = <1>;
nvidia,cpu-pwr-good-time = <2000>;
nvidia,cpu-pwr-off-time = <200>;
nvidia,core-pwr-good-time = <3845 3845>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (2 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 3/9] ARM: tegra: lg-x3: Lower supported suspend mode Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:53 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
` (4 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add node for Avago APDS9900 ambient light and proximity sensor used in
this device.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index d5365253c740b..4cd2bbc94f9d7 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1106,6 +1106,19 @@ nfc@28 {
firmware-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
};
+ light-sensor@39 {
+ compatible = "avago,apds9900";
+ reg = <0x39>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(K, 2) IRQ_TYPE_EDGE_RISING>;
+
+ vdd-supply = <&vdd_3v0_proxi>;
+ vddio-supply = <&vdd_1v8_sen>;
+
+ led-max-microamp = <100000>;
+ };
+
imu@68 {
compatible = "invensense,mpu6050";
reg = <0x68>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (3 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:56 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 6/9] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
` (3 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add node for TI LM3559 LEDs controlled used with flash LEDs in this
device.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 30 +++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 4cd2bbc94f9d7..99afd5d634e2b 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1233,6 +1233,7 @@ rear-camera@10 {
rotation = <90>;
nvmem = <&m24c08>;
+ flash-leds = <&lm3559_led0>, <&lm3559_led1>;
lens-focus = <&dw9714>;
assigned-clocks = <&tegra_car TEGRA30_CLK_VI_SENSOR>,
@@ -1267,6 +1268,35 @@ m24c08: eeprom@50 {
vcc-supply = <&vio_1v8_rear>;
};
+ led-controller@53 {
+ compatible = "ti,lm3559";
+ reg = <0x53>;
+
+ enable-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
+ vin-supply = <&vdd_3v3_vbat>;
+
+ flash-max-timeout-us = <1024000>;
+ ti,peak-current-microamp = <1400000>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* single flash led is on 2 lines */
+ lm3559_led0: led@0 {
+ reg = <0>;
+
+ flash-max-microamp = <393750>;
+ led-max-microamp = <140625>;
+ };
+
+ lm3559_led1: led@1 {
+ reg = <1>;
+
+ flash-max-microamp = <393750>;
+ led-max-microamp = <140625>;
+ };
+ };
+
camera-pmic@7d {
compatible = "ti,lp8720";
reg = <0x7d>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 6/9] ARM: tegra: lg-x3: Add haptic engine node
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (4 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
` (2 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add node for Imagis ISA1200 haptic motor driver used in this device.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 24 +++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 99afd5d634e2b..1f10f4bfb5f24 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1568,6 +1568,30 @@ power-sensor@40 {
vs-supply = <&vdd_3v0_sen>;
};
+ haptic-engine@49 {
+ compatible = "imagis,isa1200";
+ reg = <0x49>;
+
+ control-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
+
+ pwms = <&pwm 3 53000>;
+
+ vdd-supply = <&vdd_3v3_vbat>;
+ vddp-supply = <&vdd_1v8_vio>;
+
+ imagis,clk-div = <128>;
+ imagis,pll-div = <1>;
+
+ imagis,mode = <0>; /* LRA_MODE */
+ imagis,duty-cycle-ns = <1250>;
+
+ ldo {
+ regulator-name = "vdd_vib";
+ regulator-min-microvolt = <2300000>;
+ regulator-max-microvolt = <2300000>;
+ };
+ };
+
nct72: temperature-sensor@4c {
compatible = "onnn,nct1008";
reg = <0x4c>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (5 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 6/9] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:57 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 8/9] ARM: tegra: lg-x3: Update USB configuration Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 9/9] ARM: tegra: p895: Update power LED trigger Svyatoslav Ryhel
8 siblings, 1 reply; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Add node for TI LM3533 LED controller used in this device for panel
backlight.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts | 2 ++
arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts | 2 ++
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 24 ++++++++++++++++++++
3 files changed, 28 insertions(+)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
index f888987ce1340..3a5e66d869b1b 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
@@ -155,6 +155,8 @@ panel@1 {
vdd-supply = <&vcc_3v0_lcd>;
vddio-supply = <&iovcc_1v8_lcd>;
+ backlight = <&backlight>;
+
port {
panel_input: endpoint {
remote-endpoint = <&bridge_output>;
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
index bb20197bcdfff..0d56fd25ce178 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
@@ -179,6 +179,8 @@ panel@1 {
vcc-supply = <&vcc_3v0_lcd>;
iovcc-supply = <&iovcc_1v8_lcd>;
+ backlight = <&backlight>;
+
port {
panel_input: endpoint {
remote-endpoint = <&bridge_output>;
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 1f10f4bfb5f24..2dbef0185a0b8 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1170,6 +1170,30 @@ rmi4-f11@11 {
};
};
+ led-controller@36 {
+ compatible = "ti,lm3533";
+ reg = <0x36>;
+
+ enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
+ vin-supply = <&vdd_3v3_vbat>;
+
+ ti,boost-ovp-microvolt = <24000000>;
+ ti,boost-freq-hz = <500000>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ backlight: backlight@0 {
+ compatible = "ti,lm3533-backlight";
+ reg = <0>;
+
+ led-max-microamp = <23400>;
+ led-sources = <0 1>;
+
+ ti,linear-mapping-mode;
+ };
+ };
+
max14526: muic@44 {
compatible = "maxim,max14526";
reg = <0x44>;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 8/9] ARM: tegra: lg-x3: Update USB configuration
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (6 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 9/9] ARM: tegra: p895: Update power LED trigger Svyatoslav Ryhel
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
Update USB controller configuration and link it to MUIC.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 2dbef0185a0b8..e334473b7635a 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1215,6 +1215,11 @@ muic_to_charger: endpoint@0 {
reg = <0>;
remote-endpoint = <&charger_input>;
};
+
+ muic_to_usb: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&usb_input>;
+ };
};
};
@@ -1788,7 +1793,19 @@ usb@7d000000 {
compatible = "nvidia,tegra30-udc";
status = "okay";
dr_mode = "otg";
- extcon = <&max14526>, <&max14526>;
+
+ hnp-disable;
+ srp-disable;
+ adp-disable;
+
+ usb-role-switch;
+ extcon = <&max14526>, <&max14526>; /* vbus, id */
+
+ port {
+ usb_input: endpoint {
+ remote-endpoint = <&muic_to_usb>;
+ };
+ };
};
usb-phy@7d000000 {
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 9/9] ARM: tegra: p895: Update power LED trigger
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (7 preceding siblings ...)
2026-10-04 15:44 ` [PATCH v2 8/9] ARM: tegra: lg-x3: Update USB configuration Svyatoslav Ryhel
@ 2026-10-04 15:44 ` Svyatoslav Ryhel
8 siblings, 0 replies; 13+ messages in thread
From: Svyatoslav Ryhel @ 2026-10-04 15:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter, Svyatoslav Ryhel, Ion Agorria
Cc: devicetree, linux-tegra, linux-kernel
The previous "battery-charging" trigger was unreliable and slow to update.
Since LG X3 devices now have a charger driver, use
"max8971-charger-online" instead. Tested on the LG Optimus Vu P895; it
works much more reliably.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
index 0d56fd25ce178..f2b527dfbabd4 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
@@ -552,7 +552,7 @@ led-power {
label = "power::white";
gpios = <&gpio TEGRA_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "battery-charging";
+ linux,default-trigger = "max8971-charger-online";
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_CHARGING;
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node
2026-10-04 15:44 ` [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
@ 2026-10-04 15:53 ` sashiko-bot
0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-10-04 15:53 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] arm: dt: incorrect interrupt trigger polarity for APDS9900 sensor
--
commit 9cb1ebe47a901b15c3fac941849ede08f1799d2f
Author: Svyatoslav Ryhel <clamor95@gmail.com>
ARM: tegra: lg-x3: Add light sensor node
This commit adds the device tree node for the Avago APDS9900 ambient
light and proximity sensor to the tegra30-lg-x3 dtsi file.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index d5365253c740b..4cd2bbc94f9d7 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
[ ... ]
> @@ -1106,6 +1106,19 @@ nfc@28 {
> firmware-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
> };
>
> + light-sensor@39 {
> + compatible = "avago,apds9900";
> + reg = <0x39>;
> +
> + interrupt-parent = <&gpio>;
> + interrupts = <TEGRA_GPIO(K, 2) IRQ_TYPE_EDGE_RISING>;
[Severity: Low]
Is IRQ_TYPE_EDGE_RISING the correct interrupt polarity for this sensor?
The device tree describes the APDS9900 interrupt as IRQ_TYPE_EDGE_RISING, but
the APDS9900 has an active-low open-drain interrupt pin, meaning it asserts
via a falling edge or low level. This appears to be a mismatch between the DT
hardware description and physical hardware.
While the Linux tsl2772 driver currently hardcodes IRQF_TRIGGER_FALLING
(masking the issue in Linux), could this latent hardware description bug break
interrupt handling for any OS or future driver refactoring that relies on the
DT-provided flags? Booting an OS that relies on the DT interrupt trigger flags
will configure the GPIO interrupt for a rising edge, which will fail to
trigger when the sensor pulls the line low.
> +
> + vdd-supply = <&vdd_3v0_proxi>;
> + vddio-supply = <&vdd_1v8_sen>;
> +
> + led-max-microamp = <100000>;
> + };
> +
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261004154456.145362-1-clamor95@gmail.com?part=4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node
2026-10-04 15:44 ` [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
@ 2026-10-04 15:56 ` sashiko-bot
0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-10-04 15:56 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt-bindings: inaccurate modeling of single physical flash LED as two nodes
--
commit a769a0c3851e51b75e86359c4dd2c87f24520282
Author: Svyatoslav Ryhel <clamor95@gmail.com>
ARM: tegra: lg-x3: Add flash LEDs controller node
This commit adds a device tree node for the TI LM3559 LED controller used for
the flash LEDs in the LG X3 device. It also hooks up the new LED nodes to
the rear camera flash properties.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index 4cd2bbc94f9d7..99afd5d634e2b 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> @@ -1233,6 +1233,7 @@ rear-camera@10 {
> rotation = <90>;
>
> nvmem = <&m24c08>;
> + flash-leds = <&lm3559_led0>, <&lm3559_led1>;
[Severity: Medium]
Does linking two separate flash nodes here force user-space applications to
coordinate both to achieve the intended brightness?
The V4L2 framework will expose two separate flash subdevices for a single
physical LED. Any user-space app using the camera flash will encounter this
quirk.
> lens-focus = <&dw9714>;
>
> assigned-clocks = <&tegra_car TEGRA30_CLK_VI_SENSOR>,
[ ... ]
> @@ -1267,6 +1268,35 @@ m24c08: eeprom@50 {
> vcc-supply = <&vio_1v8_rear>;
> };
>
> + led-controller@53 {
> + compatible = "ti,lm3559";
> + reg = <0x53>;
> +
> + enable-gpios = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
> + vin-supply = <&vdd_3v3_vbat>;
> +
> + flash-max-timeout-us = <1024000>;
> + ti,peak-current-microamp = <1400000>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* single flash led is on 2 lines */
> + lm3559_led0: led@0 {
> + reg = <0>;
[Severity: Medium]
Does modeling this as two distinct logical LED nodes inaccurately describe the
physical hardware?
The comment explicitly acknowledges the hardware topology is one physical LED
connected to two output lines. Device Tree principles dictate that the DT must
accurately describe the physical hardware structure.
Should a single physical LED be modeled as a single node with
led-sources = <0 1>; instead of two separate nodes? While the lm3560 driver
may currently lack support for led-sources, modeling hardware based on
software driver limitations is generally discouraged.
> +
> + flash-max-microamp = <393750>;
> + led-max-microamp = <140625>;
> + };
> +
> + lm3559_led1: led@1 {
> + reg = <1>;
> +
> + flash-max-microamp = <393750>;
> + led-max-microamp = <140625>;
> + };
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261004154456.145362-1-clamor95@gmail.com?part=5
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node
2026-10-04 15:44 ` [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
@ 2026-10-04 15:57 ` sashiko-bot
0 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-10-04 15:57 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] driver core: ti,lm3533 unconditional probe failure without platform data
- [High] gpio: lm3533-core requests unnamed GPIO while DT provides enable-gpios
- [Medium] dts: tegra30-lg-x3: undocumented addition of unrelated hardware nodes
--
commit ff4e61027a1ca9aeb5769dcf34e03e97e0cb0683
Author: Svyatoslav Ryhel <clamor95@gmail.com>
ARM: tegra: lg-x3: Add backlight LED controller node
Add node for TI LM3533 LED controller used in this device for panel
backlight.
> ARM: tegra: lg-x3: Add backlight LED controller node
>
> Add node for TI LM3533 LED controller used in this device for panel
> backlight.
[Severity: Medium]
Does this patch also silently introduce other hardware modifications, such as
a light sensor (avago,apds9900), haptic engine (imagis,isa1200), camera
flash LEDs (ti,lm3559), and critical power management parameters like
nvidia,suspend-mode = <1>?
The commit message explicitly claims the sole purpose of the patch is to add
the backlight LED controller node. Including unrelated changes hides potential
regressions.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
> index f888987ce1340..3a5e66d869b1b 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
> +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
> @@ -155,6 +155,8 @@ panel@1 {
> vdd-supply = <&vcc_3v0_lcd>;
> vddio-supply = <&iovcc_1v8_lcd>;
>
> + backlight = <&backlight>;
> +
[Severity: High]
Since the lm3533-core.c driver lacks Device Tree parsing and explicitly
requires platform data, won't lm3533_device_init() immediately fail with
-EINVAL?
drivers/mfd/lm3533-core.c:lm3533_device_init() {
...
if (!pdata) {
dev_err(lm3533->dev, "no platform data\n");
return -EINVAL;
}
...
}
Because the backlight device never registers, will the panel driver
indefinitely wait for it via drm_panel_of_backlight(), returning
-EPROBE_DEFER and permanently breaking the primary display initialization?
[ ... ]
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index 1f10f4bfb5f24..2dbef0185a0b8 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> @@ -1170,6 +1170,30 @@ rmi4-f11@11 {
> };
> };
>
> + led-controller@36 {
> + compatible = "ti,lm3533";
> + reg = <0x36>;
> +
> + enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
[Severity: High]
The device tree node specifies enable-gpios, but the driver acquires the GPIO
using a NULL connection ID:
drivers/mfd/lm3533-core.c:lm3533_device_init() {
...
lm3533->hwen = devm_gpiod_get(lm3533->dev, NULL, GPIOD_OUT_LOW);
...
}
With a NULL con_id, the GPIO subsystem only searches for properties named
'gpios' or 'gpio'. Will this fail to match 'enable-gpios' and cause the driver
to fail probe with -ENOENT?
> + vin-supply = <&vdd_3v3_vbat>;
> +
> + ti,boost-ovp-microvolt = <24000000>;
> + ti,boost-freq-hz = <500000>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + backlight: backlight@0 {
> + compatible = "ti,lm3533-backlight";
> + reg = <0>;
> +
> + led-max-microamp = <23400>;
> + led-sources = <0 1>;
> +
> + ti,linear-mapping-mode;
> + };
> + };
> +
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261004154456.145362-1-clamor95@gmail.com?part=7
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-10-04 15:57 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-04 15:44 [PATCH v2 0/9] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 1/9] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 2/9] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 3/9] ARM: tegra: lg-x3: Lower supported suspend mode Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 4/9] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
2026-10-04 15:53 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 5/9] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
2026-10-04 15:56 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 6/9] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 7/9] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
2026-10-04 15:57 ` sashiko-bot
2026-10-04 15:44 ` [PATCH v2 8/9] ARM: tegra: lg-x3: Update USB configuration Svyatoslav Ryhel
2026-10-04 15:44 ` [PATCH v2 9/9] ARM: tegra: p895: Update power LED trigger Svyatoslav Ryhel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox