18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/renesas,lvds.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Renesas R-Car LVDS Encoder 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci These DT bindings describe the LVDS encoder embedded in the Renesas R-Car 148c2ecf20Sopenharmony_ci Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciproperties: 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci enum: 198c2ecf20Sopenharmony_ci - renesas,r8a7742-lvds # for RZ/G1H compatible LVDS encoders 208c2ecf20Sopenharmony_ci - renesas,r8a7743-lvds # for RZ/G1M compatible LVDS encoders 218c2ecf20Sopenharmony_ci - renesas,r8a7744-lvds # for RZ/G1N compatible LVDS encoders 228c2ecf20Sopenharmony_ci - renesas,r8a774a1-lvds # for RZ/G2M compatible LVDS encoders 238c2ecf20Sopenharmony_ci - renesas,r8a774b1-lvds # for RZ/G2N compatible LVDS encoders 248c2ecf20Sopenharmony_ci - renesas,r8a774c0-lvds # for RZ/G2E compatible LVDS encoders 258c2ecf20Sopenharmony_ci - renesas,r8a774e1-lvds # for RZ/G2H compatible LVDS encoders 268c2ecf20Sopenharmony_ci - renesas,r8a7790-lvds # for R-Car H2 compatible LVDS encoders 278c2ecf20Sopenharmony_ci - renesas,r8a7791-lvds # for R-Car M2-W compatible LVDS encoders 288c2ecf20Sopenharmony_ci - renesas,r8a7793-lvds # for R-Car M2-N compatible LVDS encoders 298c2ecf20Sopenharmony_ci - renesas,r8a7795-lvds # for R-Car H3 compatible LVDS encoders 308c2ecf20Sopenharmony_ci - renesas,r8a7796-lvds # for R-Car M3-W compatible LVDS encoders 318c2ecf20Sopenharmony_ci - renesas,r8a77965-lvds # for R-Car M3-N compatible LVDS encoders 328c2ecf20Sopenharmony_ci - renesas,r8a77970-lvds # for R-Car V3M compatible LVDS encoders 338c2ecf20Sopenharmony_ci - renesas,r8a77980-lvds # for R-Car V3H compatible LVDS encoders 348c2ecf20Sopenharmony_ci - renesas,r8a77990-lvds # for R-Car E3 compatible LVDS encoders 358c2ecf20Sopenharmony_ci - renesas,r8a77995-lvds # for R-Car D3 compatible LVDS encoders 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci reg: 388c2ecf20Sopenharmony_ci maxItems: 1 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci clocks: 418c2ecf20Sopenharmony_ci minItems: 1 428c2ecf20Sopenharmony_ci maxItems: 4 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci clock-names: 458c2ecf20Sopenharmony_ci minItems: 1 468c2ecf20Sopenharmony_ci maxItems: 4 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci resets: 498c2ecf20Sopenharmony_ci maxItems: 1 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci ports: 528c2ecf20Sopenharmony_ci type: object 538c2ecf20Sopenharmony_ci description: | 548c2ecf20Sopenharmony_ci This device has two video ports. Their connections are modelled using the 558c2ecf20Sopenharmony_ci OF graph bindings specified in Documentation/devicetree/bindings/graph.txt. 568c2ecf20Sopenharmony_ci Each port shall have a single endpoint. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci properties: 598c2ecf20Sopenharmony_ci '#address-cells': 608c2ecf20Sopenharmony_ci const: 1 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci '#size-cells': 638c2ecf20Sopenharmony_ci const: 0 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci port@0: 668c2ecf20Sopenharmony_ci type: object 678c2ecf20Sopenharmony_ci description: Parallel RGB input port 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci port@1: 708c2ecf20Sopenharmony_ci type: object 718c2ecf20Sopenharmony_ci description: LVDS output port 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci required: 748c2ecf20Sopenharmony_ci - port@0 758c2ecf20Sopenharmony_ci - port@1 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci additionalProperties: false 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci power-domains: 808c2ecf20Sopenharmony_ci maxItems: 1 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci renesas,companion: 838c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 848c2ecf20Sopenharmony_ci description: 858c2ecf20Sopenharmony_ci phandle to the companion LVDS encoder. This property is mandatory 868c2ecf20Sopenharmony_ci for the first LVDS encoder on D3 and E3 SoCs, and shall point to 878c2ecf20Sopenharmony_ci the second encoder to be used as a companion in dual-link mode. It 888c2ecf20Sopenharmony_ci shall not be set for any other LVDS encoder. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_cirequired: 918c2ecf20Sopenharmony_ci - compatible 928c2ecf20Sopenharmony_ci - reg 938c2ecf20Sopenharmony_ci - clocks 948c2ecf20Sopenharmony_ci - power-domains 958c2ecf20Sopenharmony_ci - resets 968c2ecf20Sopenharmony_ci - ports 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciif: 998c2ecf20Sopenharmony_ci properties: 1008c2ecf20Sopenharmony_ci compatible: 1018c2ecf20Sopenharmony_ci enum: 1028c2ecf20Sopenharmony_ci - renesas,r8a774c0-lvds 1038c2ecf20Sopenharmony_ci - renesas,r8a77990-lvds 1048c2ecf20Sopenharmony_ci - renesas,r8a77995-lvds 1058c2ecf20Sopenharmony_cithen: 1068c2ecf20Sopenharmony_ci properties: 1078c2ecf20Sopenharmony_ci clocks: 1088c2ecf20Sopenharmony_ci minItems: 1 1098c2ecf20Sopenharmony_ci maxItems: 4 1108c2ecf20Sopenharmony_ci items: 1118c2ecf20Sopenharmony_ci - description: Functional clock 1128c2ecf20Sopenharmony_ci - description: EXTAL input clock 1138c2ecf20Sopenharmony_ci - description: DU_DOTCLKIN0 input clock 1148c2ecf20Sopenharmony_ci - description: DU_DOTCLKIN1 input clock 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci clock-names: 1178c2ecf20Sopenharmony_ci minItems: 1 1188c2ecf20Sopenharmony_ci maxItems: 4 1198c2ecf20Sopenharmony_ci items: 1208c2ecf20Sopenharmony_ci - const: fck 1218c2ecf20Sopenharmony_ci # The LVDS encoder can use the EXTAL or DU_DOTCLKINx clocks. 1228c2ecf20Sopenharmony_ci # These clocks are optional. 1238c2ecf20Sopenharmony_ci - enum: 1248c2ecf20Sopenharmony_ci - extal 1258c2ecf20Sopenharmony_ci - dclkin.0 1268c2ecf20Sopenharmony_ci - dclkin.1 1278c2ecf20Sopenharmony_ci - enum: 1288c2ecf20Sopenharmony_ci - extal 1298c2ecf20Sopenharmony_ci - dclkin.0 1308c2ecf20Sopenharmony_ci - dclkin.1 1318c2ecf20Sopenharmony_ci - enum: 1328c2ecf20Sopenharmony_ci - extal 1338c2ecf20Sopenharmony_ci - dclkin.0 1348c2ecf20Sopenharmony_ci - dclkin.1 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci required: 1378c2ecf20Sopenharmony_ci - clock-names 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_cielse: 1408c2ecf20Sopenharmony_ci properties: 1418c2ecf20Sopenharmony_ci clocks: 1428c2ecf20Sopenharmony_ci maxItems: 1 1438c2ecf20Sopenharmony_ci items: 1448c2ecf20Sopenharmony_ci - description: Functional clock 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci clock-names: 1478c2ecf20Sopenharmony_ci maxItems: 1 1488c2ecf20Sopenharmony_ci items: 1498c2ecf20Sopenharmony_ci - const: fck 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci renesas,companion: false 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciadditionalProperties: false 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciexamples: 1568c2ecf20Sopenharmony_ci - | 1578c2ecf20Sopenharmony_ci #include <dt-bindings/clock/renesas-cpg-mssr.h> 1588c2ecf20Sopenharmony_ci #include <dt-bindings/power/r8a7795-sysc.h> 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci lvds@feb90000 { 1618c2ecf20Sopenharmony_ci compatible = "renesas,r8a7795-lvds"; 1628c2ecf20Sopenharmony_ci reg = <0xfeb90000 0x14>; 1638c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 727>; 1648c2ecf20Sopenharmony_ci power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1658c2ecf20Sopenharmony_ci resets = <&cpg 727>; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci ports { 1688c2ecf20Sopenharmony_ci #address-cells = <1>; 1698c2ecf20Sopenharmony_ci #size-cells = <0>; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci port@0 { 1728c2ecf20Sopenharmony_ci reg = <0>; 1738c2ecf20Sopenharmony_ci lvds_in: endpoint { 1748c2ecf20Sopenharmony_ci remote-endpoint = <&du_out_lvds0>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci port@1 { 1788c2ecf20Sopenharmony_ci reg = <1>; 1798c2ecf20Sopenharmony_ci lvds_out: endpoint { 1808c2ecf20Sopenharmony_ci remote-endpoint = <&panel_in>; 1818c2ecf20Sopenharmony_ci }; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci }; 1848c2ecf20Sopenharmony_ci }; 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci - | 1878c2ecf20Sopenharmony_ci #include <dt-bindings/clock/renesas-cpg-mssr.h> 1888c2ecf20Sopenharmony_ci #include <dt-bindings/power/r8a77990-sysc.h> 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci lvds0: lvds@feb90000 { 1918c2ecf20Sopenharmony_ci compatible = "renesas,r8a77990-lvds"; 1928c2ecf20Sopenharmony_ci reg = <0xfeb90000 0x20>; 1938c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 727>, 1948c2ecf20Sopenharmony_ci <&x13_clk>, 1958c2ecf20Sopenharmony_ci <&extal_clk>; 1968c2ecf20Sopenharmony_ci clock-names = "fck", "dclkin.0", "extal"; 1978c2ecf20Sopenharmony_ci power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 1988c2ecf20Sopenharmony_ci resets = <&cpg 727>; 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci renesas,companion = <&lvds1>; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci ports { 2038c2ecf20Sopenharmony_ci #address-cells = <1>; 2048c2ecf20Sopenharmony_ci #size-cells = <0>; 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci port@0 { 2078c2ecf20Sopenharmony_ci reg = <0>; 2088c2ecf20Sopenharmony_ci lvds0_in: endpoint { 2098c2ecf20Sopenharmony_ci remote-endpoint = <&du_out_lvds0>; 2108c2ecf20Sopenharmony_ci }; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci port@1 { 2138c2ecf20Sopenharmony_ci reg = <1>; 2148c2ecf20Sopenharmony_ci lvds0_out: endpoint { 2158c2ecf20Sopenharmony_ci remote-endpoint = <&panel_in1>; 2168c2ecf20Sopenharmony_ci }; 2178c2ecf20Sopenharmony_ci }; 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci }; 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci lvds1: lvds@feb90100 { 2228c2ecf20Sopenharmony_ci compatible = "renesas,r8a77990-lvds"; 2238c2ecf20Sopenharmony_ci reg = <0xfeb90100 0x20>; 2248c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 727>, 2258c2ecf20Sopenharmony_ci <&x13_clk>, 2268c2ecf20Sopenharmony_ci <&extal_clk>; 2278c2ecf20Sopenharmony_ci clock-names = "fck", "dclkin.0", "extal"; 2288c2ecf20Sopenharmony_ci power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 2298c2ecf20Sopenharmony_ci resets = <&cpg 726>; 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ci ports { 2328c2ecf20Sopenharmony_ci #address-cells = <1>; 2338c2ecf20Sopenharmony_ci #size-cells = <0>; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci port@0 { 2368c2ecf20Sopenharmony_ci reg = <0>; 2378c2ecf20Sopenharmony_ci lvds1_in: endpoint { 2388c2ecf20Sopenharmony_ci remote-endpoint = <&du_out_lvds1>; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci }; 2418c2ecf20Sopenharmony_ci port@1 { 2428c2ecf20Sopenharmony_ci reg = <1>; 2438c2ecf20Sopenharmony_ci lvds1_out: endpoint { 2448c2ecf20Sopenharmony_ci remote-endpoint = <&panel_in2>; 2458c2ecf20Sopenharmony_ci }; 2468c2ecf20Sopenharmony_ci }; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci }; 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci... 251