ARM: i.MX: Disable supervisor protect for i.MX51
authorAlexander Shiyan <shc_work@mail.ru>
Sat, 25 Jun 2016 05:26:15 +0000 (08:26 +0300)
committerShawn Guo <shawnguo@kernel.org>
Tue, 28 Jun 2016 02:32:53 +0000 (10:32 +0800)
Most peripherals on the i.MX51 have an Off-Platform Peripheral Access
Control Register (OPACR) in which the access rights (together with the
MPROT registers) can be declared.
However, this does not seem to work for example for SSI1+SDMA, because the
supervisor bit is not set for the SDMA unit.
A similar problem was described in the patch for i.MX53 CPU
(ARM: i.MX53: globally disable supervisor protect), and the same solution
is applicable for i.MX51 CPU.
Patch has tested on custom board based on Digi CCMX-51 module (i.MX51).

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/mach-imx/mach-imx51.c

index 10a82a4f1e5889894c04519cf257a7059e282191..1e91740ac7aec3f344c3b63d4a0077e2e4b1f67d 100644 (file)
@@ -54,6 +54,8 @@ static void __init imx51_dt_init(void)
        imx_src_init();
 
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+
+       imx_aips_allow_unprivileged_access("fsl,imx51-aipstz");
 }
 
 static void __init imx51_init_late(void)