18c2ecf20Sopenharmony_ci* Samsung Multi Format Codec (MFC) 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciMulti Format Codec (MFC) is the IP present in Samsung SoCs which 48c2ecf20Sopenharmony_cisupports high resolution decoding and encoding functionalities. 58c2ecf20Sopenharmony_ciThe MFC device driver is a v4l2 driver which can encode/decode 68c2ecf20Sopenharmony_civideo raw/elementary streams and has support for all popular 78c2ecf20Sopenharmony_civideo codecs. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciRequired properties: 108c2ecf20Sopenharmony_ci - compatible : value should be either one among the following 118c2ecf20Sopenharmony_ci (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs 128c2ecf20Sopenharmony_ci (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs 138c2ecf20Sopenharmony_ci (c) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC 148c2ecf20Sopenharmony_ci (d) "samsung,mfc-v8" for MFC v8 present in Exynos5800 SoC 158c2ecf20Sopenharmony_ci (e) "samsung,exynos5433-mfc" for MFC v8 present in Exynos5433 SoC 168c2ecf20Sopenharmony_ci (f) "samsung,mfc-v10" for MFC v10 present in Exynos7880 SoC 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci - reg : Physical base address of the IP registers and length of memory 198c2ecf20Sopenharmony_ci mapped region. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci - interrupts : MFC interrupt number to the CPU. 228c2ecf20Sopenharmony_ci - clocks : from common clock binding: handle to mfc clock. 238c2ecf20Sopenharmony_ci - clock-names : from common clock binding: must contain "mfc", 248c2ecf20Sopenharmony_ci corresponding to entry in the clocks property. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciOptional properties: 278c2ecf20Sopenharmony_ci - power-domains : power-domain property defined with a phandle 288c2ecf20Sopenharmony_ci to respective power domain. 298c2ecf20Sopenharmony_ci - memory-region : from reserved memory binding: phandles to two reserved 308c2ecf20Sopenharmony_ci memory regions, first is for "left" mfc memory bus interfaces, 318c2ecf20Sopenharmony_ci second if for the "right" mfc memory bus, used when no SYSMMU 328c2ecf20Sopenharmony_ci support is available; used only by MFC v5 present in Exynos4 SoCs 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciObsolete properties: 358c2ecf20Sopenharmony_ci - samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region 368c2ecf20Sopenharmony_ci property instead 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciExample: 408c2ecf20Sopenharmony_ciSoC specific DT entry: 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_cimfc: codec@13400000 { 438c2ecf20Sopenharmony_ci compatible = "samsung,mfc-v5"; 448c2ecf20Sopenharmony_ci reg = <0x13400000 0x10000>; 458c2ecf20Sopenharmony_ci interrupts = <0 94 0>; 468c2ecf20Sopenharmony_ci power-domains = <&pd_mfc>; 478c2ecf20Sopenharmony_ci clocks = <&clock 273>; 488c2ecf20Sopenharmony_ci clock-names = "mfc"; 498c2ecf20Sopenharmony_ci}; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ciReserved memory specific DT entry for given board (see reserved memory binding 528c2ecf20Sopenharmony_cifor more information): 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_cireserved-memory { 558c2ecf20Sopenharmony_ci #address-cells = <1>; 568c2ecf20Sopenharmony_ci #size-cells = <1>; 578c2ecf20Sopenharmony_ci ranges; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci mfc_left: region@51000000 { 608c2ecf20Sopenharmony_ci compatible = "shared-dma-pool"; 618c2ecf20Sopenharmony_ci no-map; 628c2ecf20Sopenharmony_ci reg = <0x51000000 0x800000>; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci mfc_right: region@43000000 { 668c2ecf20Sopenharmony_ci compatible = "shared-dma-pool"; 678c2ecf20Sopenharmony_ci no-map; 688c2ecf20Sopenharmony_ci reg = <0x43000000 0x800000>; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci}; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ciBoard specific DT entry: 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_cicodec@13400000 { 758c2ecf20Sopenharmony_ci memory-region = <&mfc_left>, <&mfc_right>; 768c2ecf20Sopenharmony_ci}; 77