ARM: i.MX25: globally disable supervisor protect
authorMartin Kaiser <martin@kaiser.cx>
Mon, 3 Apr 2017 19:47:05 +0000 (21:47 +0200)
committerShawn Guo <shawnguo@kernel.org>
Tue, 4 Apr 2017 13:11:16 +0000 (21:11 +0800)
The problem described in commit 6befda9a272b ("ARM: i.MX53: globally
disable supervisor protect") for the i.MX53 platform applies to i.MX25
as well.

E.g. CSPI1+SDMA and SSI1+SDMA are not working with the default AIPS
configuration. Modifiy the AIPS configuration to allow access to the bus
by SDMA and peripherals.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/mach-imx/mach-imx25.c

index 32dcb5e99e23312709231d4d8809407a654989cb..353b86e3808f93afa297d3ce961a001cab43270c 100644 (file)
@@ -23,6 +23,11 @@ static void __init imx25_init_early(void)
        mxc_set_cpu_type(MXC_CPU_MX25);
 }
 
+static void __init imx25_dt_init(void)
+{
+       imx_aips_allow_unprivileged_access("fsl,imx25-aips");
+}
+
 static void __init mx25_init_irq(void)
 {
        struct device_node *np;
@@ -41,6 +46,7 @@ static const char * const imx25_dt_board_compat[] __initconst = {
 
 DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")
        .init_early     = imx25_init_early,
+       .init_machine   = imx25_dt_init,
        .init_late      = imx25_pm_init,
        .init_irq       = mx25_init_irq,
        .dt_compat      = imx25_dt_board_compat,