From 93868d699e4111f6b960122430435c819147a218 Mon Sep 17 00:00:00 2001 From: Marek Szyprowski Date: Wed, 21 Jan 2015 08:57:44 +0100 Subject: [PATCH] ARM: dts: exynos542x: move mfc device into own bus with limited dma-range MFC block does not support setting address base to 0, what is the default value when using generic iommu based dma-mapping. This patch adds additional virtual bus (with dma ranges limited to 0x10000000..0x20000000) only for MFC device, so it gets proper dma mapping configuration. This is a workaround until proper configuration of default dma window gets implemented. Signed-off-by: Marek Szyprowski --- arch/arm/boot/dts/exynos5420.dtsi | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 8c84bed..3c82e57 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi @@ -172,15 +172,23 @@ clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in"; }; - mfc: codec@11000000 { - compatible = "samsung,mfc-v7"; - reg = <0x11000000 0x10000>; - interrupts = <0 96 0>; - clocks = <&clock CLK_MFC>; - clock-names = "mfc"; - power-domains = <&mfc_pd>; - iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>; - iommu-names = "left", "right"; + mfc-bus { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + dma-ranges = <0x10000000 0x0 0x10000000>; + + mfc: codec@11000000 { + compatible = "samsung,mfc-v7"; + reg = <0x11000000 0x10000>; + interrupts = <0 96 0>; + clocks = <&clock CLK_MFC>; + clock-names = "mfc"; + power-domains = <&mfc_pd>; + iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>; + iommu-names = "left", "right"; + }; }; mmc_0: mmc@12200000 { -- 2.7.4