
ping.
On Mon, Sep 30, 2013 at 4:50 PM, Ajay Kumar ajaykumar.rs@samsung.comwrote:
On Exynos5420, the FIMD sysmmus are in "on state" by default. We have to disable them in order to make FIMD DMA work. This patch adds the required framework to exynos_fimd driver to disable FIMD sysmmu on Exynos5420.
Signed-off-by: Ajay Kumar ajaykumar.rs@samsung.com
arch/arm/dts/exynos5420.dtsi | 5 +++++ doc/device-tree-bindings/video/exynos-fb.txt | 2 ++ drivers/video/exynos_fimd.c | 12 ++++++++++++ 3 files changed, 19 insertions(+)
diff --git a/arch/arm/dts/exynos5420.dtsi b/arch/arm/dts/exynos5420.dtsi index ca6c605..2d64df8 100644 --- a/arch/arm/dts/exynos5420.dtsi +++ b/arch/arm/dts/exynos5420.dtsi @@ -71,4 +71,9 @@ reg = <0x12E20000 0x100>; interrupts = <0 203 0>; };
fimd@14400000 {
/* sysmmu is not used in U-Boot */
samsung,disable-sysmmu;
};
}; diff --git a/doc/device-tree-bindings/video/exynos-fb.txt b/doc/device-tree-bindings/video/exynos-fb.txt index bb7441c..cddb505 100644 --- a/doc/device-tree-bindings/video/exynos-fb.txt +++ b/doc/device-tree-bindings/video/exynos-fb.txt @@ -55,6 +55,8 @@ Board(panel specific): samsung,pclk-name: parent clock identifier: 1(MPLL), 2(EPLL), 3(VPLL) samsung,sclk-div: parent_clock/source_clock ratio samsung,dual-lcd-enabled: 1 if you support two LCD, else 0
samsung,disable-sysmmu: present if you want to disable the sysmmu
(needed for Exynos5420)
Example: SOC specific part: diff --git a/drivers/video/exynos_fimd.c b/drivers/video/exynos_fimd.c index 8c2de4e..410fff1 100644 --- a/drivers/video/exynos_fimd.c +++ b/drivers/video/exynos_fimd.c @@ -267,6 +267,18 @@ void exynos_fimd_lcd_init(vidinfo_t *vid) node, "reg"); if (fimd_ctrl == NULL) debug("Can't get the FIMD base address\n");
if (fdtdec_get_bool(gd->fdt_blob, node, "samsung,disable-sysmmu"))
{
/*
* The reset value for FIMD SYSMMU registers
* MMU_CTRL:0x14640000 and MMU_CTRL:0x14680000 is 3.
* This means FIMD SYSMMU is on by default on Exynos5420.
* Since in u-boot we don't use SYSMMU, we are disabling
* FIMD SYSMMU.
*/
writel(0x0, 0x14640000);
writel(0x0, 0x14680000);
}
#else fimd_ctrl = (struct exynos_fb *)samsung_get_base_fimd();
#endif
1.7.12.4
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot