[U-Boot] [PATCH 4/6] video: exynos_fimd: Add framework to disable FIMD sysmmu

Ajay kumar ajaynumb at gmail.com
Tue Oct 15 08:34:46 CEST 2013


ping.


On Mon, Sep 30, 2013 at 4:50 PM, Ajay Kumar <ajaykumar.rs at samsung.com>wrote:

> 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 at 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 at 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 at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>


More information about the U-Boot mailing list