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