blob: 6d4c00f3fcc886b167756a5824c654cf1a17e210 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic SoCs LCD controller
8
9maintainers:
10 - Paul Cercueil <paul@crapouillou.net>
11
12properties:
13 $nodename:
14 pattern: "^lcd-controller@[0-9a-f]+$"
15
16 compatible:
17 enum:
18 - ingenic,jz4740-lcd
19 - ingenic,jz4725b-lcd
20 - ingenic,jz4760-lcd
21 - ingenic,jz4760b-lcd
22 - ingenic,jz4770-lcd
23 - ingenic,jz4780-lcd
24
25 reg:
26 maxItems: 1
27
28 interrupts:
29 maxItems: 1
30
31 clocks:
32 items:
33 - description: Pixel clock
34 - description: Module clock
35 minItems: 1
36
37 clock-names:
38 items:
39 - const: lcd_pclk
40 - const: lcd
41 minItems: 1
42
43 port:
44 $ref: /schemas/graph.yaml#/properties/port
45
46 ports:
47 $ref: /schemas/graph.yaml#/properties/ports
48
49 properties:
50 port@0:
51 $ref: /schemas/graph.yaml#/properties/port
52 description: DPI output, to interface with TFT panels.
53
54 port@8:
55 $ref: /schemas/graph.yaml#/properties/port
56 description: Link to the Image Processing Unit (IPU).
57 (See ingenic,ipu.yaml).
58
59 required:
60 - port@0
61
62required:
63 - compatible
64 - reg
65 - interrupts
66 - clocks
67 - clock-names
68
69if:
70 properties:
71 compatible:
72 contains:
73 enum:
74 - ingenic,jz4740-lcd
75 - ingenic,jz4780-lcd
76then:
77 properties:
78 clocks:
79 minItems: 2
80 clock-names:
81 minItems: 2
82else:
83 properties:
84 clocks:
85 maxItems: 1
86 clock-names:
87 maxItems: 1
88
89additionalProperties: false
90
91examples:
92 - |
93 #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
94 lcd-controller@13050000 {
95 compatible = "ingenic,jz4740-lcd";
96 reg = <0x13050000 0x1000>;
97
98 interrupt-parent = <&intc>;
99 interrupts = <30>;
100
101 clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
102 clock-names = "lcd_pclk", "lcd";
103
104 port {
105 endpoint {
106 remote-endpoint = <&panel_input>;
107 };
108 };
109 };
110
111 - |
112 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h>
113 lcd-controller@13050000 {
114 compatible = "ingenic,jz4725b-lcd";
115 reg = <0x13050000 0x1000>;
116
117 interrupt-parent = <&intc>;
118 interrupts = <31>;
119
120 clocks = <&cgu JZ4725B_CLK_LCD>;
121 clock-names = "lcd_pclk";
122
123 port {
124 endpoint {
125 remote-endpoint = <&panel_input>;
126 };
127 };
128 };