1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/display/arm,pl11x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Arm PrimeCell Color LCD Controller PL110/PL111
10 - Liviu Dudau <Liviu.Dudau@arm.com>
11 - Andre Przywara <andre.przywara@arm.com>
14 The Arm Primcell PL010/PL111 is an LCD controller IP, than scans out
15 a framebuffer region in system memory, and creates timed signals for
16 a variety of LCD panels.
18 # We need a select here so we don't match all nodes with 'arm,primecell'
35 - const: arm,primecell
44 The IP provides four individual interrupt lines, but also one
45 combined line. If the integration only connects this line to the
46 interrupt controller, this single interrupt is noted here.
48 - const: mbe # CLCDMBEINTR
49 - const: vcomp # CLCDVCOMPINTR
50 - const: lnbu # CLCDLNBUINTR
51 - const: fuf # CLCDFUFINTR
64 - description: The CLCDCLK reference clock for the controller.
65 - description: The HCLK AHB slave clock for the register access.
70 Phandle to a node describing memory to be used for the framebuffer.
71 If not present, the framebuffer may be located anywhere in memory.
74 $ref: /schemas/types.yaml#/definitions/uint32
76 Maximum bandwidth in bytes per second that the cell's memory interface
78 If not present, the memory interface is fast enough to handle all
82 $ref: /schemas/graph.yaml#/$defs/port-base
83 additionalProperties: false
86 Output endpoint of the controller, connecting the LCD panel signals.
90 $ref: /schemas/graph.yaml#/$defs/endpoint-base
91 unevaluatedProperties: false
94 arm,pl11x,tft-r0g0b0-pads:
95 $ref: /schemas/types.yaml#/definitions/uint32-array
97 - description: index of CLD pad used for first red bit (R0)
98 - description: index of CLD pad used for first green bit (G0)
99 - description: index of CLD pad used for first blue bit (G0)
102 DEPRECATED. An array of three 32-bit values, defining the way
103 CLD[23:0] pads are wired up.
104 The first value contains the index of the "CLD" external pin (pad)
105 used as R0 (first bit of the red component), the second value for
106 green, the third value for blue.
107 See also "LCD panel signal multiplexing details" paragraphs in the
108 PL110/PL111 Technical Reference Manuals.
109 This implicitly defines available color modes, for example:
110 - PL111 TFT 4:4:4 panel:
111 arm,pl11x,tft-r0g0b0-pads = <4 15 20>;
112 - PL110 TFT (1:)5:5:5 panel:
113 arm,pl11x,tft-r0g0b0-pads = <1 7 13>;
114 - PL111 TFT (1:)5:5:5 panel:
115 arm,pl11x,tft-r0g0b0-pads = <3 11 19>;
116 - PL111 TFT 5:6:5 panel:
117 arm,pl11x,tft-r0g0b0-pads = <3 10 19>;
118 - PL110 and PL111 TFT 8:8:8 panel:
119 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
120 - PL110 and PL111 TFT 8:8:8 panel, R & B components swapped:
121 arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
123 additionalProperties: false
146 compatible = "arm,pl111", "arm,primecell";
147 reg = <0x10020000 0x1000>;
148 interrupt-names = "combined";
150 clocks = <&oscclk1>, <&oscclk2>;
151 clock-names = "clcdclk", "apb_pclk";
152 max-memory-bandwidth = <94371840>; /* Bps, 1024x768@60 16bpp */
155 clcd_pads: endpoint {
156 remote-endpoint = <&clcd_panel>;
162 compatible = "arm,rtsm-display";
165 clcd_panel: endpoint {
166 remote-endpoint = <&clcd_pads>;