Linux kernel and device drivers for NXP i.MX platforms
 help / color / mirror / Atom feed
* [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings
@ 2026-07-08 20:29 Frank.Li
  2026-07-08 20:29 ` [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb Frank.Li
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Frank.Li @ 2026-07-08 20:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Marek Vasut,
	Stefan Agner, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, dri-devel,
	Frank Li

Fix ldb related CHECK_DTBS warnings

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Frank Li (4):
      dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb
      dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node
      dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL
      ARM: dts: imx6ul-tx6ul: rename disp0 to display0

 .../bindings/display/bridge/fsl,ldb.yaml           | 23 +++++----
 .../devicetree/bindings/display/fsl,lcdif.yaml     |  1 +
 .../bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml       | 59 ++++++++++++++++++++++
 arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi        |  2 +-
 4 files changed, 75 insertions(+), 10 deletions(-)
---
base-commit: 6c94b38b83a04c43ea49004275f0391404051093
change-id: 20260708-arm_dts_ldb-9ca4c548dded

Best regards,
--  
Frank Li <Frank.Li@nxp.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb
  2026-07-08 20:29 [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings Frank.Li
@ 2026-07-08 20:29 ` Frank.Li
  2026-07-08 20:29 ` [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node Frank.Li
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Frank.Li @ 2026-07-08 20:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Marek Vasut,
	Stefan Agner, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, dri-devel,
	Frank Li

From: Frank Li <Frank.Li@nxp.com>

The i.MX6SX LDB only provides a single register region for the LDB block,
while other supported LDB variants require two register regions.

Update the binding schema to allow a single reg entry for
fsl,imx6sx-ldb while keeping the existing constraints unchanged for the
other compatible strings.

Fix below DTB_CHECK warings:
  arch/arm/boot/dts/nxp/imx/imx6sx-nitrogen6sx.dtb: bridge@18 (fsl,imx6sx-ldb): reg: [[24, 4]] is too short

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Related two theads:
- https://lore.kernel.org/imx/178154922879.1630652.11500293336634076421.robh@kernel.org/

Mixing the addressable and non-addressable child nodes is allowed according to discussion [1].

Link: https://lore.kernel.org/all/n6akxiayi3g6gxcqhreb4iaohmeokoalnqup6h5r2fwdt4zijt@u2wyps55ayqm/ [1]
---
 .../bindings/display/bridge/fsl,ldb.yaml           | 23 +++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
index 7f380879fffdf..e5a8870bb76a6 100644
--- a/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
@@ -28,9 +28,11 @@ properties:
     const: ldb
 
   reg:
+    minItems: 1
     maxItems: 2
 
   reg-names:
+    minItems: 1
     items:
       - const: ldb
       - const: lvds
@@ -83,15 +85,6 @@ allOf:
         ports:
           properties:
             port@2: false
-  - if:
-      not:
-        properties:
-          compatible:
-            contains:
-              const: fsl,imx6sx-ldb
-    then:
-      required:
-        - reg-names
 
   - if:
       properties:
@@ -100,7 +93,19 @@ allOf:
             const: fsl,imx6sx-ldb
     then:
       properties:
+        reg:
+          maxItems: 1
+        reg-names:
+          maxItems: 1
         nxp,enable-termination-resistor: false
+    else:
+      required:
+        - reg-names
+      properties:
+        reg:
+          minItems: 2
+        reg-names:
+          minItems: 2
 
 additionalProperties: false
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node
  2026-07-08 20:29 [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings Frank.Li
  2026-07-08 20:29 ` [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb Frank.Li
@ 2026-07-08 20:29 ` Frank.Li
  2026-07-08 20:29 ` [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL Frank.Li
  2026-07-08 20:29 ` [PATCH 4/4] ARM: dts: imx6ul-tx6ul: rename disp0 to display0 Frank.Li
  3 siblings, 0 replies; 6+ messages in thread
From: Frank.Li @ 2026-07-08 20:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Marek Vasut,
	Stefan Agner, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, dri-devel,
	Frank Li

From: Frank Li <Frank.Li@nxp.com>

The legacy i.MX6SX (>15 year) SoC imx-iomuxc-gpr contains one LDB_CTRL
register. Allow the LVDS Display Bridge(LDB) child node under
imx-iomuxc-gpr.

Fix below CHECK_DTBS warnings:
  arch/arm/boot/dts/nxp/imx/imx6sx-nitrogen6sx.dtb: syscon@20e4000 (fsl,imx6sx-iomuxc-gpr): '#address-cells', '#size-cells', 'bridge@18' do not match any of the regexes: '^ipu[12]_csi[01]_mux$', '^pinctrl-[0-9]+$

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 .../bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml       | 59 ++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml
index 721a67e84c137..c3b942bbcd6da 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml
@@ -47,10 +47,21 @@ properties:
   reg:
     maxItems: 1
 
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
   mux-controller:
     type: object
     $ref: /schemas/mux/reg-mux.yaml
 
+  bridge@18:
+    type: object
+    $ref: /schemas/display/bridge/fsl,ldb.yaml#
+    unevaluatedProperties: false
+
 patternProperties:
   "^ipu[12]_csi[01]_mux$":
     type: object
@@ -67,6 +78,18 @@ allOf:
       patternProperties:
         '^ipu[12]_csi[01]_mux$': false
 
+  - if:
+      properties:
+        compatible:
+          not:
+            contains:
+              const: fsl,imx6sx-iomuxc-gpr
+    then:
+      properties:
+        bridge@18: false
+        '#address-cells': false
+        '#size-cells': false
+
 additionalProperties: false
 
 required:
@@ -87,4 +110,40 @@ examples:
         };
     };
 
+  - |
+    #include <dt-bindings/clock/imx6sx-clock.h>
+
+    syscon@20e4000 {
+        compatible = "fsl,imx6sx-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
+        reg = <0x020e4000 0x4000>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        bridge@18 {
+            compatible = "fsl,imx6sx-ldb";
+            reg = <0x18 0x4>;
+            clocks = <&clks IMX6SX_CLK_LDB_DI0>;
+            clock-names = "ldb";
+            status = "disabled";
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+
+                    endpoint {
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+
+                    endpoint {
+                    };
+                };
+            };
+        };
+    };
 ...

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL
  2026-07-08 20:29 [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings Frank.Li
  2026-07-08 20:29 ` [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb Frank.Li
  2026-07-08 20:29 ` [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node Frank.Li
@ 2026-07-08 20:29 ` Frank.Li
  2026-07-08 20:37   ` sashiko-bot
  2026-07-08 20:29 ` [PATCH 4/4] ARM: dts: imx6ul-tx6ul: rename disp0 to display0 Frank.Li
  3 siblings, 1 reply; 6+ messages in thread
From: Frank.Li @ 2026-07-08 20:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Marek Vasut,
	Stefan Agner, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, dri-devel,
	Frank Li

From: Frank Li <Frank.Li@nxp.com>

The legacy i.MX6UL LCDIF binding uses a display0 child node to describe
the attached display. Update the binding schema to allow this child node
for fsl,imx6ul-lcdif.

Fixes the following CHECK_DTBS warning:
  arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul-0010.dtb: lcdif@21c8000 (fsl,imx6ul-lcdif): 'disp0' does not match any of the regexes: '^pinctrl-[0-9]+$'

A follow-up patch renames the child node from disp0 to display0 to match
the updated binding.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 Documentation/devicetree/bindings/display/fsl,lcdif.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
index 2dd0411ec6516..2b123ddf06841 100644
--- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
+++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
@@ -182,6 +182,7 @@ allOf:
             contains:
               enum:
                 - fsl,imx28-lcdif
+                - fsl,imx6ul-lcdif
     then:
       properties:
         dmas: false

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/4] ARM: dts: imx6ul-tx6ul: rename disp0 to display0
  2026-07-08 20:29 [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings Frank.Li
                   ` (2 preceding siblings ...)
  2026-07-08 20:29 ` [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL Frank.Li
@ 2026-07-08 20:29 ` Frank.Li
  3 siblings, 0 replies; 6+ messages in thread
From: Frank.Li @ 2026-07-08 20:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Peng Fan, Marek Vasut,
	Stefan Agner, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, dri-devel,
	Frank Li

From: Frank Li <Frank.Li@nxp.com>

Change node name disp0 to display0 to match binding define.

Fix the following CHECK_DTBS warning:
  arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul-0010.dtb: lcdif@21c8000 (fsl,imx6ul-lcdif): 'disp0' does not match any of the regexes: '^pinctrl-[0-9]+$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi
index 192c6a95ae589..2f6916c0359c5 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6ul-tx6ul.dtsi
@@ -369,7 +369,7 @@ &lcdif {
 	display = <&display>;
 	status = "okay";
 
-	display: disp0 {
+	display: display0 {
 		bits-per-pixel = <32>;
 		bus-width = <24>;
 		status = "okay";

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL
  2026-07-08 20:29 ` [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL Frank.Li
@ 2026-07-08 20:37   ` sashiko-bot
  0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-07-08 20:37 UTC (permalink / raw)
  To: Frank.Li; +Cc: conor+dt, imx, Frank.Li, dri-devel, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The schema inadvertently allows `dmas` and `dma-names` properties for the `fsl,imx6ul-lcdif` compatible string.
--

--- Patch [3]: [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL ---
commit 4b641f03375f74e811e7a58ce3d750c19709f1d5
Author: Frank Li <Frank.Li@nxp.com>

dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL

The legacy i.MX6UL LCDIF binding uses a display0 child node to describe
the attached display. This commit updates the binding schema to allow
this child node for fsl,imx6ul-lcdif.

> diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> index 2dd0411ec6516..2b123ddf06841 100644
> --- a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> +++ b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
> @@ -182,6 +182,7 @@ allOf:
>              contains:
>                enum:
>                  - fsl,imx28-lcdif
> +                - fsl,imx6ul-lcdif
>      then:
>        properties:
>          dmas: false

[Severity: Medium]
Does this inadvertently allow dmas and dma-names properties for the
fsl,imx6ul-lcdif compatible string?

By adding fsl,imx6ul-lcdif to this combined exemption block, it appears to
successfully bypass the legacy display restrictions to allow display0, but
it also exempts the i.MX6UL from the dmas restrictions which were correctly
applied prior to this patch.

If a device tree incorrectly defines dmas properties on an fsl,imx6ul-lcdif
node, dtbs_check might now silently pass without triggering a schema
violation warning.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260708-arm_dts_ldb-v1-0-4f5579b85797@nxp.com?part=3

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-08 20:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-08 20:29 [PATCH 0/4] ARM: dts: imx: fix ldb related CHECK_DTBS warnings Frank.Li
2026-07-08 20:29 ` [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb Frank.Li
2026-07-08 20:29 ` [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node Frank.Li
2026-07-08 20:29 ` [PATCH 3/4] dt-bindings: display: lcdif: Allow display0 child node for i.MX6UL Frank.Li
2026-07-08 20:37   ` sashiko-bot
2026-07-08 20:29 ` [PATCH 4/4] ARM: dts: imx6ul-tx6ul: rename disp0 to display0 Frank.Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox