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    enum:
25      - renesas,fcpv # FCP for VSP
26      - renesas,fcpf # FCP for FDP
27
28  reg:
29    maxItems: 1
30
31  clocks:
32    maxItems: 1
33
34  iommus:
35    maxItems: 1
36
37  power-domains:
38    maxItems: 1
39
40  resets:
41    maxItems: 1
42
43required:
44  - compatible
45  - reg
46  - clocks
47  - power-domains
48  - resets
49
50additionalProperties: false
51
52examples:
53  # R8A7795 (R-Car H3) FCP for VSP-D1
54  - |
55    #include <dt-bindings/clock/renesas-cpg-mssr.h>
56    #include <dt-bindings/power/r8a7795-sysc.h>
57
58    fcp@fea2f000 {
59        compatible = "renesas,fcpv";
60        reg = <0xfea2f000 0x200>;
61        clocks = <&cpg CPG_MOD 602>;
62        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
63        resets = <&cpg 602>;
64        iommus = <&ipmmu_vi0 9>;
65    };
66...
67