| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/display/bridge/renesas,dsi.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Renesas RZ/G2L MIPI DSI Encoder |
| |
| maintainers: |
| - Biju Das <biju.das.jz@bp.renesas.com> |
| |
| description: | |
| This binding describes the MIPI DSI encoder embedded in the Renesas |
| RZ/G2L alike family of SoC's. The encoder can operate in DSI mode, with |
| up to four data lanes. |
| |
| allOf: |
| - $ref: /schemas/display/dsi-controller.yaml# |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - renesas,r9a07g044-mipi-dsi # RZ/G2{L,LC} |
| - renesas,r9a07g054-mipi-dsi # RZ/V2L |
| - const: renesas,rzg2l-mipi-dsi |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| items: |
| - description: Sequence operation channel 0 interrupt |
| - description: Sequence operation channel 1 interrupt |
| - description: Video-Input operation channel 1 interrupt |
| - description: DSI Packet Receive interrupt |
| - description: DSI Fatal Error interrupt |
| - description: DSI D-PHY PPI interrupt |
| - description: Debug interrupt |
| |
| interrupt-names: |
| items: |
| - const: seq0 |
| - const: seq1 |
| - const: vin1 |
| - const: rcv |
| - const: ferr |
| - const: ppi |
| - const: debug |
| |
| clocks: |
| items: |
| - description: DSI D-PHY PLL multiplied clock |
| - description: DSI D-PHY system clock |
| - description: DSI AXI bus clock |
| - description: DSI Register access clock |
| - description: DSI Video clock |
| - description: DSI D-PHY Escape mode transmit clock |
| |
| clock-names: |
| items: |
| - const: pllclk |
| - const: sysclk |
| - const: aclk |
| - const: pclk |
| - const: vclk |
| - const: lpclk |
| |
| resets: |
| items: |
| - description: MIPI_DSI_CMN_RSTB |
| - description: MIPI_DSI_ARESET_N |
| - description: MIPI_DSI_PRESET_N |
| |
| reset-names: |
| items: |
| - const: rst |
| - const: arst |
| - const: prst |
| |
| power-domains: |
| maxItems: 1 |
| |
| ports: |
| $ref: /schemas/graph.yaml#/properties/ports |
| |
| properties: |
| port@0: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: Parallel input port |
| |
| port@1: |
| $ref: /schemas/graph.yaml#/$defs/port-base |
| unevaluatedProperties: false |
| description: DSI output port |
| |
| properties: |
| endpoint: |
| $ref: /schemas/media/video-interfaces.yaml# |
| unevaluatedProperties: false |
| |
| properties: |
| data-lanes: |
| description: array of physical DSI data lane indexes. |
| minItems: 1 |
| items: |
| - const: 1 |
| - const: 2 |
| - const: 3 |
| - const: 4 |
| |
| required: |
| - data-lanes |
| |
| required: |
| - port@0 |
| - port@1 |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - interrupt-names |
| - clocks |
| - clock-names |
| - resets |
| - reset-names |
| - power-domains |
| - ports |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/r9a07g044-cpg.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| |
| dsi0: dsi@10850000 { |
| compatible = "renesas,r9a07g044-mipi-dsi", "renesas,rzg2l-mipi-dsi"; |
| reg = <0x10850000 0x20000>; |
| interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "seq0", "seq1", "vin1", "rcv", |
| "ferr", "ppi", "debug"; |
| clocks = <&cpg CPG_MOD R9A07G044_MIPI_DSI_PLLCLK>, |
| <&cpg CPG_MOD R9A07G044_MIPI_DSI_SYSCLK>, |
| <&cpg CPG_MOD R9A07G044_MIPI_DSI_ACLK>, |
| <&cpg CPG_MOD R9A07G044_MIPI_DSI_PCLK>, |
| <&cpg CPG_MOD R9A07G044_MIPI_DSI_VCLK>, |
| <&cpg CPG_MOD R9A07G044_MIPI_DSI_LPCLK>; |
| clock-names = "pllclk", "sysclk", "aclk", "pclk", "vclk", "lpclk"; |
| resets = <&cpg R9A07G044_MIPI_DSI_CMN_RSTB>, |
| <&cpg R9A07G044_MIPI_DSI_ARESET_N>, |
| <&cpg R9A07G044_MIPI_DSI_PRESET_N>; |
| reset-names = "rst", "arst", "prst"; |
| power-domains = <&cpg>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| dsi0_in: endpoint { |
| remote-endpoint = <&du_out_dsi0>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| dsi0_out: endpoint { |
| data-lanes = <1 2 3 4>; |
| remote-endpoint = <&adv7535_in>; |
| }; |
| }; |
| }; |
| }; |
| ... |