[PATCH v3 2/5] dt-bindings: display: Add the Ingenic X1600 display controller
From: Olivier Louvignes
Date: Fri Nov 06 2026 - 06:25:33 EST
The X1600's display controller fetches frames through descriptors and
keeps its interface and timings in register blocks of their own (X1600
programming manual, chapter 10), so it shares nothing with the
controllers ingenic,lcd.yaml describes. Its registers are those of the
X2000's display controller without the composer, which the X2000 and
X2600 manuals call the DPU, as the X1600 manual does in its register and
clock names: hence ingenic,x1600-dpu, which an X2000 binding can extend.
Signed-off-by: Olivier Louvignes <olivier@xxxxxxxxx>
---
v3:
- ingenic,x1600-dpu, titled "display controller (DPU)" (Nikolaus).
- No $nodename, no clock-names (Krzysztof); example node
display-controller@.
.../bindings/display/ingenic,x1600-dpu.yaml | 61 +++++++++++++++++++
MAINTAINERS | 5 ++
2 files changed, 66 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/ingenic,x1600-dpu.yaml
diff --git a/Documentation/devicetree/bindings/display/ingenic,x1600-dpu.yaml b/Documentation/devicetree/bindings/display/ingenic,x1600-dpu.yaml
new file mode 100644
index 000000000000..0e9f4442e4b9
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic,x1600-dpu.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic,x1600-dpu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ingenic X1600 display controller (DPU)
+
+maintainers:
+ - Olivier Louvignes <olivier@xxxxxxxxx>
+
+description:
+ The display controller of the Ingenic X1600 SoC, the DPU of the X2000
+ without its composer. It fetches frames through descriptors in memory
+ and drives a parallel RGB panel or a smart panel; its registers have
+ nothing in common with the controllers described in ingenic,lcd.yaml.
+
+properties:
+ compatible:
+ const: ingenic,x1600-dpu
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: The pixel clock, whose gate also gates the controller
+
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: The output, to the panel or bridge.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ display-controller@13050000 {
+ compatible = "ingenic,x1600-dpu";
+ reg = <0x13050000 0x10000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <31>;
+
+ clocks = <&cgu 16>;
+
+ port {
+ dpu_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index c10342aa32f3..a5160860ae26 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13176,6 +13176,11 @@ F: include/linux/mfd/ingenic-tcu.h
F: sound/soc/codecs/jz47*
F: sound/soc/jz4740/
+INGENIC X1600 DRM DRIVER
+M: Olivier Louvignes <olivier@xxxxxxxxx>
+S: Maintained
+F: Documentation/devicetree/bindings/display/ingenic,x1600-dpu.yaml
+
INJOINIC IP5xxx POWER BANK IC DRIVER
M: Samuel Holland <samuel@xxxxxxxxxxxx>
S: Maintained
--
2.39.5