1 # SPDX-License-Identifier: GPL-2.0
4 $id: http://devicetree.org/schemas/display/allwinner,sun8i-r40-tcon-top.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Allwinner R40 TCON TOP
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
14 TCON TOPs main purpose is to configure whole display pipeline. It
15 determines relationships between mixers and TCONs, selects source
16 TCON for HDMI, muxes LCD and TV encoder GPIO output, selects TV
17 encoder clock source and contains additional TV TCON and DSI gates.
19 It allows display pipeline to be configured in very different ways:
25 \ / [1] TCON-LCD1 - LCD1/LVDS1
27 / \ [2] TCON-TV0 [0] - TVE0/RGB
31 \ [3] TCON-TV1 [1] - TVE1/RGB
33 Note that both TCON TOP references same physical unit. Both mixers
34 can be connected to any TCON. Not all TCON TOP variants support all
43 - allwinner,sun8i-r40-tcon-top
44 - allwinner,sun20i-d1-tcon-top
45 - allwinner,sun50i-h6-tcon-top
66 $ref: /schemas/graph.yaml#/properties/ports
70 $ref: /schemas/graph.yaml#/properties/port
72 Input endpoint for Mixer 0 mux.
75 $ref: /schemas/graph.yaml#/properties/port
77 Output endpoint for Mixer 0 mux
80 $ref: /schemas/graph.yaml#/properties/port
82 Input endpoint for Mixer 1 mux.
85 $ref: /schemas/graph.yaml#/properties/port
87 Output endpoint for Mixer 1 mux
90 $ref: /schemas/graph.yaml#/properties/port
92 Input endpoint for HDMI mux.
95 $ref: /schemas/graph.yaml#/properties/port
97 Output endpoint for HDMI mux
115 additionalProperties: false
122 const: allwinner,sun8i-r40-tcon-top
128 - description: The TCON TOP interface clock
129 - description: The TCON TOP TV0 clock
130 - description: The TCON TOP TVE0 clock
131 - description: The TCON TOP TV1 clock
132 - description: The TCON TOP TVE1 clock
133 - description: The TCON TOP MIPI DSI clock
146 - description: TCON TV0 output clock name
147 - description: TCON TV1 output clock name
148 - description: DSI output clock name
159 const: allwinner,sun20i-d1-tcon-top
165 - description: The TCON TOP interface clock
166 - description: The TCON TOP TV0 clock
167 - description: The TCON TOP TVE0 clock
168 - description: The TCON TOP MIPI DSI clock
179 - description: TCON TV0 output clock name
180 - description: DSI output clock name
186 const: allwinner,sun50i-h6-tcon-top
192 - description: The TCON TOP interface clock
193 - description: The TCON TOP TV0 clock
202 - description: TCON TV0 output clock name
206 #include <dt-bindings/interrupt-controller/arm-gic.h>
208 #include <dt-bindings/clock/sun8i-r40-ccu.h>
209 #include <dt-bindings/reset/sun8i-r40-ccu.h>
211 tcon_top: tcon-top@1c70000 {
212 compatible = "allwinner,sun8i-r40-tcon-top";
213 reg = <0x01c70000 0x1000>;
214 clocks = <&ccu CLK_BUS_TCON_TOP>,
226 clock-output-names = "tcon-top-tv0",
229 resets = <&ccu RST_BUS_TCON_TOP>;
233 #address-cells = <1>;
236 tcon_top_mixer0_in: port@0 {
239 tcon_top_mixer0_in_mixer0: endpoint {
240 remote-endpoint = <&mixer0_out_tcon_top>;
244 tcon_top_mixer0_out: port@1 {
245 #address-cells = <1>;
249 tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
253 tcon_top_mixer0_out_tcon_lcd1: endpoint@1 {
257 tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
259 remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>;
262 tcon_top_mixer0_out_tcon_tv1: endpoint@3 {
264 remote-endpoint = <&tcon_tv1_in_tcon_top_mixer0>;
268 tcon_top_mixer1_in: port@2 {
269 #address-cells = <1>;
273 tcon_top_mixer1_in_mixer1: endpoint@1 {
275 remote-endpoint = <&mixer1_out_tcon_top>;
279 tcon_top_mixer1_out: port@3 {
280 #address-cells = <1>;
284 tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
288 tcon_top_mixer1_out_tcon_lcd1: endpoint@1 {
292 tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
294 remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>;
297 tcon_top_mixer1_out_tcon_tv1: endpoint@3 {
299 remote-endpoint = <&tcon_tv1_in_tcon_top_mixer1>;
303 tcon_top_hdmi_in: port@4 {
304 #address-cells = <1>;
308 tcon_top_hdmi_in_tcon_tv0: endpoint@0 {
310 remote-endpoint = <&tcon_tv0_out_tcon_top>;
313 tcon_top_hdmi_in_tcon_tv1: endpoint@1 {
315 remote-endpoint = <&tcon_tv1_out_tcon_top>;
319 tcon_top_hdmi_out: port@5 {
322 tcon_top_hdmi_out_hdmi: endpoint {
323 remote-endpoint = <&hdmi_in_tcon_top>;