Devicetree
 help / color / mirror / Atom feed
* [PATCH v3] dt-bindings: display: imx: Describe legacy display nodes
@ 2026-11-11 20:36 Fabio Estevam
  0 siblings, 0 replies; only message in thread
From: Fabio Estevam @ 2026-11-11 20:36 UTC (permalink / raw)
  To: p.zabel
  Cc: robh, krzk+dt, conor+dt, Frank.Li, dri-devel, devicetree,
	Fabio Estevam

Legacy i.MX LCD display nodes have no schema, leaving their properties
unvalidated and causing dt-core.yaml warnings for fsl,pcr on several
i.MX25 and i.MX27 boards:

  imx27-phytec-phycard-s-rdk.dtb: display: fsl,pcr:
  b'\xf0\xc8\x80\x80' is not of type
  'object', 'integer', 'array', 'boolean', 'null'

Add a display schema selected by the presence of fsl,pcr. Describe the
panel model, framebuffer pixel depth, interface width and LCDC settings,
and reference panel-common.yaml for common panel properties and display
timings. Reject properties not covered by these definitions.

Keep the LCD controller schema limited to controller properties.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v2:
- Add a separate display-node schema selected by the presence of fsl,pcr. (Rob)
- Describe model, bits-per-pixel, bus-width and fsl,aus-mode, and reference panel-common.yaml.
- Reject unknown display properties with unevaluatedProperties: false.

 .../display/imx/fsl,imx-fb-display.yaml       | 73 +++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx-fb-display.yaml

diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx-fb-display.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx-fb-display.yaml
new file mode 100644
index 000000000000..72e567b9ed98
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/imx/fsl,imx-fb-display.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/imx/fsl,imx-fb-display.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX framebuffer display
+
+maintainers:
+  - Fabio Estevam <festevam@gmail.com>
+
+description:
+  Legacy display nodes referenced by the display property of the i.MX
+  LCD controller describe the panel and its interface configuration.
+
+select:
+  required:
+    - fsl,pcr
+
+allOf:
+  - $ref: /schemas/display/panel/panel-common.yaml#
+
+properties:
+  model:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: Display panel model name.
+
+  bits-per-pixel:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Number of bits per pixel in the framebuffer.
+
+  bus-width:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Number of data lines connected to the panel.
+
+  fsl,pcr:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: LCDC Panel Configuration Register value.
+
+  fsl,aus-mode:
+    type: boolean
+    description: Enable AUS mode on i.MX21 and later LCD controllers.
+
+required:
+  - bits-per-pixel
+  - display-timings
+  - fsl,pcr
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    display {
+        model = "Primeview-PD050VL1";
+        bits-per-pixel = <16>;
+        fsl,pcr = <0xf0c88080>;
+
+        display-timings {
+            native-mode = <&timing0>;
+
+            timing0: timing0 {
+                hactive = <640>;
+                vactive = <480>;
+                hback-porch = <112>;
+                hfront-porch = <36>;
+                hsync-len = <32>;
+                vback-porch = <33>;
+                vfront-porch = <33>;
+                vsync-len = <2>;
+                clock-frequency = <25000000>;
+            };
+        };
+    };
-- 
2.43.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-11-11 20:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-11 20:36 [PATCH v3] dt-bindings: display: imx: Describe legacy display nodes Fabio Estevam

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