xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/renesas,dsi.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/renesas,dsi.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Renesas RZ/G2L MIPI DSI Encoder
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Biju Das <biju.das.jz@bp.renesas.com>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription: |
138bab661aSEmmanuel Vadot  This binding describes the MIPI DSI encoder embedded in the Renesas
148bab661aSEmmanuel Vadot  RZ/G2L alike family of SoC's. The encoder can operate in DSI mode, with
158bab661aSEmmanuel Vadot  up to four data lanes.
168bab661aSEmmanuel Vadot
178bab661aSEmmanuel VadotallOf:
188bab661aSEmmanuel Vadot  - $ref: /schemas/display/dsi-controller.yaml#
198bab661aSEmmanuel Vadot
208bab661aSEmmanuel Vadotproperties:
218bab661aSEmmanuel Vadot  compatible:
228bab661aSEmmanuel Vadot    items:
238bab661aSEmmanuel Vadot      - enum:
248bab661aSEmmanuel Vadot          - renesas,r9a07g044-mipi-dsi # RZ/G2{L,LC}
25*cb7aa33aSEmmanuel Vadot          - renesas,r9a07g054-mipi-dsi # RZ/V2L
268bab661aSEmmanuel Vadot      - const: renesas,rzg2l-mipi-dsi
278bab661aSEmmanuel Vadot
288bab661aSEmmanuel Vadot  reg:
298bab661aSEmmanuel Vadot    maxItems: 1
308bab661aSEmmanuel Vadot
318bab661aSEmmanuel Vadot  interrupts:
328bab661aSEmmanuel Vadot    items:
338bab661aSEmmanuel Vadot      - description: Sequence operation channel 0 interrupt
348bab661aSEmmanuel Vadot      - description: Sequence operation channel 1 interrupt
358bab661aSEmmanuel Vadot      - description: Video-Input operation channel 1 interrupt
368bab661aSEmmanuel Vadot      - description: DSI Packet Receive interrupt
378bab661aSEmmanuel Vadot      - description: DSI Fatal Error interrupt
388bab661aSEmmanuel Vadot      - description: DSI D-PHY PPI interrupt
398bab661aSEmmanuel Vadot      - description: Debug interrupt
408bab661aSEmmanuel Vadot
418bab661aSEmmanuel Vadot  interrupt-names:
428bab661aSEmmanuel Vadot    items:
438bab661aSEmmanuel Vadot      - const: seq0
448bab661aSEmmanuel Vadot      - const: seq1
458bab661aSEmmanuel Vadot      - const: vin1
468bab661aSEmmanuel Vadot      - const: rcv
478bab661aSEmmanuel Vadot      - const: ferr
488bab661aSEmmanuel Vadot      - const: ppi
498bab661aSEmmanuel Vadot      - const: debug
508bab661aSEmmanuel Vadot
518bab661aSEmmanuel Vadot  clocks:
528bab661aSEmmanuel Vadot    items:
538bab661aSEmmanuel Vadot      - description: DSI D-PHY PLL multiplied clock
548bab661aSEmmanuel Vadot      - description: DSI D-PHY system clock
558bab661aSEmmanuel Vadot      - description: DSI AXI bus clock
568bab661aSEmmanuel Vadot      - description: DSI Register access clock
578bab661aSEmmanuel Vadot      - description: DSI Video clock
588bab661aSEmmanuel Vadot      - description: DSI D-PHY Escape mode transmit clock
598bab661aSEmmanuel Vadot
608bab661aSEmmanuel Vadot  clock-names:
618bab661aSEmmanuel Vadot    items:
628bab661aSEmmanuel Vadot      - const: pllclk
638bab661aSEmmanuel Vadot      - const: sysclk
648bab661aSEmmanuel Vadot      - const: aclk
658bab661aSEmmanuel Vadot      - const: pclk
668bab661aSEmmanuel Vadot      - const: vclk
678bab661aSEmmanuel Vadot      - const: lpclk
688bab661aSEmmanuel Vadot
698bab661aSEmmanuel Vadot  resets:
708bab661aSEmmanuel Vadot    items:
718bab661aSEmmanuel Vadot      - description: MIPI_DSI_CMN_RSTB
728bab661aSEmmanuel Vadot      - description: MIPI_DSI_ARESET_N
738bab661aSEmmanuel Vadot      - description: MIPI_DSI_PRESET_N
748bab661aSEmmanuel Vadot
758bab661aSEmmanuel Vadot  reset-names:
768bab661aSEmmanuel Vadot    items:
778bab661aSEmmanuel Vadot      - const: rst
788bab661aSEmmanuel Vadot      - const: arst
798bab661aSEmmanuel Vadot      - const: prst
808bab661aSEmmanuel Vadot
818bab661aSEmmanuel Vadot  power-domains:
828bab661aSEmmanuel Vadot    maxItems: 1
838bab661aSEmmanuel Vadot
848bab661aSEmmanuel Vadot  ports:
858bab661aSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
868bab661aSEmmanuel Vadot
878bab661aSEmmanuel Vadot    properties:
888bab661aSEmmanuel Vadot      port@0:
898bab661aSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
908bab661aSEmmanuel Vadot        description: Parallel input port
918bab661aSEmmanuel Vadot
928bab661aSEmmanuel Vadot      port@1:
938bab661aSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
948bab661aSEmmanuel Vadot        unevaluatedProperties: false
958bab661aSEmmanuel Vadot        description: DSI output port
968bab661aSEmmanuel Vadot
978bab661aSEmmanuel Vadot        properties:
988bab661aSEmmanuel Vadot          endpoint:
998bab661aSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
1008bab661aSEmmanuel Vadot            unevaluatedProperties: false
1018bab661aSEmmanuel Vadot
1028bab661aSEmmanuel Vadot            properties:
1038bab661aSEmmanuel Vadot              data-lanes:
1048bab661aSEmmanuel Vadot                description: array of physical DSI data lane indexes.
1058bab661aSEmmanuel Vadot                minItems: 1
1068bab661aSEmmanuel Vadot                items:
1078bab661aSEmmanuel Vadot                  - const: 1
1088bab661aSEmmanuel Vadot                  - const: 2
1098bab661aSEmmanuel Vadot                  - const: 3
1108bab661aSEmmanuel Vadot                  - const: 4
1118bab661aSEmmanuel Vadot
1128bab661aSEmmanuel Vadot            required:
1138bab661aSEmmanuel Vadot              - data-lanes
1148bab661aSEmmanuel Vadot
1158bab661aSEmmanuel Vadot    required:
1168bab661aSEmmanuel Vadot      - port@0
1178bab661aSEmmanuel Vadot      - port@1
1188bab661aSEmmanuel Vadot
1198bab661aSEmmanuel Vadotrequired:
1208bab661aSEmmanuel Vadot  - compatible
1218bab661aSEmmanuel Vadot  - reg
1228bab661aSEmmanuel Vadot  - interrupts
1238bab661aSEmmanuel Vadot  - interrupt-names
1248bab661aSEmmanuel Vadot  - clocks
1258bab661aSEmmanuel Vadot  - clock-names
1268bab661aSEmmanuel Vadot  - resets
1278bab661aSEmmanuel Vadot  - reset-names
1288bab661aSEmmanuel Vadot  - power-domains
1298bab661aSEmmanuel Vadot  - ports
1308bab661aSEmmanuel Vadot
1318bab661aSEmmanuel VadotadditionalProperties: false
1328bab661aSEmmanuel Vadot
1338bab661aSEmmanuel Vadotexamples:
1348bab661aSEmmanuel Vadot  - |
1358bab661aSEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
1368bab661aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1378bab661aSEmmanuel Vadot
1388bab661aSEmmanuel Vadot    dsi0: dsi@10850000 {
1398bab661aSEmmanuel Vadot        compatible = "renesas,r9a07g044-mipi-dsi", "renesas,rzg2l-mipi-dsi";
1408bab661aSEmmanuel Vadot        reg = <0x10850000 0x20000>;
1418bab661aSEmmanuel Vadot        interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1428bab661aSEmmanuel Vadot                     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1438bab661aSEmmanuel Vadot                     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1448bab661aSEmmanuel Vadot                     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1458bab661aSEmmanuel Vadot                     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1468bab661aSEmmanuel Vadot                     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1478bab661aSEmmanuel Vadot                     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1488bab661aSEmmanuel Vadot        interrupt-names = "seq0", "seq1", "vin1", "rcv",
1498bab661aSEmmanuel Vadot                          "ferr", "ppi", "debug";
1508bab661aSEmmanuel Vadot        clocks = <&cpg CPG_MOD R9A07G044_MIPI_DSI_PLLCLK>,
1518bab661aSEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_SYSCLK>,
1528bab661aSEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_ACLK>,
1538bab661aSEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_PCLK>,
1548bab661aSEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_VCLK>,
1558bab661aSEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_MIPI_DSI_LPCLK>;
1568bab661aSEmmanuel Vadot        clock-names = "pllclk", "sysclk", "aclk", "pclk", "vclk", "lpclk";
1578bab661aSEmmanuel Vadot        resets = <&cpg R9A07G044_MIPI_DSI_CMN_RSTB>,
1588bab661aSEmmanuel Vadot                 <&cpg R9A07G044_MIPI_DSI_ARESET_N>,
1598bab661aSEmmanuel Vadot                 <&cpg R9A07G044_MIPI_DSI_PRESET_N>;
1608bab661aSEmmanuel Vadot        reset-names = "rst", "arst", "prst";
1618bab661aSEmmanuel Vadot        power-domains = <&cpg>;
1628bab661aSEmmanuel Vadot
1638bab661aSEmmanuel Vadot        ports {
1648bab661aSEmmanuel Vadot            #address-cells = <1>;
1658bab661aSEmmanuel Vadot            #size-cells = <0>;
1668bab661aSEmmanuel Vadot
1678bab661aSEmmanuel Vadot            port@0 {
1688bab661aSEmmanuel Vadot                reg = <0>;
1698bab661aSEmmanuel Vadot                dsi0_in: endpoint {
1708bab661aSEmmanuel Vadot                    remote-endpoint = <&du_out_dsi0>;
1718bab661aSEmmanuel Vadot                };
1728bab661aSEmmanuel Vadot            };
1738bab661aSEmmanuel Vadot
1748bab661aSEmmanuel Vadot            port@1 {
1758bab661aSEmmanuel Vadot                reg = <1>;
1768bab661aSEmmanuel Vadot                dsi0_out: endpoint {
1778bab661aSEmmanuel Vadot                    data-lanes = <1 2 3 4>;
1788bab661aSEmmanuel Vadot                    remote-endpoint = <&adv7535_in>;
1798bab661aSEmmanuel Vadot                };
1808bab661aSEmmanuel Vadot            };
1818bab661aSEmmanuel Vadot        };
1828bab661aSEmmanuel Vadot    };
1838bab661aSEmmanuel Vadot...
184