xref: /freebsd/sys/contrib/device-tree/Bindings/media/renesas,fcp.yaml (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
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              - renesas,r9a09g056-fcpvd # RZ/V2N
34              - renesas,r9a09g057-fcpvd # RZ/V2H(P)
35          - const: renesas,fcpv         # Generic FCP for VSP fallback
36
37  reg:
38    maxItems: 1
39
40  clocks:
41    minItems: 1
42    items:
43      - description: Main clock
44      - description: Register access clock
45      - description: Video clock
46
47  clock-names:
48    items:
49      - const: aclk
50      - const: pclk
51      - const: vclk
52
53  iommus:
54    maxItems: 1
55
56  power-domains:
57    maxItems: 1
58
59  resets:
60    maxItems: 1
61
62required:
63  - compatible
64  - reg
65  - clocks
66  - power-domains
67  - resets
68
69additionalProperties: false
70
71allOf:
72  - if:
73      properties:
74        compatible:
75          contains:
76            enum:
77              - renesas,r9a07g043u-fcpvd
78              - renesas,r9a07g044-fcpvd
79              - renesas,r9a07g054-fcpvd
80              - renesas,r9a09g057-fcpvd
81    then:
82      properties:
83        clocks:
84          minItems: 3
85      required:
86        - clock-names
87    else:
88      properties:
89        clocks:
90          maxItems: 1
91        clock-names: false
92
93examples:
94  # R8A7795 (R-Car H3) FCP for VSP-D1
95  - |
96    #include <dt-bindings/clock/renesas-cpg-mssr.h>
97    #include <dt-bindings/power/r8a7795-sysc.h>
98
99    fcp@fea2f000 {
100        compatible = "renesas,fcpv";
101        reg = <0xfea2f000 0x200>;
102        clocks = <&cpg CPG_MOD 602>;
103        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
104        resets = <&cpg 602>;
105        iommus = <&ipmmu_vi0 9>;
106    };
107...
108