* [PATCH v1 1/7] ARM: tegra: lg-x3: Adjust WiFi node
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 2/7] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication Svyatoslav Ryhel
` (5 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 492fefd7c266e..5b4da6ee991ff 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1754,9 +1754,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";
@@ -1799,6 +1802,14 @@ clk32k_in: clock-32k {
clock-output-names = "pmic-oscillator";
};
+ /* PMIC's 32KHz oscillator for WiFi/GPS LPO input */
+ ext_lpo_in: clock-32k-elpo {
+ 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] 12+ messages in thread* [PATCH v1 2/7] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 1/7] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 3/7] ARM: tegra: lg-x3: Lower supported suspend mode Svyatoslav Ryhel
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 d4a3513a3fd42..d76f9f465ddc6 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
@@ -13,9 +13,6 @@ aliases {
};
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 7a62707f9f7fa..4ee84f4bd1878 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] 12+ messages in thread* [PATCH v1 3/7] ARM: tegra: lg-x3: Lower supported suspend mode
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 1/7] ARM: tegra: lg-x3: Adjust WiFi node Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 2/7] ARM: tegra: lg-x3: Remove pinctrl-* properties duplication Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 4/7] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 5b4da6ee991ff..5f3273a4dcf46 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1695,7 +1695,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] 12+ messages in thread* [PATCH v1 4/7] ARM: tegra: lg-x3: Add light sensor node
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (2 preceding siblings ...)
2026-09-24 9:06 ` [PATCH v1 3/7] ARM: tegra: lg-x3: Lower supported suspend mode Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:15 ` sashiko-bot
2026-09-24 9:06 ` [PATCH v1 5/7] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
` (2 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 5f3273a4dcf46..417cc1bf42ea3 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1142,6 +1142,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] 12+ messages in thread* Re: [PATCH v1 4/7] ARM: tegra: lg-x3: Add light sensor node
2026-09-24 9:06 ` [PATCH v1 4/7] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
@ 2026-09-24 9:15 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-24 9:15 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt: incorrect interrupt polarity for apds9900 sensor
--
commit 373b2db230a91414c156f1ebbe3d13fb896ef4ef
Author: Svyatoslav Ryhel <clamor95@gmail.com>
ARM: tegra: lg-x3: Add light sensor node
This commit adds a device tree node for the Avago APDS9900 ambient light
and proximity sensor to the Tegra30 LG X3 device tree.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index 9e720512e7962..74583eb07aa84 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: Medium]
Is the interrupt trigger type correct for this sensor?
The interrupt trigger type is defined as a rising edge, which appears to
conflict with the active-low (falling edge) hardware signal and driver
expectations.
The tsl2772 driver expects to use IRQF_TRIGGER_FALLING when it calls
devm_request_threaded_irq() during probe.
Could this mismatch cause the sensor's interrupt request to fail during probe,
or cause the interrupt to trigger on the wrong edge and miss events?
> +
> + vdd-supply = <&vdd_3v0_proxi>;
> + vddio-supply = <&vdd_1v8_sen>;
> +
> + led-max-microamp = <100000>;
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924090608.28734-1-clamor95@gmail.com?part=4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1 5/7] ARM: tegra: lg-x3: Add flash LEDs controller node
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (3 preceding siblings ...)
2026-09-24 9:06 ` [PATCH v1 4/7] ARM: tegra: lg-x3: Add light sensor node Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:16 ` sashiko-bot
2026-09-24 9:06 ` [PATCH v1 6/7] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
2026-09-24 9:06 ` [PATCH v1 7/7] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
6 siblings, 1 reply; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 417cc1bf42ea3..a59539f36a316 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1277,6 +1277,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>,
@@ -1311,6 +1312,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] 12+ messages in thread* Re: [PATCH v1 5/7] ARM: tegra: lg-x3: Add flash LEDs controller node
2026-09-24 9:06 ` [PATCH v1 5/7] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
@ 2026-09-24 9:16 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-24 9:16 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dts: hw misrepresentation of single flash LED as multiple nodes
--
commit 1c030c2896d9a641e8c683129fc55fbf9766228a
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 controller used for
flash leds on the tegra30 lg-x3 device. It configures the controller and
sets up two separate child nodes to represent the flash.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index 74583eb07aa84..14d4f992222c6 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
[ ... ]
> @@ -1267,6 +1268,35 @@ m24c08: eeprom@50 {
[ ... ]
> + led-controller@53 {
> + compatible = "ti,lm3559";
> + reg = <0x53>;
[ ... ]
> + /* 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>;
[Severity: Medium]
Does this configuration incorrectly define a single physical led as two
independent led devices?
The comment indicates the single flash led is on two lines, but splitting it
into two separate nodes exposes two distinct video4linux2 subdevices. Device
trees generally describe hardware topology rather than driver limitations.
Should this be modeled as a single node using a property like
led-sources = <0 1>? Even if the current driver lacks support for the
led-sources property, duplicating child nodes to work around driver
limitations is considered a device tree anti-pattern.
> +
> + flash-max-microamp = <393750>;
> + led-max-microamp = <140625>;
> + };
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924090608.28734-1-clamor95@gmail.com?part=5
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1 6/7] ARM: tegra: lg-x3: Add haptic engine node
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (4 preceding siblings ...)
2026-09-24 9:06 ` [PATCH v1 5/7] ARM: tegra: lg-x3: Add flash LEDs controller node Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:15 ` sashiko-bot
2026-09-24 9:06 ` [PATCH v1 7/7] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
6 siblings, 1 reply; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 a59539f36a316..bd82a3f7951a4 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1614,6 +1614,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] 12+ messages in thread* Re: [PATCH v1 6/7] ARM: tegra: lg-x3: Add haptic engine node
2026-09-24 9:06 ` [PATCH v1 6/7] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
@ 2026-09-24 9:15 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-24 9:15 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dts: missing dt-binding schema for Imagis ISA1200 haptic engine
--
commit bcc2e5a5981cf130d7fde2c4cf8724ed6f15c474
Author: Svyatoslav Ryhel <clamor95@gmail.com>
ARM: tegra: lg-x3: Add haptic engine node
This commit adds a device tree node for the Imagis ISA1200 haptic motor
driver used in the tegra30-lg-x3 device.
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index 14d4f992222c6..c7ad3819c21d9 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>;
> + };
> + };
[Severity: Medium]
Are the dt-binding schema and the driver for the "imagis,isa1200" compatible
string missing?
There appears to be no dt-binding schema (YAML or txt) documenting these
custom vendor properties (e.g., "imagis,clk-div", "imagis,mode") or the "ldo"
subnode, nor a driver that matches this compatible.
Adding undocumented properties and using magic values (e.g.,
`<0> /* LRA_MODE */` instead of a dt-binding macro) violates device tree
standards, causes `make dtbs_check` validation failures, and establishes an
unreviewed ABI.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924090608.28734-1-clamor95@gmail.com?part=6
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1 7/7] ARM: tegra: lg-x3: Add backlight LED controller node
2026-09-24 9:06 [PATCH v1 0/7] ARM: tegra: lg-x3: Add newly supported devices and fixes Svyatoslav Ryhel
` (5 preceding siblings ...)
2026-09-24 9:06 ` [PATCH v1 6/7] ARM: tegra: lg-x3: Add haptic engine node Svyatoslav Ryhel
@ 2026-09-24 9:06 ` Svyatoslav Ryhel
2026-09-24 9:20 ` sashiko-bot
6 siblings, 1 reply; 12+ messages in thread
From: Svyatoslav Ryhel @ 2026-09-24 9:06 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 d76f9f465ddc6..4560d93ef438a 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
@@ -179,6 +179,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 4ee84f4bd1878..2ace0201a9311 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
@@ -185,6 +185,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 bd82a3f7951a4..c86bc4b897675 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -1206,6 +1206,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] 12+ messages in thread* Re: [PATCH v1 7/7] ARM: tegra: lg-x3: Add backlight LED controller node
2026-09-24 9:06 ` [PATCH v1 7/7] ARM: tegra: lg-x3: Add backlight LED controller node Svyatoslav Ryhel
@ 2026-09-24 9:20 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-24 9:20 UTC (permalink / raw)
To: Svyatoslav Ryhel; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] drm: display probe deferral due to missing lm3533 DT support
- [Medium] mfd: lm3533: GPIO lookup failure due to mismatched property name
- [Low] dt-bindings: missing schemas for new compatible strings
--
commit 6d421d459ccd001174a12d39a40edbf6cba8d6fc
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.
> 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]
Does this cause the display panel to permanently defer probing?
When the lm3533 driver probes, it unconditionally calls dev_get_platdata()
and returns -EINVAL if pdata is missing:
drivers/mfd/lm3533-core.c:lm3533_device_init() {
...
if (!pdata) {
dev_err(lm3533->dev, "no platform data\n");
return -EINVAL;
}
...
}
Since the driver lacks Device Tree parsing logic entirely, the backlight
fails to probe, which causes the panel to return -EPROBE_DEFER indefinitely.
[ ... ]
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
> index c7ad3819c21d9..781cf38e9f183 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";
[Severity: Low]
Are we missing Device Tree schemas for this new compatible string?
Adding a new compatible string without updating or creating Device Tree
bindings bypasses schema validation, leaving hardware variant capabilities
undocumented. Additionally, the imagis,isa1200 compatible string lacks
both a schema and kernel driver support.
> + reg = <0x36>;
> +
> + enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
[Severity: Medium]
Will this GPIO lookup fail due to a mismatched property name?
The driver requests the GPIO with a NULL connection ID:
drivers/mfd/lm3533-core.c:lm3533_device_init() {
...
lm3533->hwen = devm_gpiod_get(lm3533->dev, NULL, GPIOD_OUT_LOW);
...
}
This causes gpiolib to strictly search for the base names gpios or
gpio, meaning it will receive -ENOENT instead of matching the provided
enable-gpios property.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924090608.28734-1-clamor95@gmail.com?part=7
^ permalink raw reply [flat|nested] 12+ messages in thread