* [PATCH 1/4] Revert "dt-bindings: display: bridge: ldb: Add check for reg and reg-names"
2026-05-04 20:21 [PATCH 0/4] i.MX LDB DT cleanups Marco Felsch
@ 2026-05-04 20:21 ` Marco Felsch
2026-05-04 21:44 ` Claude review: " Claude Code Review Bot
2026-05-04 20:21 ` [PATCH 2/4] Revert "dt-bindings: display: bridge: ldb: Fill in reg property" Marco Felsch
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2026-05-04 20:21 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Vasut, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
laurentiu.palcu, victor.liu
Cc: kernel, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel, Marco Felsch
This reverts commit 8aa2f0ac08d3b207ba54e98698c9d696b86452a7.
The LDB is either part of the IOMUX_GPR (i.MX6SX) or the BLKCTRL
(i.MX8MP, i.MX93) register space. Both IOMUX_GPR and BLKCTRL are
register ranges with loose register definitions. E.g.
- On the i.MX8MP there is one register which controls the AXI
threshold for two different IPs (BIT(31:16) - IP1, BIT(15:0) - IP2).
- On the i.MX6SX IOMUXC_GPR5 controlls: CSI2 mux, WDOG3 settings, PXP
handshake, ...
In conclusion: it can't be ensured that one register belongs to one
dedicated IP and the LDB is rather an exception than the rule.
Therefore remove the 'reg' and 'reg-names' property requirement.
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
index 7f380879fffdfef28d9a35d7fbf87fdf28377b43..828b7a40e9b6cf27f76d1cd3009505b03cbe09f1 100644
--- a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
@@ -68,7 +68,6 @@ required:
- compatible
- clocks
- ports
- - reg
allOf:
- if:
@@ -83,15 +82,6 @@ allOf:
ports:
properties:
port@2: false
- - if:
- not:
- properties:
- compatible:
- contains:
- const: fsl,imx6sx-ldb
- then:
- required:
- - reg-names
- if:
properties:
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* Claude review: Revert "dt-bindings: display: bridge: ldb: Add check for reg and reg-names"
2026-05-04 20:21 ` [PATCH 1/4] Revert "dt-bindings: display: bridge: ldb: Add check for reg and reg-names" Marco Felsch
@ 2026-05-04 21:44 ` Claude Code Review Bot
0 siblings, 0 replies; 10+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 21:44 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
This reverts commit `8aa2f0ac08d3`, removing the `reg` requirement from the `required:` list and the conditional `reg-names` requirement for non-imx6sx variants.
**Changes reviewed:**
```yaml
- - reg
```
removed from the `required:` block, and the entire conditional block:
```yaml
- - if:
- not:
- properties:
- compatible:
- contains:
- const: fsl,imx6sx-ldb
- then:
- required:
- - reg-names
```
is also removed.
**Assessment:** Correct. The commit message clearly explains why — the syscon register ranges have multi-purpose registers and `reg` per sub-device is wrong. The revert is clean and the remaining schema (`fsl,ldb.yaml`) remains valid without the `reg` requirement.
**Minor nit:** The commit message has a typo "controlls" (should be "controls") — same typo appears in patches 2 and 3. Not blocking.
**No issues.**
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] Revert "dt-bindings: display: bridge: ldb: Fill in reg property"
2026-05-04 20:21 [PATCH 0/4] i.MX LDB DT cleanups Marco Felsch
2026-05-04 20:21 ` [PATCH 1/4] Revert "dt-bindings: display: bridge: ldb: Add check for reg and reg-names" Marco Felsch
@ 2026-05-04 20:21 ` Marco Felsch
2026-05-04 21:44 ` Claude review: " Claude Code Review Bot
2026-05-04 20:21 ` [PATCH 3/4] ARM: dts: imx6sx: remove LDB reg property Marco Felsch
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2026-05-04 20:21 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Vasut, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
laurentiu.palcu, victor.liu
Cc: kernel, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel, Marco Felsch
This reverts commit 16c8d76abe83d75b578d72ee22d25a52c764e14a.
Remove the 'reg' and 'reg-names' property from the LDB.
The LDB is either part of the IOMUX_GPR (i.MX6SX) or the BLKCTRL
(i.MX8MP, i.MX93) register space. Both IOMUX_GPR and BLKCTRL are
register ranges with loose register definitions. E.g.
- On the i.MX8MP there is one register which controls the AXI
threshold for two different IPs (BIT(31:16) - IP1, BIT(15:0) - IP2).
- On the i.MX6SX IOMUXC_GPR5 controlls: CSI2 mux, WDOG3 settings, PXP
handshake, ...
In conclusion: it can't be ensured that one register belongs to one
dedicated IP and the LDB is rather an exception than the rule.
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
.../devicetree/bindings/display/bridge/fsl,ldb.yaml | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
index 828b7a40e9b6cf27f76d1cd3009505b03cbe09f1..e04df77af756f1dc46fc098d765502d44cc2de00 100644
--- a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
@@ -27,14 +27,6 @@ properties:
clock-names:
const: ldb
- reg:
- maxItems: 2
-
- reg-names:
- items:
- - const: ldb
- - const: lvds
-
nxp,enable-termination-resistor:
type: boolean
description:
@@ -99,15 +91,10 @@ examples:
#include <dt-bindings/clock/imx8mp-clock.h>
blk-ctrl {
- #address-cells = <1>;
- #size-cells = <1>;
-
- bridge@5c {
+ bridge {
compatible = "fsl,imx8mp-ldb";
clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
clock-names = "ldb";
- reg = <0x5c 0x4>, <0x128 0x4>;
- reg-names = "ldb", "lvds";
ports {
#address-cells = <1>;
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* Claude review: Revert "dt-bindings: display: bridge: ldb: Fill in reg property"
2026-05-04 20:21 ` [PATCH 2/4] Revert "dt-bindings: display: bridge: ldb: Fill in reg property" Marco Felsch
@ 2026-05-04 21:44 ` Claude Code Review Bot
0 siblings, 0 replies; 10+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 21:44 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
This reverts commit `16c8d76abe83`, removing the `reg` and `reg-names` property definitions themselves from the binding schema, and updating the example to match.
**Changes reviewed:**
Property definitions removed:
```yaml
- reg:
- maxItems: 2
-
- reg-names:
- items:
- - const: ldb
- - const: lvds
```
Example updated — removes `#address-cells`, `#size-cells` from the parent `blk-ctrl` node, and `reg`/`reg-names` from the bridge child:
```yaml
- #address-cells = <1>;
- #size-cells = <1>;
-
- bridge@5c {
+ bridge {
compatible = "fsl,imx8mp-ldb";
- reg = <0x5c 0x4>, <0x128 0x4>;
- reg-names = "ldb", "lvds";
```
**Assessment:** Correct. The resulting binding file (verified above) is clean and consistent. The example no longer needs `#address-cells`/`#size-cells` in the parent since no child has a `reg` property with a unit address. The binding still has `additionalProperties: false`, which will correctly reject any DTS that still tries to pass `reg` — this is fine since patches 3 and 4 clean up the actual DTS files.
**One observation:** Since `additionalProperties: false` is set, after this patch but before patches 3-4, running `dt_binding_check` against the existing imx8mp/imx6sx DTS files would produce schema validation warnings (the DTS files still have `reg` properties that the schema now disallows). This is a transient bisection issue — not a problem in practice since the series is applied atomically, but worth noting. Some maintainers prefer DTS changes before binding changes to avoid this. The current ordering (binding first, DTS second) is also commonly accepted.
**No blocking issues.**
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] ARM: dts: imx6sx: remove LDB reg property
2026-05-04 20:21 [PATCH 0/4] i.MX LDB DT cleanups Marco Felsch
2026-05-04 20:21 ` [PATCH 1/4] Revert "dt-bindings: display: bridge: ldb: Add check for reg and reg-names" Marco Felsch
2026-05-04 20:21 ` [PATCH 2/4] Revert "dt-bindings: display: bridge: ldb: Fill in reg property" Marco Felsch
@ 2026-05-04 20:21 ` Marco Felsch
2026-05-04 21:44 ` Claude review: " Claude Code Review Bot
2026-05-04 20:21 ` [PATCH 4/4] arm64: dts: imx8mp: remove LDB reg and reg-names property Marco Felsch
2026-05-04 21:44 ` Claude review: i.MX LDB DT cleanups Claude Code Review Bot
4 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2026-05-04 20:21 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Vasut, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
laurentiu.palcu, victor.liu
Cc: kernel, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel, Marco Felsch
The iomux-gpr syscon device has a very loose register definition. Many
registers have a multi purpose, e.g. one register controlls the WDG
behavior and the CSI2 mux settings. This would lead into multiple
sub-devices which use the same 'reg' which is wrong.
Instead of specifying the 'reg' in the OF each sub-device driver needs
to handle the correct bits on their own. Therefore drop the 'reg'
porperty from the bridge node as well as the @18 register suffix.
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
arch/arm/boot/dts/nxp/imx/imx6sx.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6sx.dtsi b/arch/arm/boot/dts/nxp/imx/imx6sx.dtsi
index aefae5a3a6bebd43c67070376196db559d0d20cb..4b974b54195950e8bd2ef6d590f3530b2a43106e 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6sx.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6sx.dtsi
@@ -850,9 +850,8 @@ gpr: syscon@20e4000 {
#size-cells = <1>;
reg = <0x020e4000 0x4000>;
- lvds_bridge: bridge@18 {
+ lvds_bridge: bridge {
compatible = "fsl,imx6sx-ldb";
- reg = <0x18 0x4>;
clocks = <&clks IMX6SX_CLK_LDB_DI0>;
clock-names = "ldb";
status = "disabled";
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* Claude review: ARM: dts: imx6sx: remove LDB reg property
2026-05-04 20:21 ` [PATCH 3/4] ARM: dts: imx6sx: remove LDB reg property Marco Felsch
@ 2026-05-04 21:44 ` Claude Code Review Bot
0 siblings, 0 replies; 10+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 21:44 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Removes the `reg` property and unit address from the bridge node in `imx6sx.dtsi`.
**Changes reviewed:**
```dts
- lvds_bridge: bridge@18 {
+ lvds_bridge: bridge {
compatible = "fsl,imx6sx-ldb";
- reg = <0x18 0x4>;
```
**Assessment:** Correct. The offset `0x18` matches the hardcoded `.ldb_ctrl = 0x18` in the driver's `fsl_ldb_devdata[IMX6SX_LDB]`, confirming the `reg` was redundant. The parent `gpr: syscon@20e4000` still has its own `reg` and the `#address-cells`/`#size-cells` properties — these remain because other children of the syscon node may still have unit addresses (I verified the parent node retains these).
The node label `lvds_bridge` is preserved, so all overlay files referencing `&lvds_bridge` continue to work.
**No issues.**
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] arm64: dts: imx8mp: remove LDB reg and reg-names property
2026-05-04 20:21 [PATCH 0/4] i.MX LDB DT cleanups Marco Felsch
` (2 preceding siblings ...)
2026-05-04 20:21 ` [PATCH 3/4] ARM: dts: imx6sx: remove LDB reg property Marco Felsch
@ 2026-05-04 20:21 ` Marco Felsch
2026-05-04 21:44 ` Claude review: " Claude Code Review Bot
2026-05-04 21:44 ` Claude review: i.MX LDB DT cleanups Claude Code Review Bot
4 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2026-05-04 20:21 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Vasut, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
laurentiu.palcu, victor.liu
Cc: kernel, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel, Marco Felsch
The blk-ctrl syscon device(s) have a very loose register definition, e.g
one register configures the USB PHY clock source, the PCIe EP ready bit
and enables PCIe and USB clocks. This would lead into multiple
sub-devices which use the same 'reg' which is wrong.
Instead of specifying the 'reg' in the OF each sub-device driver needs
to handle the correct bits on their own. Therefore drop the 'reg' and
'reg-names' porperty from the bridge node as well as the '@5c' register
suffix.
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 90d7bb8f5619e50d9fd65bcf18c083affe15e6f9..41649afff813833aeb1c0355827597578048b037 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1999,10 +1999,8 @@ media_blk_ctrl: blk-ctrl@32ec0000 {
<1039500000>;
#power-domain-cells = <1>;
- lvds_bridge: bridge@5c {
+ lvds_bridge: bridge {
compatible = "fsl,imx8mp-ldb";
- reg = <0x5c 0x4>, <0x128 0x4>;
- reg-names = "ldb", "lvds";
clocks = <&clk IMX8MP_CLK_MEDIA_LDB_ROOT>;
clock-names = "ldb";
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* Claude review: arm64: dts: imx8mp: remove LDB reg and reg-names property
2026-05-04 20:21 ` [PATCH 4/4] arm64: dts: imx8mp: remove LDB reg and reg-names property Marco Felsch
@ 2026-05-04 21:44 ` Claude Code Review Bot
0 siblings, 0 replies; 10+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 21:44 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Removes `reg`, `reg-names`, and the unit address from the bridge node in `imx8mp.dtsi`.
**Changes reviewed:**
```dts
- lvds_bridge: bridge@5c {
+ lvds_bridge: bridge {
compatible = "fsl,imx8mp-ldb";
- reg = <0x5c 0x4>, <0x128 0x4>;
- reg-names = "ldb", "lvds";
```
**Assessment:** Correct. The offsets `0x5c` and `0x128` match the hardcoded `.ldb_ctrl = 0x5c` and `.lvds_ctrl = 0x128` in `fsl_ldb_devdata[IMX8MP_LDB]`, confirming redundancy. The parent `media_blk_ctrl` retains its `#address-cells`/`#size-cells` for other children.
The commit message has the same "porperty" typo (should be "property"). Not blocking.
**No issues.**
---
**Summary:** Clean, well-motivated series with correct ordering and no functional risk. The only cosmetic nits are minor typos ("controlls", "porperty") in commit messages. No code changes are needed — this is purely a DT cleanup that removes properties the driver never consumed.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 10+ messages in thread
* Claude review: i.MX LDB DT cleanups
2026-05-04 20:21 [PATCH 0/4] i.MX LDB DT cleanups Marco Felsch
` (3 preceding siblings ...)
2026-05-04 20:21 ` [PATCH 4/4] arm64: dts: imx8mp: remove LDB reg and reg-names property Marco Felsch
@ 2026-05-04 21:44 ` Claude Code Review Bot
4 siblings, 0 replies; 10+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 21:44 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: i.MX LDB DT cleanups
Author: Marco Felsch <m.felsch@pengutronix.de>
Patches: 5
Reviewed: 2026-05-05T07:44:14.436314
---
This is a clean 4-patch series that removes the unused `reg` and `reg-names` device tree properties from the fsl,ldb (LVDS Display Bridge) binding and associated DTS files. The rationale is sound: the LDB driver (`drivers/gpu/drm/bridge/fsl-ldb.c`) has **never** used these properties. It obtains register access via `syscon_node_to_regmap(dev->of_node->parent)` and uses hardcoded offsets from per-device-type driver data. The parent syscon nodes (IOMUX_GPR, BLK_CTRL) have multi-purpose registers shared across sub-devices, making per-sub-device `reg` properties semantically incorrect.
The ordering is correct: revert the binding schema additions first (patches 1-2), then remove the properties from the DTS files (patches 3-4). The final binding YAML and DTS files are consistent and well-formed.
The cover letter honestly notes "I didn't do runtime tests" — this is acceptable given the driver provably ignores these properties, so there is no functional change.
**Verdict: Series looks good. No blocking issues.**
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 10+ messages in thread