196 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/media/samsung,s5p-mfc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Samsung Exynos Multi Format Codec (MFC)8 9maintainers:10 - Marek Szyprowski <m.szyprowski@samsung.com>11 - Aakarsh Jain <aakarsh.jain@samsung.com>12 13description:14 Multi Format Codec (MFC) is the IP present in Samsung SoCs which15 supports high resolution decoding and encoding functionalities.16 17properties:18 compatible:19 oneOf:20 - enum:21 - samsung,exynos5433-mfc # Exynos543322 - samsung,mfc-v5 # Exynos423 - samsung,mfc-v6 # Exynos524 - samsung,mfc-v7 # Exynos542025 - samsung,mfc-v8 # Exynos580026 - samsung,mfc-v10 # Exynos788027 - tesla,fsd-mfc # Tesla FSD28 - items:29 - enum:30 - samsung,exynos3250-mfc # Exynos325031 - const: samsung,mfc-v7 # Fall back for Exynos325032 33 reg:34 maxItems: 135 36 clocks:37 minItems: 138 maxItems: 339 40 clock-names:41 minItems: 142 maxItems: 343 44 interrupts:45 maxItems: 146 47 iommus:48 minItems: 149 maxItems: 250 51 iommu-names:52 minItems: 153 items:54 - const: left55 - const: right56 57 power-domains:58 maxItems: 159 60 memory-region:61 minItems: 162 maxItems: 263 64required:65 - compatible66 - reg67 - clocks68 - clock-names69 - interrupts70 71additionalProperties: false72 73allOf:74 - if:75 properties:76 compatible:77 contains:78 enum:79 - samsung,exynos3250-mfc80 then:81 properties:82 clocks:83 maxItems: 284 clock-names:85 items:86 - const: mfc87 - const: sclk_mfc88 iommus:89 maxItems: 190 iommu-names: false91 92 - if:93 properties:94 compatible:95 contains:96 enum:97 - samsung,exynos5433-mfc98 then:99 properties:100 clocks:101 maxItems: 3102 clock-names:103 items:104 - const: pclk105 - const: aclk106 - const: aclk_xiu107 iommus:108 minItems: 2109 iommu-names:110 minItems: 2111 112 - if:113 properties:114 compatible:115 contains:116 enum:117 - samsung,mfc-v5118 then:119 properties:120 clocks:121 maxItems: 2122 clock-names:123 items:124 - const: mfc125 - const: sclk_mfc126 iommus:127 minItems: 2128 iommu-names:129 minItems: 2130 131 - if:132 properties:133 compatible:134 contains:135 enum:136 - samsung,mfc-v6137 - samsung,mfc-v8138 then:139 properties:140 clocks:141 maxItems: 1142 clock-names:143 items:144 - const: mfc145 iommus:146 minItems: 2147 iommu-names:148 minItems: 2149 150 - if:151 properties:152 compatible:153 contains:154 enum:155 - samsung,mfc-v7156 then:157 properties:158 clocks:159 minItems: 1160 maxItems: 2161 162 - if:163 properties:164 compatible:165 contains:166 enum:167 - tesla,fsd-mfc168 then:169 properties:170 clocks:171 maxItems: 1172 clock-names:173 items:174 - const: mfc175 iommus:176 maxItems: 2177 iommus-names: false178 179examples:180 - |181 #include <dt-bindings/clock/exynos4.h>182 #include <dt-bindings/clock/exynos-audss-clk.h>183 #include <dt-bindings/interrupt-controller/arm-gic.h>184 #include <dt-bindings/interrupt-controller/irq.h>185 186 codec@13400000 {187 compatible = "samsung,mfc-v5";188 reg = <0x13400000 0x10000>;189 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;190 power-domains = <&pd_mfc>;191 clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;192 clock-names = "mfc", "sclk_mfc";193 iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;194 iommu-names = "left", "right";195 };196