xref: /linux/Documentation/devicetree/bindings/media/renesas,vsp1.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
16a72c8d3SLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
26a72c8d3SLaurent Pinchart%YAML 1.2
36a72c8d3SLaurent Pinchart---
46a72c8d3SLaurent Pinchart$id: http://devicetree.org/schemas/media/renesas,vsp1.yaml#
56a72c8d3SLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml#
66a72c8d3SLaurent Pinchart
76a72c8d3SLaurent Pincharttitle: Renesas VSP Video Processing Engine
86a72c8d3SLaurent Pinchart
96a72c8d3SLaurent Pinchartmaintainers:
106a72c8d3SLaurent Pinchart  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
116a72c8d3SLaurent Pinchart
126a72c8d3SLaurent Pinchartdescription:
136a72c8d3SLaurent Pinchart  The VSP is a video processing engine that supports up-/down-scaling, alpha
146a72c8d3SLaurent Pinchart  blending, color space conversion and various other image processing features.
156a72c8d3SLaurent Pinchart  It can be found in the Renesas R-Car Gen2, R-Car Gen3, RZ/G1, and RZ/G2 SoCs.
166a72c8d3SLaurent Pinchart
176a72c8d3SLaurent Pinchartproperties:
186a72c8d3SLaurent Pinchart  compatible:
19b8c41ec1SBiju Das    oneOf:
20b8c41ec1SBiju Das      - enum:
2117b5179eSBiju Das          - renesas,r9a07g044-vsp2 # RZ/G2L
226a72c8d3SLaurent Pinchart          - renesas,vsp1 # R-Car Gen2 and RZ/G1
236a72c8d3SLaurent Pinchart          - renesas,vsp2 # R-Car Gen3 and RZ/G2
24b8c41ec1SBiju Das      - items:
25b8c41ec1SBiju Das          - enum:
26*97111ab5SBiju Das              - renesas,r9a07g043u-vsp2   # RZ/G2UL
27b8c41ec1SBiju Das              - renesas,r9a07g054-vsp2    # RZ/V2L
28b8c41ec1SBiju Das          - const: renesas,r9a07g044-vsp2 # RZ/G2L fallback
296a72c8d3SLaurent Pinchart
306a72c8d3SLaurent Pinchart  reg:
316a72c8d3SLaurent Pinchart    maxItems: 1
326a72c8d3SLaurent Pinchart
336a72c8d3SLaurent Pinchart  interrupts:
346a72c8d3SLaurent Pinchart    maxItems: 1
356a72c8d3SLaurent Pinchart
3617b5179eSBiju Das  clocks: true
3717b5179eSBiju Das  clock-names: true
386a72c8d3SLaurent Pinchart
39cc4fcf11SLaurent Pinchart  power-domains:
40cc4fcf11SLaurent Pinchart    maxItems: 1
41cc4fcf11SLaurent Pinchart
42cc4fcf11SLaurent Pinchart  resets:
43cc4fcf11SLaurent Pinchart    maxItems: 1
44cc4fcf11SLaurent Pinchart
456a72c8d3SLaurent Pinchart  renesas,fcp:
466a72c8d3SLaurent Pinchart    $ref: /schemas/types.yaml#/definitions/phandle
476a72c8d3SLaurent Pinchart    description:
486a72c8d3SLaurent Pinchart      A phandle referencing the FCP that handles memory accesses for the VSP.
496a72c8d3SLaurent Pinchart
506a72c8d3SLaurent Pinchartrequired:
516a72c8d3SLaurent Pinchart  - compatible
526a72c8d3SLaurent Pinchart  - reg
536a72c8d3SLaurent Pinchart  - interrupts
546a72c8d3SLaurent Pinchart  - clocks
55cc4fcf11SLaurent Pinchart  - power-domains
56cc4fcf11SLaurent Pinchart  - resets
576a72c8d3SLaurent Pinchart
586a72c8d3SLaurent PinchartadditionalProperties: false
596a72c8d3SLaurent Pinchart
6017b5179eSBiju DasallOf:
6117b5179eSBiju Das  - if:
626a72c8d3SLaurent Pinchart      properties:
636a72c8d3SLaurent Pinchart        compatible:
6417b5179eSBiju Das          contains:
6517b5179eSBiju Das            const: renesas,vsp1
666a72c8d3SLaurent Pinchart    then:
676a72c8d3SLaurent Pinchart      properties:
686a72c8d3SLaurent Pinchart        renesas,fcp: false
696a72c8d3SLaurent Pinchart    else:
706a72c8d3SLaurent Pinchart      required:
716a72c8d3SLaurent Pinchart        - renesas,fcp
726a72c8d3SLaurent Pinchart
7317b5179eSBiju Das  - if:
7417b5179eSBiju Das      properties:
7517b5179eSBiju Das        compatible:
7617b5179eSBiju Das          contains:
7717b5179eSBiju Das            const: renesas,r9a07g044-vsp2
7817b5179eSBiju Das    then:
7917b5179eSBiju Das      properties:
8017b5179eSBiju Das        clocks:
8117b5179eSBiju Das          items:
8217b5179eSBiju Das            - description: Main clock
8317b5179eSBiju Das            - description: Register access clock
8417b5179eSBiju Das            - description: Video clock
8517b5179eSBiju Das        clock-names:
8617b5179eSBiju Das          items:
8717b5179eSBiju Das            - const: aclk
8817b5179eSBiju Das            - const: pclk
8917b5179eSBiju Das            - const: vclk
9017b5179eSBiju Das      required:
9117b5179eSBiju Das        - clock-names
9217b5179eSBiju Das    else:
9317b5179eSBiju Das      properties:
9417b5179eSBiju Das        clocks:
9517b5179eSBiju Das          maxItems: 1
9617b5179eSBiju Das        clock-names: false
9717b5179eSBiju Das
986a72c8d3SLaurent Pinchartexamples:
996a72c8d3SLaurent Pinchart  # R8A7790 (R-Car H2) VSP1-S
1006a72c8d3SLaurent Pinchart  - |
1016a72c8d3SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1026a72c8d3SLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
103cc4fcf11SLaurent Pinchart    #include <dt-bindings/power/r8a7790-sysc.h>
1046a72c8d3SLaurent Pinchart
1056a72c8d3SLaurent Pinchart    vsp@fe928000 {
1066a72c8d3SLaurent Pinchart        compatible = "renesas,vsp1";
1076a72c8d3SLaurent Pinchart        reg = <0xfe928000 0x8000>;
1086a72c8d3SLaurent Pinchart        interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1096a72c8d3SLaurent Pinchart        clocks = <&cpg CPG_MOD 131>;
110cc4fcf11SLaurent Pinchart        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
111cc4fcf11SLaurent Pinchart        resets = <&cpg 131>;
1126a72c8d3SLaurent Pinchart    };
1136a72c8d3SLaurent Pinchart
1146a72c8d3SLaurent Pinchart  # R8A77951 (R-Car H3) VSP2-BC
1156a72c8d3SLaurent Pinchart  - |
1166a72c8d3SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1176a72c8d3SLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
118cc4fcf11SLaurent Pinchart    #include <dt-bindings/power/r8a7795-sysc.h>
1196a72c8d3SLaurent Pinchart
1206a72c8d3SLaurent Pinchart    vsp@fe920000 {
1216a72c8d3SLaurent Pinchart        compatible = "renesas,vsp2";
1226a72c8d3SLaurent Pinchart        reg = <0xfe920000 0x8000>;
1236a72c8d3SLaurent Pinchart        interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
1246a72c8d3SLaurent Pinchart        clocks = <&cpg CPG_MOD 624>;
125cc4fcf11SLaurent Pinchart        power-domains = <&sysc R8A7795_PD_A3VP>;
126cc4fcf11SLaurent Pinchart        resets = <&cpg 624>;
1276a72c8d3SLaurent Pinchart
1286a72c8d3SLaurent Pinchart        renesas,fcp = <&fcpvb1>;
1296a72c8d3SLaurent Pinchart    };
1306a72c8d3SLaurent Pinchart...
131