xref: /linux/Documentation/devicetree/bindings/media/renesas,fcp.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/renesas,fcp.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas R-Car Frame Compression Processor (FCP)
8
9maintainers:
10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12description: |
13  The FCP is a companion module of video processing modules in the Renesas
14  R-Car Gen3 and RZ/G2 SoCs. It provides data compression and decompression,
15  data caching, and conversion of AXI transactions in order to reduce the
16  memory bandwidth.
17
18  There are three types of FCP: FCP for Codec (FCPC), FCP for VSP (FCPV) and
19  FCP for FDP (FCPF). Their configuration and behaviour depend on the module
20  they are paired with. These DT bindings currently support the FCPV and FCPF.
21
22properties:
23  compatible:
24    oneOf:
25      - enum:
26          - renesas,fcpv # FCP for VSP
27          - renesas,fcpf # FCP for FDP
28      - items:
29          - enum:
30              - renesas,r9a07g043u-fcpvd # RZ/G2UL
31              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
32              - renesas,r9a07g054-fcpvd # RZ/V2L
33          - const: renesas,fcpv         # Generic FCP for VSP fallback
34
35  reg:
36    maxItems: 1
37
38  clocks: true
39
40  clock-names: true
41
42  iommus:
43    maxItems: 1
44
45  power-domains:
46    maxItems: 1
47
48  resets:
49    maxItems: 1
50
51required:
52  - compatible
53  - reg
54  - clocks
55  - power-domains
56  - resets
57
58additionalProperties: false
59
60allOf:
61  - if:
62      properties:
63        compatible:
64          contains:
65            enum:
66              - renesas,r9a07g043u-fcpvd
67              - renesas,r9a07g044-fcpvd
68              - renesas,r9a07g054-fcpvd
69    then:
70      properties:
71        clocks:
72          items:
73            - description: Main clock
74            - description: Register access clock
75            - description: Video clock
76        clock-names:
77          items:
78            - const: aclk
79            - const: pclk
80            - const: vclk
81      required:
82        - clock-names
83    else:
84      properties:
85        clocks:
86          maxItems: 1
87        clock-names: false
88
89examples:
90  # R8A7795 (R-Car H3) FCP for VSP-D1
91  - |
92    #include <dt-bindings/clock/renesas-cpg-mssr.h>
93    #include <dt-bindings/power/r8a7795-sysc.h>
94
95    fcp@fea2f000 {
96        compatible = "renesas,fcpv";
97        reg = <0xfea2f000 0x200>;
98        clocks = <&cpg CPG_MOD 602>;
99        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
100        resets = <&cpg 602>;
101        iommus = <&ipmmu_vi0 9>;
102    };
103...
104