# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/renesas,fcp.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas R-Car Frame Compression Processor (FCP) maintainers: - Laurent Pinchart description: | The FCP is a companion module of video processing modules in the Renesas R-Car Gen3 and RZ/G2 SoCs. It provides data compression and decompression, data caching, and conversion of AXI transactions in order to reduce the memory bandwidth. There are three types of FCP: FCP for Codec (FCPC), FCP for VSP (FCPV) and FCP for FDP (FCPF). Their configuration and behaviour depend on the module they are paired with. These DT bindings currently support the FCPV and FCPF. properties: compatible: oneOf: - enum: - renesas,fcpv # FCP for VSP - renesas,fcpf # FCP for FDP - items: - enum: - renesas,r9a07g044-fcpvd # RZ/G2{L,LC} - renesas,r9a07g054-fcpvd # RZ/V2L - const: renesas,fcpv # Generic FCP for VSP fallback reg: maxItems: 1 clocks: true clock-names: true iommus: maxItems: 1 power-domains: maxItems: 1 resets: maxItems: 1 required: - compatible - reg - clocks - power-domains - resets additionalProperties: false allOf: - if: properties: compatible: contains: enum: - renesas,r9a07g044-fcpvd - renesas,r9a07g054-fcpvd then: properties: clocks: items: - description: Main clock - description: Register access clock - description: Video clock clock-names: items: - const: aclk - const: pclk - const: vclk required: - clock-names else: properties: clocks: maxItems: 1 clock-names: false examples: # R8A7795 (R-Car H3) FCP for VSP-D1 - | #include #include fcp@fea2f000 { compatible = "renesas,fcpv"; reg = <0xfea2f000 0x200>; clocks = <&cpg CPG_MOD 602>; power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; resets = <&cpg 602>; iommus = <&ipmmu_vi0 9>; }; ...