# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/media/samsung,s5p-mfc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung Exynos Multi Format Codec (MFC) maintainers: - Marek Szyprowski <m.szyprowski@samsung.com> - Aakarsh Jain <aakarsh.jain@samsung.com> description: Multi Format Codec (MFC) is the IP present in Samsung SoCs which supports high resolution decoding and encoding functionalities. properties: compatible: oneOf: - enum: - samsung,exynos5433-mfc # Exynos5433 - samsung,mfc-v5 # Exynos4 - samsung,mfc-v6 # Exynos5 - samsung,mfc-v7 # Exynos5420 - samsung,mfc-v8 # Exynos5800 - samsung,mfc-v10 # Exynos7880 - items: - enum: - samsung,exynos3250-mfc # Exynos3250 - const: samsung,mfc-v7 # Fall back for Exynos3250 reg: maxItems: 1 clocks: minItems: 1 maxItems: 3 clock-names: minItems: 1 maxItems: 3 interrupts: maxItems: 1 iommus: minItems: 1 maxItems: 2 iommu-names: minItems: 1 maxItems: 2 power-domains: maxItems: 1 memory-region: minItems: 1 maxItems: 2 required: - compatible - reg - clocks - clock-names - interrupts additionalProperties: false allOf: - if: properties: compatible: contains: enum: - samsung,exynos3250-mfc then: properties: clocks: maxItems: 2 clock-names: items: - const: mfc - const: sclk_mfc iommus: maxItems: 1 iommus-names: false - if: properties: compatible: contains: enum: - samsung,exynos5433-mfc then: properties: clocks: maxItems: 3 clock-names: items: - const: pclk - const: aclk - const: aclk_xiu iommus: maxItems: 2 iommus-names: items: - const: left - const: right - if: properties: compatible: contains: enum: - samsung,mfc-v5 then: properties: clocks: maxItems: 2 clock-names: items: - const: mfc - const: sclk_mfc iommus: maxItems: 2 iommus-names: items: - const: left - const: right - if: properties: compatible: contains: enum: - samsung,mfc-v6 - samsung,mfc-v8 then: properties: clocks: maxItems: 1 clock-names: items: - const: mfc iommus: maxItems: 2 iommus-names: items: - const: left - const: right - if: properties: compatible: contains: enum: - samsung,mfc-v7 then: properties: clocks: minItems: 1 maxItems: 2 iommus: minItems: 1 maxItems: 2 examples: - | #include <dt-bindings/clock/exynos4.h> #include <dt-bindings/clock/exynos-audss-clk.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/irq.h> codec@13400000 { compatible = "samsung,mfc-v5"; reg = <0x13400000 0x10000>; interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; power-domains = <&pd_mfc>; clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; clock-names = "mfc", "sclk_mfc"; iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>; iommu-names = "left", "right"; };