18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/allwinner,sun8i-r40-tcon-top.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Allwinner R40 TCON TOP Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Chen-Yu Tsai <wens@csie.org>
118c2ecf20Sopenharmony_ci  - Maxime Ripard <mripard@kernel.org>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  TCON TOPs main purpose is to configure whole display pipeline. It
158c2ecf20Sopenharmony_ci  determines relationships between mixers and TCONs, selects source
168c2ecf20Sopenharmony_ci  TCON for HDMI, muxes LCD and TV encoder GPIO output, selects TV
178c2ecf20Sopenharmony_ci  encoder clock source and contains additional TV TCON and DSI gates.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  It allows display pipeline to be configured in very different ways:
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci                                  / LCD0/LVDS0
228c2ecf20Sopenharmony_ci                   / [0] TCON-LCD0
238c2ecf20Sopenharmony_ci                   |              \ MIPI DSI
248c2ecf20Sopenharmony_ci   mixer0          |
258c2ecf20Sopenharmony_ci          \        / [1] TCON-LCD1 - LCD1/LVDS1
268c2ecf20Sopenharmony_ci           TCON-TOP
278c2ecf20Sopenharmony_ci          /        \ [2] TCON-TV0 [0] - TVE0/RGB
288c2ecf20Sopenharmony_ci   mixer1          |                  \
298c2ecf20Sopenharmony_ci                   |                   TCON-TOP - HDMI
308c2ecf20Sopenharmony_ci                   |                  /
318c2ecf20Sopenharmony_ci                   \ [3] TCON-TV1 [1] - TVE1/RGB
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  Note that both TCON TOP references same physical unit. Both mixers
348c2ecf20Sopenharmony_ci  can be connected to any TCON. Not all TCON TOP variants support all
358c2ecf20Sopenharmony_ci  features.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciproperties:
388c2ecf20Sopenharmony_ci  "#clock-cells":
398c2ecf20Sopenharmony_ci    const: 1
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  compatible:
428c2ecf20Sopenharmony_ci    enum:
438c2ecf20Sopenharmony_ci      - allwinner,sun8i-r40-tcon-top
448c2ecf20Sopenharmony_ci      - allwinner,sun50i-h6-tcon-top
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  reg:
478c2ecf20Sopenharmony_ci    maxItems: 1
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  clocks:
508c2ecf20Sopenharmony_ci    minItems: 2
518c2ecf20Sopenharmony_ci    maxItems: 6
528c2ecf20Sopenharmony_ci    items:
538c2ecf20Sopenharmony_ci      - description: The TCON TOP interface clock
548c2ecf20Sopenharmony_ci      - description: The TCON TOP TV0 clock
558c2ecf20Sopenharmony_ci      - description: The TCON TOP TVE0 clock
568c2ecf20Sopenharmony_ci      - description: The TCON TOP TV1 clock
578c2ecf20Sopenharmony_ci      - description: The TCON TOP TVE1 clock
588c2ecf20Sopenharmony_ci      - description: The TCON TOP MIPI DSI clock
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci  clock-names:
618c2ecf20Sopenharmony_ci    minItems: 2
628c2ecf20Sopenharmony_ci    maxItems: 6
638c2ecf20Sopenharmony_ci    items:
648c2ecf20Sopenharmony_ci      - const: bus
658c2ecf20Sopenharmony_ci      - const: tcon-tv0
668c2ecf20Sopenharmony_ci      - const: tve0
678c2ecf20Sopenharmony_ci      - const: tcon-tv1
688c2ecf20Sopenharmony_ci      - const: tve1
698c2ecf20Sopenharmony_ci      - const: dsi
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci  clock-output-names:
728c2ecf20Sopenharmony_ci    minItems: 1
738c2ecf20Sopenharmony_ci    maxItems: 3
748c2ecf20Sopenharmony_ci    description: >
758c2ecf20Sopenharmony_ci      The first item is the name of the clock created for the TV0
768c2ecf20Sopenharmony_ci      channel, the second item is the name of the TCON TV1 channel
778c2ecf20Sopenharmony_ci      clock and the third one is the name of the DSI channel clock.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci  resets:
808c2ecf20Sopenharmony_ci    maxItems: 1
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci  ports:
838c2ecf20Sopenharmony_ci    type: object
848c2ecf20Sopenharmony_ci    description: |
858c2ecf20Sopenharmony_ci      A ports node with endpoint definitions as defined in
868c2ecf20Sopenharmony_ci      Documentation/devicetree/bindings/media/video-interfaces.txt.
878c2ecf20Sopenharmony_ci      All ports should have only one endpoint connected to
888c2ecf20Sopenharmony_ci      remote endpoint.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci    properties:
918c2ecf20Sopenharmony_ci      "#address-cells":
928c2ecf20Sopenharmony_ci        const: 1
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci      "#size-cells":
958c2ecf20Sopenharmony_ci        const: 0
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci      port@0:
988c2ecf20Sopenharmony_ci        type: object
998c2ecf20Sopenharmony_ci        description: |
1008c2ecf20Sopenharmony_ci          Input endpoint for Mixer 0 mux.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci      port@1:
1038c2ecf20Sopenharmony_ci        type: object
1048c2ecf20Sopenharmony_ci        description: |
1058c2ecf20Sopenharmony_ci          Output endpoint for Mixer 0 mux
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci        properties:
1088c2ecf20Sopenharmony_ci          "#address-cells":
1098c2ecf20Sopenharmony_ci            const: 1
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci          "#size-cells":
1128c2ecf20Sopenharmony_ci            const: 0
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci          reg: true
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci        patternProperties:
1178c2ecf20Sopenharmony_ci          "^endpoint@[0-9]$":
1188c2ecf20Sopenharmony_ci            type: object
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci            properties:
1218c2ecf20Sopenharmony_ci              reg:
1228c2ecf20Sopenharmony_ci                description: |
1238c2ecf20Sopenharmony_ci                  ID of the target TCON
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci            required:
1268c2ecf20Sopenharmony_ci              - reg
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci        required:
1298c2ecf20Sopenharmony_ci          - "#address-cells"
1308c2ecf20Sopenharmony_ci          - "#size-cells"
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci        additionalProperties: false
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci      port@2:
1358c2ecf20Sopenharmony_ci        type: object
1368c2ecf20Sopenharmony_ci        description: |
1378c2ecf20Sopenharmony_ci          Input endpoint for Mixer 1 mux.
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci      port@3:
1408c2ecf20Sopenharmony_ci        type: object
1418c2ecf20Sopenharmony_ci        description: |
1428c2ecf20Sopenharmony_ci          Output endpoint for Mixer 1 mux
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci        properties:
1458c2ecf20Sopenharmony_ci          "#address-cells":
1468c2ecf20Sopenharmony_ci            const: 1
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci          "#size-cells":
1498c2ecf20Sopenharmony_ci            const: 0
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci          reg: true
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci        patternProperties:
1548c2ecf20Sopenharmony_ci          "^endpoint@[0-9]$":
1558c2ecf20Sopenharmony_ci            type: object
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci            properties:
1588c2ecf20Sopenharmony_ci              reg:
1598c2ecf20Sopenharmony_ci                description: |
1608c2ecf20Sopenharmony_ci                  ID of the target TCON
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci            required:
1638c2ecf20Sopenharmony_ci              - reg
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci        required:
1668c2ecf20Sopenharmony_ci          - "#address-cells"
1678c2ecf20Sopenharmony_ci          - "#size-cells"
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci        additionalProperties: false
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci      port@4:
1728c2ecf20Sopenharmony_ci        type: object
1738c2ecf20Sopenharmony_ci        description: |
1748c2ecf20Sopenharmony_ci          Input endpoint for HDMI mux.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci        properties:
1778c2ecf20Sopenharmony_ci          "#address-cells":
1788c2ecf20Sopenharmony_ci            const: 1
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci          "#size-cells":
1818c2ecf20Sopenharmony_ci            const: 0
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ci          reg: true
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci        patternProperties:
1868c2ecf20Sopenharmony_ci          "^endpoint@[0-9]$":
1878c2ecf20Sopenharmony_ci            type: object
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci            properties:
1908c2ecf20Sopenharmony_ci              reg:
1918c2ecf20Sopenharmony_ci                description: |
1928c2ecf20Sopenharmony_ci                  ID of the target TCON
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci            required:
1958c2ecf20Sopenharmony_ci              - reg
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ci        required:
1988c2ecf20Sopenharmony_ci          - "#address-cells"
1998c2ecf20Sopenharmony_ci          - "#size-cells"
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci        additionalProperties: false
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci      port@5:
2048c2ecf20Sopenharmony_ci        type: object
2058c2ecf20Sopenharmony_ci        description: |
2068c2ecf20Sopenharmony_ci          Output endpoint for HDMI mux
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci    required:
2098c2ecf20Sopenharmony_ci      - "#address-cells"
2108c2ecf20Sopenharmony_ci      - "#size-cells"
2118c2ecf20Sopenharmony_ci      - port@0
2128c2ecf20Sopenharmony_ci      - port@1
2138c2ecf20Sopenharmony_ci      - port@4
2148c2ecf20Sopenharmony_ci      - port@5
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci    additionalProperties: false
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_cirequired:
2198c2ecf20Sopenharmony_ci  - "#clock-cells"
2208c2ecf20Sopenharmony_ci  - compatible
2218c2ecf20Sopenharmony_ci  - reg
2228c2ecf20Sopenharmony_ci  - clocks
2238c2ecf20Sopenharmony_ci  - clock-names
2248c2ecf20Sopenharmony_ci  - clock-output-names
2258c2ecf20Sopenharmony_ci  - resets
2268c2ecf20Sopenharmony_ci  - ports
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ciadditionalProperties: false
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciif:
2318c2ecf20Sopenharmony_ci  properties:
2328c2ecf20Sopenharmony_ci    compatible:
2338c2ecf20Sopenharmony_ci      contains:
2348c2ecf20Sopenharmony_ci        const: allwinner,sun50i-h6-tcon-top
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_cithen:
2378c2ecf20Sopenharmony_ci  properties:
2388c2ecf20Sopenharmony_ci    clocks:
2398c2ecf20Sopenharmony_ci      maxItems: 2
2408c2ecf20Sopenharmony_ci
2418c2ecf20Sopenharmony_ci    clock-output-names:
2428c2ecf20Sopenharmony_ci      maxItems: 1
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_cielse:
2458c2ecf20Sopenharmony_ci  properties:
2468c2ecf20Sopenharmony_ci    clocks:
2478c2ecf20Sopenharmony_ci      minItems: 6
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ci    clock-output-names:
2508c2ecf20Sopenharmony_ci      minItems: 3
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci    ports:
2538c2ecf20Sopenharmony_ci      required:
2548c2ecf20Sopenharmony_ci        - port@2
2558c2ecf20Sopenharmony_ci        - port@3
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciexamples:
2588c2ecf20Sopenharmony_ci  - |
2598c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
2608c2ecf20Sopenharmony_ci
2618c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/sun8i-r40-ccu.h>
2628c2ecf20Sopenharmony_ci    #include <dt-bindings/reset/sun8i-r40-ccu.h>
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ci      tcon_top: tcon-top@1c70000 {
2658c2ecf20Sopenharmony_ci          compatible = "allwinner,sun8i-r40-tcon-top";
2668c2ecf20Sopenharmony_ci          reg = <0x01c70000 0x1000>;
2678c2ecf20Sopenharmony_ci          clocks = <&ccu CLK_BUS_TCON_TOP>,
2688c2ecf20Sopenharmony_ci                   <&ccu CLK_TCON_TV0>,
2698c2ecf20Sopenharmony_ci                   <&ccu CLK_TVE0>,
2708c2ecf20Sopenharmony_ci                   <&ccu CLK_TCON_TV1>,
2718c2ecf20Sopenharmony_ci                   <&ccu CLK_TVE1>,
2728c2ecf20Sopenharmony_ci                   <&ccu CLK_DSI_DPHY>;
2738c2ecf20Sopenharmony_ci          clock-names = "bus",
2748c2ecf20Sopenharmony_ci                        "tcon-tv0",
2758c2ecf20Sopenharmony_ci                        "tve0",
2768c2ecf20Sopenharmony_ci                        "tcon-tv1",
2778c2ecf20Sopenharmony_ci                        "tve1",
2788c2ecf20Sopenharmony_ci                        "dsi";
2798c2ecf20Sopenharmony_ci          clock-output-names = "tcon-top-tv0",
2808c2ecf20Sopenharmony_ci                               "tcon-top-tv1",
2818c2ecf20Sopenharmony_ci                               "tcon-top-dsi";
2828c2ecf20Sopenharmony_ci          resets = <&ccu RST_BUS_TCON_TOP>;
2838c2ecf20Sopenharmony_ci          #clock-cells = <1>;
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci          ports {
2868c2ecf20Sopenharmony_ci              #address-cells = <1>;
2878c2ecf20Sopenharmony_ci              #size-cells = <0>;
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ci              tcon_top_mixer0_in: port@0 {
2908c2ecf20Sopenharmony_ci                  reg = <0>;
2918c2ecf20Sopenharmony_ci
2928c2ecf20Sopenharmony_ci                  tcon_top_mixer0_in_mixer0: endpoint {
2938c2ecf20Sopenharmony_ci                      remote-endpoint = <&mixer0_out_tcon_top>;
2948c2ecf20Sopenharmony_ci                  };
2958c2ecf20Sopenharmony_ci              };
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ci              tcon_top_mixer0_out: port@1 {
2988c2ecf20Sopenharmony_ci                  #address-cells = <1>;
2998c2ecf20Sopenharmony_ci                  #size-cells = <0>;
3008c2ecf20Sopenharmony_ci                  reg = <1>;
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci                  tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
3038c2ecf20Sopenharmony_ci                      reg = <0>;
3048c2ecf20Sopenharmony_ci                  };
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci                  tcon_top_mixer0_out_tcon_lcd1: endpoint@1 {
3078c2ecf20Sopenharmony_ci                      reg = <1>;
3088c2ecf20Sopenharmony_ci                  };
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ci                  tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
3118c2ecf20Sopenharmony_ci                      reg = <2>;
3128c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>;
3138c2ecf20Sopenharmony_ci                  };
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci                  tcon_top_mixer0_out_tcon_tv1: endpoint@3 {
3168c2ecf20Sopenharmony_ci                      reg = <3>;
3178c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv1_in_tcon_top_mixer0>;
3188c2ecf20Sopenharmony_ci                  };
3198c2ecf20Sopenharmony_ci              };
3208c2ecf20Sopenharmony_ci
3218c2ecf20Sopenharmony_ci              tcon_top_mixer1_in: port@2 {
3228c2ecf20Sopenharmony_ci                  #address-cells = <1>;
3238c2ecf20Sopenharmony_ci                  #size-cells = <0>;
3248c2ecf20Sopenharmony_ci                  reg = <2>;
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci                  tcon_top_mixer1_in_mixer1: endpoint@1 {
3278c2ecf20Sopenharmony_ci                      reg = <1>;
3288c2ecf20Sopenharmony_ci                      remote-endpoint = <&mixer1_out_tcon_top>;
3298c2ecf20Sopenharmony_ci                  };
3308c2ecf20Sopenharmony_ci              };
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci              tcon_top_mixer1_out: port@3 {
3338c2ecf20Sopenharmony_ci                  #address-cells = <1>;
3348c2ecf20Sopenharmony_ci                  #size-cells = <0>;
3358c2ecf20Sopenharmony_ci                  reg = <3>;
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci                  tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
3388c2ecf20Sopenharmony_ci                      reg = <0>;
3398c2ecf20Sopenharmony_ci                  };
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ci                  tcon_top_mixer1_out_tcon_lcd1: endpoint@1 {
3428c2ecf20Sopenharmony_ci                      reg = <1>;
3438c2ecf20Sopenharmony_ci                  };
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ci                  tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
3468c2ecf20Sopenharmony_ci                      reg = <2>;
3478c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>;
3488c2ecf20Sopenharmony_ci                  };
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ci                  tcon_top_mixer1_out_tcon_tv1: endpoint@3 {
3518c2ecf20Sopenharmony_ci                      reg = <3>;
3528c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv1_in_tcon_top_mixer1>;
3538c2ecf20Sopenharmony_ci                  };
3548c2ecf20Sopenharmony_ci              };
3558c2ecf20Sopenharmony_ci
3568c2ecf20Sopenharmony_ci              tcon_top_hdmi_in: port@4 {
3578c2ecf20Sopenharmony_ci                  #address-cells = <1>;
3588c2ecf20Sopenharmony_ci                  #size-cells = <0>;
3598c2ecf20Sopenharmony_ci                  reg = <4>;
3608c2ecf20Sopenharmony_ci
3618c2ecf20Sopenharmony_ci                  tcon_top_hdmi_in_tcon_tv0: endpoint@0 {
3628c2ecf20Sopenharmony_ci                      reg = <0>;
3638c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv0_out_tcon_top>;
3648c2ecf20Sopenharmony_ci                  };
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ci                  tcon_top_hdmi_in_tcon_tv1: endpoint@1 {
3678c2ecf20Sopenharmony_ci                      reg = <1>;
3688c2ecf20Sopenharmony_ci                      remote-endpoint = <&tcon_tv1_out_tcon_top>;
3698c2ecf20Sopenharmony_ci                  };
3708c2ecf20Sopenharmony_ci              };
3718c2ecf20Sopenharmony_ci
3728c2ecf20Sopenharmony_ci              tcon_top_hdmi_out: port@5 {
3738c2ecf20Sopenharmony_ci                  reg = <5>;
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ci                  tcon_top_hdmi_out_hdmi: endpoint {
3768c2ecf20Sopenharmony_ci                      remote-endpoint = <&hdmi_in_tcon_top>;
3778c2ecf20Sopenharmony_ci                  };
3788c2ecf20Sopenharmony_ci              };
3798c2ecf20Sopenharmony_ci          };
3808c2ecf20Sopenharmony_ci      };
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ci...
383