1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/renesas,lvds.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Renesas R-Car LVDS Encoder 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot These DT bindings describe the LVDS encoder embedded in the Renesas R-Car 14c66ec88fSEmmanuel Vadot Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs. 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadotproperties: 17c66ec88fSEmmanuel Vadot compatible: 18c66ec88fSEmmanuel Vadot enum: 196be33864SEmmanuel Vadot - renesas,r8a7742-lvds # for RZ/G1H compatible LVDS encoders 20c66ec88fSEmmanuel Vadot - renesas,r8a7743-lvds # for RZ/G1M compatible LVDS encoders 21c66ec88fSEmmanuel Vadot - renesas,r8a7744-lvds # for RZ/G1N compatible LVDS encoders 22c66ec88fSEmmanuel Vadot - renesas,r8a774a1-lvds # for RZ/G2M compatible LVDS encoders 23c66ec88fSEmmanuel Vadot - renesas,r8a774b1-lvds # for RZ/G2N compatible LVDS encoders 24c66ec88fSEmmanuel Vadot - renesas,r8a774c0-lvds # for RZ/G2E compatible LVDS encoders 256be33864SEmmanuel Vadot - renesas,r8a774e1-lvds # for RZ/G2H compatible LVDS encoders 26c66ec88fSEmmanuel Vadot - renesas,r8a7790-lvds # for R-Car H2 compatible LVDS encoders 27c66ec88fSEmmanuel Vadot - renesas,r8a7791-lvds # for R-Car M2-W compatible LVDS encoders 28c66ec88fSEmmanuel Vadot - renesas,r8a7793-lvds # for R-Car M2-N compatible LVDS encoders 29c66ec88fSEmmanuel Vadot - renesas,r8a7795-lvds # for R-Car H3 compatible LVDS encoders 30c66ec88fSEmmanuel Vadot - renesas,r8a7796-lvds # for R-Car M3-W compatible LVDS encoders 31*c9ccf3a3SEmmanuel Vadot - renesas,r8a77961-lvds # for R-Car M3-W+ compatible LVDS encoders 32c66ec88fSEmmanuel Vadot - renesas,r8a77965-lvds # for R-Car M3-N compatible LVDS encoders 33c66ec88fSEmmanuel Vadot - renesas,r8a77970-lvds # for R-Car V3M compatible LVDS encoders 34c66ec88fSEmmanuel Vadot - renesas,r8a77980-lvds # for R-Car V3H compatible LVDS encoders 35c66ec88fSEmmanuel Vadot - renesas,r8a77990-lvds # for R-Car E3 compatible LVDS encoders 36c66ec88fSEmmanuel Vadot - renesas,r8a77995-lvds # for R-Car D3 compatible LVDS encoders 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel Vadot reg: 39c66ec88fSEmmanuel Vadot maxItems: 1 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot clocks: 42c66ec88fSEmmanuel Vadot minItems: 1 43c66ec88fSEmmanuel Vadot maxItems: 4 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot clock-names: 46c66ec88fSEmmanuel Vadot minItems: 1 47c66ec88fSEmmanuel Vadot maxItems: 4 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot resets: 50c66ec88fSEmmanuel Vadot maxItems: 1 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot ports: 535def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot properties: 56c66ec88fSEmmanuel Vadot port@0: 575def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 58c66ec88fSEmmanuel Vadot description: Parallel RGB input port 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot port@1: 615def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 62c66ec88fSEmmanuel Vadot description: LVDS output port 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot required: 65c66ec88fSEmmanuel Vadot - port@0 66c66ec88fSEmmanuel Vadot - port@1 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot power-domains: 69c66ec88fSEmmanuel Vadot maxItems: 1 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot renesas,companion: 72c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 73c66ec88fSEmmanuel Vadot description: 74c66ec88fSEmmanuel Vadot phandle to the companion LVDS encoder. This property is mandatory 755def4c47SEmmanuel Vadot for the first LVDS encoder on R-Car D3 and E3, and RZ/G2E SoCs, and shall 765def4c47SEmmanuel Vadot point to the second encoder to be used as a companion in dual-link mode. 775def4c47SEmmanuel Vadot It shall not be set for any other LVDS encoder. 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadotrequired: 80c66ec88fSEmmanuel Vadot - compatible 81c66ec88fSEmmanuel Vadot - reg 82c66ec88fSEmmanuel Vadot - clocks 83c66ec88fSEmmanuel Vadot - power-domains 84c66ec88fSEmmanuel Vadot - resets 85c66ec88fSEmmanuel Vadot - ports 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadotif: 88c66ec88fSEmmanuel Vadot properties: 89c66ec88fSEmmanuel Vadot compatible: 90c66ec88fSEmmanuel Vadot enum: 91c66ec88fSEmmanuel Vadot - renesas,r8a774c0-lvds 92c66ec88fSEmmanuel Vadot - renesas,r8a77990-lvds 93c66ec88fSEmmanuel Vadot - renesas,r8a77995-lvds 94c66ec88fSEmmanuel Vadotthen: 95c66ec88fSEmmanuel Vadot properties: 96c66ec88fSEmmanuel Vadot clocks: 97c66ec88fSEmmanuel Vadot minItems: 1 98c66ec88fSEmmanuel Vadot items: 99c66ec88fSEmmanuel Vadot - description: Functional clock 100c66ec88fSEmmanuel Vadot - description: EXTAL input clock 101c66ec88fSEmmanuel Vadot - description: DU_DOTCLKIN0 input clock 102c66ec88fSEmmanuel Vadot - description: DU_DOTCLKIN1 input clock 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot clock-names: 105c66ec88fSEmmanuel Vadot minItems: 1 106c66ec88fSEmmanuel Vadot items: 107c66ec88fSEmmanuel Vadot - const: fck 108c66ec88fSEmmanuel Vadot # The LVDS encoder can use the EXTAL or DU_DOTCLKINx clocks. 109c66ec88fSEmmanuel Vadot # These clocks are optional. 110c66ec88fSEmmanuel Vadot - enum: 111c66ec88fSEmmanuel Vadot - extal 112c66ec88fSEmmanuel Vadot - dclkin.0 113c66ec88fSEmmanuel Vadot - dclkin.1 114c66ec88fSEmmanuel Vadot - enum: 115c66ec88fSEmmanuel Vadot - extal 116c66ec88fSEmmanuel Vadot - dclkin.0 117c66ec88fSEmmanuel Vadot - dclkin.1 118c66ec88fSEmmanuel Vadot - enum: 119c66ec88fSEmmanuel Vadot - extal 120c66ec88fSEmmanuel Vadot - dclkin.0 121c66ec88fSEmmanuel Vadot - dclkin.1 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot required: 124c66ec88fSEmmanuel Vadot - clock-names 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadotelse: 127c66ec88fSEmmanuel Vadot properties: 128c66ec88fSEmmanuel Vadot clocks: 129c66ec88fSEmmanuel Vadot items: 130c66ec88fSEmmanuel Vadot - description: Functional clock 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot clock-names: 133c66ec88fSEmmanuel Vadot items: 134c66ec88fSEmmanuel Vadot - const: fck 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot renesas,companion: false 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel VadotadditionalProperties: false 139c66ec88fSEmmanuel Vadot 140c66ec88fSEmmanuel Vadotexamples: 141c66ec88fSEmmanuel Vadot - | 142c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/renesas-cpg-mssr.h> 143c66ec88fSEmmanuel Vadot #include <dt-bindings/power/r8a7795-sysc.h> 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot lvds@feb90000 { 146c66ec88fSEmmanuel Vadot compatible = "renesas,r8a7795-lvds"; 147c66ec88fSEmmanuel Vadot reg = <0xfeb90000 0x14>; 148c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 727>; 149c66ec88fSEmmanuel Vadot power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 150c66ec88fSEmmanuel Vadot resets = <&cpg 727>; 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot ports { 153c66ec88fSEmmanuel Vadot #address-cells = <1>; 154c66ec88fSEmmanuel Vadot #size-cells = <0>; 155c66ec88fSEmmanuel Vadot 156c66ec88fSEmmanuel Vadot port@0 { 157c66ec88fSEmmanuel Vadot reg = <0>; 158c66ec88fSEmmanuel Vadot lvds_in: endpoint { 159c66ec88fSEmmanuel Vadot remote-endpoint = <&du_out_lvds0>; 160c66ec88fSEmmanuel Vadot }; 161c66ec88fSEmmanuel Vadot }; 162c66ec88fSEmmanuel Vadot port@1 { 163c66ec88fSEmmanuel Vadot reg = <1>; 164c66ec88fSEmmanuel Vadot lvds_out: endpoint { 165c66ec88fSEmmanuel Vadot remote-endpoint = <&panel_in>; 166c66ec88fSEmmanuel Vadot }; 167c66ec88fSEmmanuel Vadot }; 168c66ec88fSEmmanuel Vadot }; 169c66ec88fSEmmanuel Vadot }; 170c66ec88fSEmmanuel Vadot 171c66ec88fSEmmanuel Vadot - | 172c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/renesas-cpg-mssr.h> 173c66ec88fSEmmanuel Vadot #include <dt-bindings/power/r8a77990-sysc.h> 174c66ec88fSEmmanuel Vadot 175c66ec88fSEmmanuel Vadot lvds0: lvds@feb90000 { 176c66ec88fSEmmanuel Vadot compatible = "renesas,r8a77990-lvds"; 177c66ec88fSEmmanuel Vadot reg = <0xfeb90000 0x20>; 178c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 727>, 179c66ec88fSEmmanuel Vadot <&x13_clk>, 180c66ec88fSEmmanuel Vadot <&extal_clk>; 181c66ec88fSEmmanuel Vadot clock-names = "fck", "dclkin.0", "extal"; 182c66ec88fSEmmanuel Vadot power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 183c66ec88fSEmmanuel Vadot resets = <&cpg 727>; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot renesas,companion = <&lvds1>; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot ports { 188c66ec88fSEmmanuel Vadot #address-cells = <1>; 189c66ec88fSEmmanuel Vadot #size-cells = <0>; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot port@0 { 192c66ec88fSEmmanuel Vadot reg = <0>; 193c66ec88fSEmmanuel Vadot lvds0_in: endpoint { 194c66ec88fSEmmanuel Vadot remote-endpoint = <&du_out_lvds0>; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot }; 197c66ec88fSEmmanuel Vadot port@1 { 198c66ec88fSEmmanuel Vadot reg = <1>; 199c66ec88fSEmmanuel Vadot lvds0_out: endpoint { 200c66ec88fSEmmanuel Vadot remote-endpoint = <&panel_in1>; 201c66ec88fSEmmanuel Vadot }; 202c66ec88fSEmmanuel Vadot }; 203c66ec88fSEmmanuel Vadot }; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot lvds1: lvds@feb90100 { 207c66ec88fSEmmanuel Vadot compatible = "renesas,r8a77990-lvds"; 208c66ec88fSEmmanuel Vadot reg = <0xfeb90100 0x20>; 209c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 727>, 210c66ec88fSEmmanuel Vadot <&x13_clk>, 211c66ec88fSEmmanuel Vadot <&extal_clk>; 212c66ec88fSEmmanuel Vadot clock-names = "fck", "dclkin.0", "extal"; 213c66ec88fSEmmanuel Vadot power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 214c66ec88fSEmmanuel Vadot resets = <&cpg 726>; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot ports { 217c66ec88fSEmmanuel Vadot #address-cells = <1>; 218c66ec88fSEmmanuel Vadot #size-cells = <0>; 219c66ec88fSEmmanuel Vadot 220c66ec88fSEmmanuel Vadot port@0 { 221c66ec88fSEmmanuel Vadot reg = <0>; 222c66ec88fSEmmanuel Vadot lvds1_in: endpoint { 223c66ec88fSEmmanuel Vadot remote-endpoint = <&du_out_lvds1>; 224c66ec88fSEmmanuel Vadot }; 225c66ec88fSEmmanuel Vadot }; 226c66ec88fSEmmanuel Vadot port@1 { 227c66ec88fSEmmanuel Vadot reg = <1>; 228c66ec88fSEmmanuel Vadot lvds1_out: endpoint { 229c66ec88fSEmmanuel Vadot remote-endpoint = <&panel_in2>; 230c66ec88fSEmmanuel Vadot }; 231c66ec88fSEmmanuel Vadot }; 232c66ec88fSEmmanuel Vadot }; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot... 236