From: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/3] ARMv8/layerscape: Add mmu_init API
Date: Tue, 19 Jan 2016 13:54:29 +0000 [thread overview]
Message-ID: <VI1PR04MB11366D546C5C13B2E480485897C10@VI1PR04MB1136.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <1453207192-45912-1-git-send-email-Zhiqiang.Hou@freescale.com>
> -----Original Message-----
> From: Zhiqiang Hou [mailto:Zhiqiang.Hou at freescale.com]
> Sent: Tuesday, January 19, 2016 6:10 PM
> To: u-boot at lists.denx.de; albert.u.boot at aribaud.net;
> Mingkai.hu at freescale.com; yorksun at freescale.com
> Cc: leoli at freescale.com; prabhakar at freescale.com;
> bhupesh.sharma at freescale.com; sjg at chromium.org;
> bmeng.cn at gmail.com; hs at denx.de; joe.hershberger at ni.com;
> marex at denx.de; Zhiqiang Hou <zhiqiang.hou@nxp.com>; Hou Zhiqiang
> <B48286@freescale.com>
> Subject: [PATCH 1/3] ARMv8/layerscape: Add mmu_init API
>
> From: Hou Zhiqiang <B48286@freescale.com>
>
> Expose this API to make it reuseable when u-boot turn into other EL from
> EL3.
>
> Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
> ---
> arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 24
> ++++++++++++++++++++++++
> include/common.h | 1 +
> 2 files changed, 25 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> index 6ea28ed..df5670f 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> @@ -403,6 +403,30 @@ void enable_caches(void)
> final_mmu_setup();
> __asm_invalidate_tlb_all();
> }
> +
> +static void mmu_disable(void)
> +{
> + if (get_sctlr() & CR_M)
> + set_sctlr(get_sctlr() & ~CR_M);
> +}
> +
> +static void mmu_enable(void)
> +{
> + if (!(get_sctlr() & CR_M))
> + set_sctlr(get_sctlr() | CR_M);
> +}
> +
> +void mmu_init(void)
Name of function is not mapping about what it is doing.
This function assume MMU is already enabled with early_table and it will setup final_mmu_setup.
> +{
> + mmu_disable();
> + dcache_disable();
> + icache_disable();
> + final_mmu_setup();
> + __asm_invalidate_tlb_all();
> + mmu_enable();
> + icache_enable();
> + set_sctlr(get_sctlr() | CR_C);
> +}
> #endif
If I am correct board_init_r deploy final_mmu_setup via enable_caches().
Why cannot existing framework be used.
>
> static inline u32 initiator_type(u32 cluster, int init_id) diff --git
> a/include/common.h b/include/common.h index 75c78d5..57a9b30 100644
> --- a/include/common.h
> +++ b/include/common.h
> @@ -757,6 +757,7 @@ void flush_dcache_range(unsigned long start,
> unsigned long stop);
> void invalidate_dcache_range(unsigned long start, unsigned long stop);
> void invalidate_dcache_all(void);
> void invalidate_icache_all(void);
> +void mmu_init(void);
>
> enum {
> /* Disable caches (else flush caches but leave them active) */
> --
> 2.1.0.27.g96db324
next prev parent reply other threads:[~2016-01-19 13:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-19 12:39 [U-Boot] [PATCH 1/3] ARMv8/layerscape: Add mmu_init API Zhiqiang Hou
2016-01-19 12:39 ` [U-Boot] [PATCH 2/3] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou
2016-01-19 14:07 ` Prabhakar Kushwaha
2016-01-20 8:41 ` Zhiqiang Hou
2016-01-19 12:39 ` [U-Boot] [PATCH 3/3] ARMv8/ls1043ardb: Integrate FSL PPA Zhiqiang Hou
2016-01-19 13:54 ` Prabhakar Kushwaha [this message]
2016-01-20 12:05 ` [U-Boot] [PATCH 1/3] ARMv8/layerscape: Add mmu_init API Zhiqiang Hou
2016-01-20 15:54 ` york sun
2016-01-21 1:10 ` Zhiqiang Hou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=VI1PR04MB11366D546C5C13B2E480485897C10@VI1PR04MB1136.eurprd04.prod.outlook.com \
--to=prabhakar.kushwaha@nxp.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.