xref: /openbmc/linux/Documentation/devicetree/bindings/media/renesas,vsp1.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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:
19*b8c41ec1SBiju Das    oneOf:
20*b8c41ec1SBiju 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
24*b8c41ec1SBiju Das      - items:
25*b8c41ec1SBiju Das          - enum:
26*b8c41ec1SBiju Das              - renesas,r9a07g054-vsp2    # RZ/V2L
27*b8c41ec1SBiju Das          - const: renesas,r9a07g044-vsp2 # RZ/G2L fallback
286a72c8d3SLaurent Pinchart
296a72c8d3SLaurent Pinchart  reg:
306a72c8d3SLaurent Pinchart    maxItems: 1
316a72c8d3SLaurent Pinchart
326a72c8d3SLaurent Pinchart  interrupts:
336a72c8d3SLaurent Pinchart    maxItems: 1
346a72c8d3SLaurent Pinchart
3517b5179eSBiju Das  clocks: true
3617b5179eSBiju Das  clock-names: true
376a72c8d3SLaurent Pinchart
38cc4fcf11SLaurent Pinchart  power-domains:
39cc4fcf11SLaurent Pinchart    maxItems: 1
40cc4fcf11SLaurent Pinchart
41cc4fcf11SLaurent Pinchart  resets:
42cc4fcf11SLaurent Pinchart    maxItems: 1
43cc4fcf11SLaurent Pinchart
446a72c8d3SLaurent Pinchart  renesas,fcp:
456a72c8d3SLaurent Pinchart    $ref: /schemas/types.yaml#/definitions/phandle
466a72c8d3SLaurent Pinchart    description:
476a72c8d3SLaurent Pinchart      A phandle referencing the FCP that handles memory accesses for the VSP.
486a72c8d3SLaurent Pinchart
496a72c8d3SLaurent Pinchartrequired:
506a72c8d3SLaurent Pinchart  - compatible
516a72c8d3SLaurent Pinchart  - reg
526a72c8d3SLaurent Pinchart  - interrupts
536a72c8d3SLaurent Pinchart  - clocks
54cc4fcf11SLaurent Pinchart  - power-domains
55cc4fcf11SLaurent Pinchart  - resets
566a72c8d3SLaurent Pinchart
576a72c8d3SLaurent PinchartadditionalProperties: false
586a72c8d3SLaurent Pinchart
5917b5179eSBiju DasallOf:
6017b5179eSBiju Das  - if:
616a72c8d3SLaurent Pinchart      properties:
626a72c8d3SLaurent Pinchart        compatible:
6317b5179eSBiju Das          contains:
6417b5179eSBiju Das            const: renesas,vsp1
656a72c8d3SLaurent Pinchart    then:
666a72c8d3SLaurent Pinchart      properties:
676a72c8d3SLaurent Pinchart        renesas,fcp: false
686a72c8d3SLaurent Pinchart    else:
696a72c8d3SLaurent Pinchart      required:
706a72c8d3SLaurent Pinchart        - renesas,fcp
716a72c8d3SLaurent Pinchart
7217b5179eSBiju Das  - if:
7317b5179eSBiju Das      properties:
7417b5179eSBiju Das        compatible:
7517b5179eSBiju Das          contains:
7617b5179eSBiju Das            const: renesas,r9a07g044-vsp2
7717b5179eSBiju Das    then:
7817b5179eSBiju Das      properties:
7917b5179eSBiju Das        clocks:
8017b5179eSBiju Das          items:
8117b5179eSBiju Das            - description: Main clock
8217b5179eSBiju Das            - description: Register access clock
8317b5179eSBiju Das            - description: Video clock
8417b5179eSBiju Das        clock-names:
8517b5179eSBiju Das          items:
8617b5179eSBiju Das            - const: aclk
8717b5179eSBiju Das            - const: pclk
8817b5179eSBiju Das            - const: vclk
8917b5179eSBiju Das      required:
9017b5179eSBiju Das        - clock-names
9117b5179eSBiju Das    else:
9217b5179eSBiju Das      properties:
9317b5179eSBiju Das        clocks:
9417b5179eSBiju Das          maxItems: 1
9517b5179eSBiju Das        clock-names: false
9617b5179eSBiju Das
976a72c8d3SLaurent Pinchartexamples:
986a72c8d3SLaurent Pinchart  # R8A7790 (R-Car H2) VSP1-S
996a72c8d3SLaurent Pinchart  - |
1006a72c8d3SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1016a72c8d3SLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
102cc4fcf11SLaurent Pinchart    #include <dt-bindings/power/r8a7790-sysc.h>
1036a72c8d3SLaurent Pinchart
1046a72c8d3SLaurent Pinchart    vsp@fe928000 {
1056a72c8d3SLaurent Pinchart        compatible = "renesas,vsp1";
1066a72c8d3SLaurent Pinchart        reg = <0xfe928000 0x8000>;
1076a72c8d3SLaurent Pinchart        interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1086a72c8d3SLaurent Pinchart        clocks = <&cpg CPG_MOD 131>;
109cc4fcf11SLaurent Pinchart        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
110cc4fcf11SLaurent Pinchart        resets = <&cpg 131>;
1116a72c8d3SLaurent Pinchart    };
1126a72c8d3SLaurent Pinchart
1136a72c8d3SLaurent Pinchart  # R8A77951 (R-Car H3) VSP2-BC
1146a72c8d3SLaurent Pinchart  - |
1156a72c8d3SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1166a72c8d3SLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
117cc4fcf11SLaurent Pinchart    #include <dt-bindings/power/r8a7795-sysc.h>
1186a72c8d3SLaurent Pinchart
1196a72c8d3SLaurent Pinchart    vsp@fe920000 {
1206a72c8d3SLaurent Pinchart        compatible = "renesas,vsp2";
1216a72c8d3SLaurent Pinchart        reg = <0xfe920000 0x8000>;
1226a72c8d3SLaurent Pinchart        interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
1236a72c8d3SLaurent Pinchart        clocks = <&cpg CPG_MOD 624>;
124cc4fcf11SLaurent Pinchart        power-domains = <&sysc R8A7795_PD_A3VP>;
125cc4fcf11SLaurent Pinchart        resets = <&cpg 624>;
1266a72c8d3SLaurent Pinchart
1276a72c8d3SLaurent Pinchart        renesas,fcp = <&fcpvb1>;
1286a72c8d3SLaurent Pinchart    };
1296a72c8d3SLaurent Pinchart...
130