diff mbox

ARM: imx53: globally disable supervisor protect

Message ID 1403605229-29623-1-git-send-email-s.trumtrar@pengutronix.de (mailing list archive)
State New, archived
Headers show

Commit Message

Steffen Trumtrar June 24, 2014, 10:20 a.m. UTC
Most peripherals on the i.MX53 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.
It does work for SSI2, the QSB for example uses SSI2 for its audio. But SSI2 only
works because it does NOT have an OPACR.

The right solution would be to fix the access rights for the SDMA, but the unit
responsible for this is the Central Security Unit (CSU), which of course is NOT
documented. So, until documentation for this is openly available, turn of the
supervisor protection, because it cripples the hardware.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
 arch/arm/mach-imx/mach-imx53.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Fabio Estevam June 24, 2014, 11:09 a.m. UTC | #1
On Tue, Jun 24, 2014 at 7:20 AM, Steffen Trumtrar
<s.trumtrar@pengutronix.de> wrote:

> diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
> index 2bad387..4d3e750 100644
> --- a/arch/arm/mach-imx/mach-imx53.c
> +++ b/arch/arm/mach-imx/mach-imx53.c
> @@ -29,6 +29,8 @@ static void __init imx53_dt_init(void)
>         mxc_arch_reset_init_dt();
>
>         of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +
> +       imx_set_aips(MX53_IO_ADDRESS(MX53_AIPS2_BASE_ADDR));

Please retrieve the base address via dt.

MX53_IO_ADDRESS has gone away in linux-next.
Steffen Trumtrar June 25, 2014, 10:39 a.m. UTC | #2
Hi!

On Tue, Jun 24, 2014 at 08:09:14AM -0300, Fabio Estevam wrote:
> On Tue, Jun 24, 2014 at 7:20 AM, Steffen Trumtrar
> <s.trumtrar@pengutronix.de> wrote:
> 
> > diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
> > index 2bad387..4d3e750 100644
> > --- a/arch/arm/mach-imx/mach-imx53.c
> > +++ b/arch/arm/mach-imx/mach-imx53.c
> > @@ -29,6 +29,8 @@ static void __init imx53_dt_init(void)
> >         mxc_arch_reset_init_dt();
> >
> >         of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> > +
> > +       imx_set_aips(MX53_IO_ADDRESS(MX53_AIPS2_BASE_ADDR));
> 
> Please retrieve the base address via dt.
> 
> MX53_IO_ADDRESS has gone away in linux-next.
> 

Okay. I will resend with DT parsing.

Thanks,
Steffen
diff mbox

Patch

diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
index 2bad387..4d3e750 100644
--- a/arch/arm/mach-imx/mach-imx53.c
+++ b/arch/arm/mach-imx/mach-imx53.c
@@ -29,6 +29,8 @@  static void __init imx53_dt_init(void)
 	mxc_arch_reset_init_dt();
 
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+
+	imx_set_aips(MX53_IO_ADDRESS(MX53_AIPS2_BASE_ADDR));
 }
 
 static const char *imx53_dt_board_compat[] __initconst = {