xref: /freebsd/sys/contrib/device-tree/Bindings/media/renesas,vsp1.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/media/renesas,vsp1.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas VSP Video Processing Engine
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription:
13c66ec88fSEmmanuel Vadot  The VSP is a video processing engine that supports up-/down-scaling, alpha
14c66ec88fSEmmanuel Vadot  blending, color space conversion and various other image processing features.
15c66ec88fSEmmanuel Vadot  It can be found in the Renesas R-Car Gen2, R-Car Gen3, RZ/G1, and RZ/G2 SoCs.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19fac71e4eSEmmanuel Vadot    oneOf:
20fac71e4eSEmmanuel Vadot      - enum:
217ef62cebSEmmanuel Vadot          - renesas,r9a07g044-vsp2 # RZ/G2L
22c66ec88fSEmmanuel Vadot          - renesas,vsp1 # R-Car Gen2 and RZ/G1
23c66ec88fSEmmanuel Vadot          - renesas,vsp2 # R-Car Gen3 and RZ/G2
24fac71e4eSEmmanuel Vadot      - items:
25fac71e4eSEmmanuel Vadot          - enum:
26*b2d2a78aSEmmanuel Vadot              - renesas,r9a07g043u-vsp2   # RZ/G2UL
27fac71e4eSEmmanuel Vadot              - renesas,r9a07g054-vsp2    # RZ/V2L
28fac71e4eSEmmanuel Vadot          - const: renesas,r9a07g044-vsp2 # RZ/G2L fallback
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  reg:
31c66ec88fSEmmanuel Vadot    maxItems: 1
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  interrupts:
34c66ec88fSEmmanuel Vadot    maxItems: 1
35c66ec88fSEmmanuel Vadot
367ef62cebSEmmanuel Vadot  clocks: true
377ef62cebSEmmanuel Vadot  clock-names: true
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  power-domains:
40c66ec88fSEmmanuel Vadot    maxItems: 1
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  resets:
43c66ec88fSEmmanuel Vadot    maxItems: 1
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  renesas,fcp:
46c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
47c66ec88fSEmmanuel Vadot    description:
48c66ec88fSEmmanuel Vadot      A phandle referencing the FCP that handles memory accesses for the VSP.
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadotrequired:
51c66ec88fSEmmanuel Vadot  - compatible
52c66ec88fSEmmanuel Vadot  - reg
53c66ec88fSEmmanuel Vadot  - interrupts
54c66ec88fSEmmanuel Vadot  - clocks
55c66ec88fSEmmanuel Vadot  - power-domains
56c66ec88fSEmmanuel Vadot  - resets
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel VadotadditionalProperties: false
59c66ec88fSEmmanuel Vadot
607ef62cebSEmmanuel VadotallOf:
617ef62cebSEmmanuel Vadot  - if:
62c66ec88fSEmmanuel Vadot      properties:
63c66ec88fSEmmanuel Vadot        compatible:
647ef62cebSEmmanuel Vadot          contains:
657ef62cebSEmmanuel Vadot            const: renesas,vsp1
66c66ec88fSEmmanuel Vadot    then:
67c66ec88fSEmmanuel Vadot      properties:
68c66ec88fSEmmanuel Vadot        renesas,fcp: false
69c66ec88fSEmmanuel Vadot    else:
70c66ec88fSEmmanuel Vadot      required:
71c66ec88fSEmmanuel Vadot        - renesas,fcp
72c66ec88fSEmmanuel Vadot
737ef62cebSEmmanuel Vadot  - if:
747ef62cebSEmmanuel Vadot      properties:
757ef62cebSEmmanuel Vadot        compatible:
767ef62cebSEmmanuel Vadot          contains:
777ef62cebSEmmanuel Vadot            const: renesas,r9a07g044-vsp2
787ef62cebSEmmanuel Vadot    then:
797ef62cebSEmmanuel Vadot      properties:
807ef62cebSEmmanuel Vadot        clocks:
817ef62cebSEmmanuel Vadot          items:
827ef62cebSEmmanuel Vadot            - description: Main clock
837ef62cebSEmmanuel Vadot            - description: Register access clock
847ef62cebSEmmanuel Vadot            - description: Video clock
857ef62cebSEmmanuel Vadot        clock-names:
867ef62cebSEmmanuel Vadot          items:
877ef62cebSEmmanuel Vadot            - const: aclk
887ef62cebSEmmanuel Vadot            - const: pclk
897ef62cebSEmmanuel Vadot            - const: vclk
907ef62cebSEmmanuel Vadot      required:
917ef62cebSEmmanuel Vadot        - clock-names
927ef62cebSEmmanuel Vadot    else:
937ef62cebSEmmanuel Vadot      properties:
947ef62cebSEmmanuel Vadot        clocks:
957ef62cebSEmmanuel Vadot          maxItems: 1
967ef62cebSEmmanuel Vadot        clock-names: false
977ef62cebSEmmanuel Vadot
98c66ec88fSEmmanuel Vadotexamples:
99c66ec88fSEmmanuel Vadot  # R8A7790 (R-Car H2) VSP1-S
100c66ec88fSEmmanuel Vadot  - |
101c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/renesas-cpg-mssr.h>
102c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
103c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot    vsp@fe928000 {
106c66ec88fSEmmanuel Vadot        compatible = "renesas,vsp1";
107c66ec88fSEmmanuel Vadot        reg = <0xfe928000 0x8000>;
108c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
109c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 131>;
110c66ec88fSEmmanuel Vadot        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
111c66ec88fSEmmanuel Vadot        resets = <&cpg 131>;
112c66ec88fSEmmanuel Vadot    };
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot  # R8A77951 (R-Car H3) VSP2-BC
115c66ec88fSEmmanuel Vadot  - |
116c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/renesas-cpg-mssr.h>
117c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
118c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7795-sysc.h>
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot    vsp@fe920000 {
121c66ec88fSEmmanuel Vadot        compatible = "renesas,vsp2";
122c66ec88fSEmmanuel Vadot        reg = <0xfe920000 0x8000>;
123c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
124c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 624>;
125c66ec88fSEmmanuel Vadot        power-domains = <&sysc R8A7795_PD_A3VP>;
126c66ec88fSEmmanuel Vadot        resets = <&cpg 624>;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot        renesas,fcp = <&fcpvb1>;
129c66ec88fSEmmanuel Vadot    };
130c66ec88fSEmmanuel Vadot...
131