From: shawn.guo@freescale.com (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] ARM: imx53: globally disable supervisor protect
Date: Mon, 30 Jun 2014 12:12:27 +0800 [thread overview]
Message-ID: <20140630041226.GB3329@shlinux2> (raw)
In-Reply-To: <1403694091-27247-2-git-send-email-s.trumtrar@pengutronix.de>
On Wed, Jun 25, 2014 at 01:01:31PM +0200, Steffen Trumtrar wrote:
> 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 off the
> supervisor protection because it cripples the hardware.
>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> ---
> arch/arm/mach-imx/mach-imx53.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
> index 2bad387..380c7ee 100644
> --- a/arch/arm/mach-imx/mach-imx53.c
> +++ b/arch/arm/mach-imx/mach-imx53.c
> @@ -15,6 +15,7 @@
> #include <linux/err.h>
> #include <linux/io.h>
> #include <linux/irq.h>
> +#include <linux/of_address.h>
> #include <linux/of_irq.h>
> #include <linux/of_platform.h>
> #include <asm/mach/arch.h>
> @@ -24,11 +25,24 @@
> #include "hardware.h"
> #include "mx53.h"
>
> +static const struct of_device_id aips_of_matches[] __initconst = {
> + { .compatible = "fsl,imx53-aipstz" },
> + { /*sentinel*/ }
> +};
> +
> static void __init imx53_dt_init(void)
> {
> + void __iomem *aips_base_addr;
> + struct device_node *np;
> +
> mxc_arch_reset_init_dt();
>
> of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +
> + for_each_matching_node(np, aips_of_matches) {
> + aips_base_addr = of_iomap(np, 0);
> + imx_set_aips(aips_base_addr);
> + }
The same code pattern might be needed for i.MX31 and i.MX35 device tree
support later. Can we have a helper for it, so that i.MX3 DT conversion
can benefit from it?
Shawn
> }
>
> static const char *imx53_dt_board_compat[] __initconst = {
> --
> 2.0.0
>
next prev parent reply other threads:[~2014-06-30 4:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-25 11:01 [PATCH v2 1/2] ARM: dts: i.MX53: add aipstz nodes Steffen Trumtrar
2014-06-25 11:01 ` [PATCH v2 2/2] ARM: imx53: globally disable supervisor protect Steffen Trumtrar
2014-06-30 4:12 ` Shawn Guo [this message]
2014-06-30 7:04 ` Steffen Trumtrar
2014-07-01 5:24 ` Shawn Guo
2014-07-01 6:30 ` Steffen Trumtrar
2014-07-01 6:34 ` Shawn Guo
2014-06-30 2:27 ` [PATCH v2 1/2] ARM: dts: i.MX53: add aipstz nodes Shawn Guo
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=20140630041226.GB3329@shlinux2 \
--to=shawn.guo@freescale.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.