xref: /openbmc/linux/Documentation/devicetree/bindings/media/renesas,fcp.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
165c5fac1SLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
265c5fac1SLaurent Pinchart%YAML 1.2
365c5fac1SLaurent Pinchart---
465c5fac1SLaurent Pinchart$id: http://devicetree.org/schemas/media/renesas,fcp.yaml#
565c5fac1SLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml#
665c5fac1SLaurent Pinchart
765c5fac1SLaurent Pincharttitle: Renesas R-Car Frame Compression Processor (FCP)
865c5fac1SLaurent Pinchart
965c5fac1SLaurent Pinchartmaintainers:
1065c5fac1SLaurent Pinchart  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
1165c5fac1SLaurent Pinchart
1265c5fac1SLaurent Pinchartdescription: |
1365c5fac1SLaurent Pinchart  The FCP is a companion module of video processing modules in the Renesas
1465c5fac1SLaurent Pinchart  R-Car Gen3 and RZ/G2 SoCs. It provides data compression and decompression,
1565c5fac1SLaurent Pinchart  data caching, and conversion of AXI transactions in order to reduce the
1665c5fac1SLaurent Pinchart  memory bandwidth.
1765c5fac1SLaurent Pinchart
1865c5fac1SLaurent Pinchart  There are three types of FCP: FCP for Codec (FCPC), FCP for VSP (FCPV) and
1965c5fac1SLaurent Pinchart  FCP for FDP (FCPF). Their configuration and behaviour depend on the module
2065c5fac1SLaurent Pinchart  they are paired with. These DT bindings currently support the FCPV and FCPF.
2165c5fac1SLaurent Pinchart
2265c5fac1SLaurent Pinchartproperties:
2365c5fac1SLaurent Pinchart  compatible:
24*81442e3eSBiju Das    oneOf:
25*81442e3eSBiju Das      - enum:
2665c5fac1SLaurent Pinchart          - renesas,fcpv # FCP for VSP
2765c5fac1SLaurent Pinchart          - renesas,fcpf # FCP for FDP
28*81442e3eSBiju Das      - items:
29*81442e3eSBiju Das          - enum:
30*81442e3eSBiju Das              - renesas,r9a07g044-fcpvd # RZ/G2{L,LC}
31*81442e3eSBiju Das              - renesas,r9a07g054-fcpvd # RZ/V2L
32*81442e3eSBiju Das          - const: renesas,fcpv         # Generic FCP for VSP fallback
3365c5fac1SLaurent Pinchart
3465c5fac1SLaurent Pinchart  reg:
3565c5fac1SLaurent Pinchart    maxItems: 1
3665c5fac1SLaurent Pinchart
37*81442e3eSBiju Das  clocks: true
38*81442e3eSBiju Das
39*81442e3eSBiju Das  clock-names: true
4065c5fac1SLaurent Pinchart
4108cdb85bSLaurent Pinchart  iommus:
4208cdb85bSLaurent Pinchart    maxItems: 1
4308cdb85bSLaurent Pinchart
4465c5fac1SLaurent Pinchart  power-domains:
4565c5fac1SLaurent Pinchart    maxItems: 1
4665c5fac1SLaurent Pinchart
4708cdb85bSLaurent Pinchart  resets:
4808cdb85bSLaurent Pinchart    maxItems: 1
4908cdb85bSLaurent Pinchart
5065c5fac1SLaurent Pinchartrequired:
5165c5fac1SLaurent Pinchart  - compatible
5265c5fac1SLaurent Pinchart  - reg
5365c5fac1SLaurent Pinchart  - clocks
5489b85a6dSLaurent Pinchart  - power-domains
5508cdb85bSLaurent Pinchart  - resets
5665c5fac1SLaurent Pinchart
5765c5fac1SLaurent PinchartadditionalProperties: false
5865c5fac1SLaurent Pinchart
59*81442e3eSBiju DasallOf:
60*81442e3eSBiju Das  - if:
61*81442e3eSBiju Das      properties:
62*81442e3eSBiju Das        compatible:
63*81442e3eSBiju Das          contains:
64*81442e3eSBiju Das            enum:
65*81442e3eSBiju Das              - renesas,r9a07g044-fcpvd
66*81442e3eSBiju Das              - renesas,r9a07g054-fcpvd
67*81442e3eSBiju Das    then:
68*81442e3eSBiju Das      properties:
69*81442e3eSBiju Das        clocks:
70*81442e3eSBiju Das          items:
71*81442e3eSBiju Das            - description: Main clock
72*81442e3eSBiju Das            - description: Register access clock
73*81442e3eSBiju Das            - description: Video clock
74*81442e3eSBiju Das        clock-names:
75*81442e3eSBiju Das          items:
76*81442e3eSBiju Das            - const: aclk
77*81442e3eSBiju Das            - const: pclk
78*81442e3eSBiju Das            - const: vclk
79*81442e3eSBiju Das      required:
80*81442e3eSBiju Das        - clock-names
81*81442e3eSBiju Das    else:
82*81442e3eSBiju Das      properties:
83*81442e3eSBiju Das        clocks:
84*81442e3eSBiju Das          maxItems: 1
85*81442e3eSBiju Das        clock-names: false
86*81442e3eSBiju Das
8765c5fac1SLaurent Pinchartexamples:
8865c5fac1SLaurent Pinchart  # R8A7795 (R-Car H3) FCP for VSP-D1
8965c5fac1SLaurent Pinchart  - |
9065c5fac1SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
9165c5fac1SLaurent Pinchart    #include <dt-bindings/power/r8a7795-sysc.h>
9265c5fac1SLaurent Pinchart
9365c5fac1SLaurent Pinchart    fcp@fea2f000 {
9465c5fac1SLaurent Pinchart        compatible = "renesas,fcpv";
9565c5fac1SLaurent Pinchart        reg = <0xfea2f000 0x200>;
9665c5fac1SLaurent Pinchart        clocks = <&cpg CPG_MOD 602>;
9765c5fac1SLaurent Pinchart        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
9808cdb85bSLaurent Pinchart        resets = <&cpg 602>;
9908cdb85bSLaurent Pinchart        iommus = <&ipmmu_vi0 9>;
10065c5fac1SLaurent Pinchart    };
10165c5fac1SLaurent Pinchart...
102