Linux-ARM-Kernel Archive on lore.kernel.org
 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; 7+ 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] 7+ 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-17 18:44   ` Rob Herring (Arm)
  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, 1 reply; 7+ 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] 7+ 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-17 18:45   ` Rob Herring
  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, 1 reply; 7+ 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] 7+ 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:29 ` [PATCH 4/4] ARM: dts: imx6ul-tx6ul: rename disp0 to display0 Frank.Li
  3 siblings, 0 replies; 7+ 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] 7+ 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; 7+ 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] 7+ messages in thread

* Re: [PATCH 1/4] dt-bindings: display: bridge: ldb: allow a single reg for fsl,imx6sx-ldb
  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-17 18:44   ` Rob Herring (Arm)
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2026-07-17 18:44 UTC (permalink / raw)
  To: Frank.Li
  Cc: linux-kernel, Maarten Lankhorst, Fabio Estevam, dri-devel,
	Stefan Agner, Krzysztof Kozlowski, David Airlie, Frank Li,
	Pengutronix Kernel Team, imx, devicetree, Maxime Ripard,
	Thomas Zimmermann, Peng Fan, linux-arm-kernel, Sascha Hauer,
	Marek Vasut, Conor Dooley, Simona Vetter


On Wed, 08 Jul 2026 16:29:02 -0400, Frank.Li@oss.nxp.com wrote:
> 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(-)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>



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

* Re: [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node
  2026-07-08 20:29 ` [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node Frank.Li
@ 2026-07-17 18:45   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2026-07-17 18:45 UTC (permalink / raw)
  To: Frank.Li
  Cc: 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, devicetree, imx, linux-arm-kernel,
	linux-kernel, dri-devel, Frank Li

On Wed, Jul 08, 2026 at 04:29:03PM -0400, Frank.Li@oss.nxp.com wrote:
> 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";

Examples should be enabled. Drop.

> +
> +            ports {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +
> +                port@0 {
> +                    reg = <0>;
> +
> +                    endpoint {
> +                    };
> +                };
> +
> +                port@1 {
> +                    reg = <1>;
> +
> +                    endpoint {
> +                    };
> +                };
> +            };
> +        };
> +    };
>  ...
> 
> -- 
> 2.43.0
> 


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

end of thread, other threads:[~2026-07-17 18:45 UTC | newest]

Thread overview: 7+ 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-17 18:44   ` Rob Herring (Arm)
2026-07-08 20:29 ` [PATCH 2/4] dt-bindings: soc: imx-iomuxc-gpr: allow bridge@18 as child node Frank.Li
2026-07-17 18:45   ` Rob Herring
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

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