[U-Boot] [PATCH] arm: imx-common: init: extend init_aips to support imx7
Stefano Babic
sbabic at denx.de
Mon Aug 31 17:46:20 CEST 2015
Hi Adrian,
On 29/08/2015 01:06, Adrian Alonso wrote:
> Extend init_aips to support imx7 SoC, use is_soc_type
> and is_cpu_type to resolve at run time aips3 settings
>
> Signed-off-by: Adrian Alonso <aalonso at freescale.com>
> ---
> arch/arm/imx-common/init.c | 44 ++++++++++++++++++++------------------------
> 1 file changed, 20 insertions(+), 24 deletions(-)
>
> diff --git a/arch/arm/imx-common/init.c b/arch/arm/imx-common/init.c
> index f7ed038..c3ac98f 100644
> --- a/arch/arm/imx-common/init.c
> +++ b/arch/arm/imx-common/init.c
> @@ -13,16 +13,11 @@
>
> void init_aips(void)
> {
> - struct aipstz_regs *aips1, *aips2;
> -#ifdef CONFIG_MX6SX
> - struct aipstz_regs *aips3;
> -#endif
> + struct aipstz_regs *aips1, *aips2, *aips3;
>
> aips1 = (struct aipstz_regs *)AIPS1_BASE_ADDR;
> aips2 = (struct aipstz_regs *)AIPS2_BASE_ADDR;
> -#ifdef CONFIG_MX6SX
> aips3 = (struct aipstz_regs *)AIPS3_BASE_ADDR;
> -#endif
>
> /*
> * Set all MPROTx to be non-bufferable, trusted for R/W,
> @@ -49,25 +44,26 @@ void init_aips(void)
> writel(0x00000000, &aips2->opacr3);
> writel(0x00000000, &aips2->opacr4);
>
> -#ifdef CONFIG_MX6SX
> - /*
> - * Set all MPROTx to be non-bufferable, trusted for R/W,
> - * not forced to user-mode.
> - */
> - writel(0x77777777, &aips3->mprot0);
> - writel(0x77777777, &aips3->mprot1);
> + if (is_soc_type(MXC_SOC_MX7) || is_cpu_type(MXC_CPU_MX6SX))
> + {
> + /*
> + * Set all MPROTx to be non-bufferable, trusted for R/W,
> + * not forced to user-mode.
> + */
> + writel(0x77777777, &aips3->mprot0);
> + writel(0x77777777, &aips3->mprot1);
>
> - /*
> - * Set all OPACRx to be non-bufferable, not require
> - * supervisor privilege level for access,allow for
> - * write access and untrusted master access.
> - */
> - writel(0x00000000, &aips3->opacr0);
> - writel(0x00000000, &aips3->opacr1);
> - writel(0x00000000, &aips3->opacr2);
> - writel(0x00000000, &aips3->opacr3);
> - writel(0x00000000, &aips3->opacr4);
> -#endif
> + /*
> + * Set all OPACRx to be non-bufferable, not require
> + * supervisor privilege level for access,allow for
> + * write access and untrusted master access.
> + */
> + writel(0x00000000, &aips3->opacr0);
> + writel(0x00000000, &aips3->opacr1);
> + writel(0x00000000, &aips3->opacr2);
> + writel(0x00000000, &aips3->opacr3);
> + writel(0x00000000, &aips3->opacr4);
> + }
> }
>
> #define SRC_SCR_WARM_RESET_ENABLE 0
>
This looks ok to me. By the way, I see you sent single patches for
i.MXv7 support. I guess the order to apply them is important, isn't it ?
Acked-by: Stefano Babic <sbabic at denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list