# 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 - Aakarsh Jain 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 - tesla,fsd-mfc # Tesla FSD - 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 items: - const: left - const: right 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 iommu-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: minItems: 2 iommu-names: minItems: 2 - if: properties: compatible: contains: enum: - samsung,mfc-v5 then: properties: clocks: maxItems: 2 clock-names: items: - const: mfc - const: sclk_mfc iommus: minItems: 2 iommu-names: minItems: 2 - if: properties: compatible: contains: enum: - samsung,mfc-v6 - samsung,mfc-v8 then: properties: clocks: maxItems: 1 clock-names: items: - const: mfc iommus: minItems: 2 iommu-names: minItems: 2 - if: properties: compatible: contains: enum: - samsung,mfc-v7 then: properties: clocks: minItems: 1 maxItems: 2 - if: properties: compatible: contains: enum: - tesla,fsd-mfc then: properties: clocks: maxItems: 1 clock-names: items: - const: mfc iommus: maxItems: 2 iommus-names: false examples: - | #include #include #include #include codec@13400000 { compatible = "samsung,mfc-v5"; reg = <0x13400000 0x10000>; interrupts = ; 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"; };