1 # SPDX-License-Identifier: GPL-2.0-only OR BSD 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/media/samsu 4 $id: http://devicetree.org/schemas/media/samsung,s5p-mfc.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Samsung Exynos Multi Format Codec (MFC) 7 title: Samsung Exynos Multi Format Codec (MFC) 8 8 9 maintainers: 9 maintainers: 10 - Marek Szyprowski <m.szyprowski@samsung.com> 10 - Marek Szyprowski <m.szyprowski@samsung.com> 11 - Aakarsh Jain <aakarsh.jain@samsung.com> 11 - Aakarsh Jain <aakarsh.jain@samsung.com> 12 12 13 description: 13 description: 14 Multi Format Codec (MFC) is the IP present i 14 Multi Format Codec (MFC) is the IP present in Samsung SoCs which 15 supports high resolution decoding and encodi 15 supports high resolution decoding and encoding functionalities. 16 16 17 properties: 17 properties: 18 compatible: 18 compatible: 19 oneOf: 19 oneOf: 20 - enum: 20 - enum: 21 - samsung,exynos5433-mfc # Ex 21 - samsung,exynos5433-mfc # Exynos5433 22 - samsung,mfc-v5 # Ex 22 - samsung,mfc-v5 # Exynos4 23 - samsung,mfc-v6 # Ex 23 - samsung,mfc-v6 # Exynos5 24 - samsung,mfc-v7 # Ex 24 - samsung,mfc-v7 # Exynos5420 25 - samsung,mfc-v8 # Ex 25 - samsung,mfc-v8 # Exynos5800 26 - samsung,mfc-v10 # Ex 26 - samsung,mfc-v10 # Exynos7880 27 - tesla,fsd-mfc # Te << 28 - items: 27 - items: 29 - enum: 28 - enum: 30 - samsung,exynos3250-mfc # Ex 29 - samsung,exynos3250-mfc # Exynos3250 31 - const: samsung,mfc-v7 # Fa 30 - const: samsung,mfc-v7 # Fall back for Exynos3250 32 31 33 reg: 32 reg: 34 maxItems: 1 33 maxItems: 1 35 34 36 clocks: 35 clocks: 37 minItems: 1 36 minItems: 1 38 maxItems: 3 37 maxItems: 3 39 38 40 clock-names: 39 clock-names: 41 minItems: 1 40 minItems: 1 42 maxItems: 3 41 maxItems: 3 43 42 44 interrupts: 43 interrupts: 45 maxItems: 1 44 maxItems: 1 46 45 47 iommus: 46 iommus: 48 minItems: 1 47 minItems: 1 49 maxItems: 2 48 maxItems: 2 50 49 51 iommu-names: 50 iommu-names: 52 minItems: 1 51 minItems: 1 53 items: !! 52 maxItems: 2 54 - const: left << 55 - const: right << 56 53 57 power-domains: 54 power-domains: 58 maxItems: 1 55 maxItems: 1 59 56 60 memory-region: 57 memory-region: 61 minItems: 1 58 minItems: 1 62 maxItems: 2 59 maxItems: 2 63 60 64 required: 61 required: 65 - compatible 62 - compatible 66 - reg 63 - reg 67 - clocks 64 - clocks 68 - clock-names 65 - clock-names 69 - interrupts 66 - interrupts 70 67 71 additionalProperties: false 68 additionalProperties: false 72 69 73 allOf: 70 allOf: 74 - if: 71 - if: 75 properties: 72 properties: 76 compatible: 73 compatible: 77 contains: 74 contains: 78 enum: 75 enum: 79 - samsung,exynos3250-mfc 76 - samsung,exynos3250-mfc 80 then: 77 then: 81 properties: 78 properties: 82 clocks: 79 clocks: 83 maxItems: 2 80 maxItems: 2 84 clock-names: 81 clock-names: 85 items: 82 items: 86 - const: mfc 83 - const: mfc 87 - const: sclk_mfc 84 - const: sclk_mfc 88 iommus: 85 iommus: 89 maxItems: 1 86 maxItems: 1 90 iommu-names: false !! 87 iommus-names: false 91 88 92 - if: 89 - if: 93 properties: 90 properties: 94 compatible: 91 compatible: 95 contains: 92 contains: 96 enum: 93 enum: 97 - samsung,exynos5433-mfc 94 - samsung,exynos5433-mfc 98 then: 95 then: 99 properties: 96 properties: 100 clocks: 97 clocks: 101 maxItems: 3 98 maxItems: 3 102 clock-names: 99 clock-names: 103 items: 100 items: 104 - const: pclk 101 - const: pclk 105 - const: aclk 102 - const: aclk 106 - const: aclk_xiu 103 - const: aclk_xiu 107 iommus: 104 iommus: 108 minItems: 2 !! 105 maxItems: 2 109 iommu-names: !! 106 iommus-names: 110 minItems: 2 !! 107 items: >> 108 - const: left >> 109 - const: right 111 110 112 - if: 111 - if: 113 properties: 112 properties: 114 compatible: 113 compatible: 115 contains: 114 contains: 116 enum: 115 enum: 117 - samsung,mfc-v5 116 - samsung,mfc-v5 118 then: 117 then: 119 properties: 118 properties: 120 clocks: 119 clocks: 121 maxItems: 2 120 maxItems: 2 122 clock-names: 121 clock-names: 123 items: 122 items: 124 - const: mfc 123 - const: mfc 125 - const: sclk_mfc 124 - const: sclk_mfc 126 iommus: 125 iommus: 127 minItems: 2 !! 126 maxItems: 2 128 iommu-names: !! 127 iommus-names: 129 minItems: 2 !! 128 items: >> 129 - const: left >> 130 - const: right 130 131 131 - if: 132 - if: 132 properties: 133 properties: 133 compatible: 134 compatible: 134 contains: 135 contains: 135 enum: 136 enum: 136 - samsung,mfc-v6 137 - samsung,mfc-v6 137 - samsung,mfc-v8 138 - samsung,mfc-v8 138 then: 139 then: 139 properties: 140 properties: 140 clocks: 141 clocks: 141 maxItems: 1 142 maxItems: 1 142 clock-names: 143 clock-names: 143 items: 144 items: 144 - const: mfc 145 - const: mfc 145 iommus: 146 iommus: 146 minItems: 2 !! 147 maxItems: 2 147 iommu-names: !! 148 iommus-names: 148 minItems: 2 !! 149 items: >> 150 - const: left >> 151 - const: right 149 152 150 - if: 153 - if: 151 properties: 154 properties: 152 compatible: 155 compatible: 153 contains: 156 contains: 154 enum: 157 enum: 155 - samsung,mfc-v7 158 - samsung,mfc-v7 156 then: 159 then: 157 properties: 160 properties: 158 clocks: 161 clocks: 159 minItems: 1 162 minItems: 1 160 maxItems: 2 163 maxItems: 2 161 << 162 - if: << 163 properties: << 164 compatible: << 165 contains: << 166 enum: << 167 - tesla,fsd-mfc << 168 then: << 169 properties: << 170 clocks: << 171 maxItems: 1 << 172 clock-names: << 173 items: << 174 - const: mfc << 175 iommus: 164 iommus: >> 165 minItems: 1 176 maxItems: 2 166 maxItems: 2 177 iommus-names: false << 178 167 179 examples: 168 examples: 180 - | 169 - | 181 #include <dt-bindings/clock/exynos4.h> 170 #include <dt-bindings/clock/exynos4.h> 182 #include <dt-bindings/clock/exynos-audss-c 171 #include <dt-bindings/clock/exynos-audss-clk.h> 183 #include <dt-bindings/interrupt-controller 172 #include <dt-bindings/interrupt-controller/arm-gic.h> 184 #include <dt-bindings/interrupt-controller 173 #include <dt-bindings/interrupt-controller/irq.h> 185 174 186 codec@13400000 { 175 codec@13400000 { 187 compatible = "samsung,mfc-v5"; 176 compatible = "samsung,mfc-v5"; 188 reg = <0x13400000 0x10000>; 177 reg = <0x13400000 0x10000>; 189 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVE 178 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 190 power-domains = <&pd_mfc>; 179 power-domains = <&pd_mfc>; 191 clocks = <&clock CLK_MFC>, <&clock CLK 180 clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; 192 clock-names = "mfc", "sclk_mfc"; 181 clock-names = "mfc", "sclk_mfc"; 193 iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc 182 iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>; 194 iommu-names = "left", "right"; 183 iommu-names = "left", "right"; 195 }; 184 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.