summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/sunxi/tzpc.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2016-01-06 15:13:06 +0800
committerHans de Goede <hdegoede@redhat.com>2016-01-26 16:20:04 +0100
commit5823664fb84612ef511136b66059710cccd71bed (patch)
treec88ee3a6feae6e27ad6d0b0497fa4c023c6d159c /arch/arm/cpu/armv7/sunxi/tzpc.c
parentfe4b71b2373cf0627fbd9d9767fb66059e67eea7 (diff)
downloadtalos-obmc-uboot-5823664fb84612ef511136b66059710cccd71bed.tar.gz
talos-obmc-uboot-5823664fb84612ef511136b66059710cccd71bed.zip
sunxi: Support Secure Memory Touch Arbiter (SMTA) in sun8i H3
Secure Memory Touch Arbiter is the same thing as the TrustZone Protection Controller found on A31/A31s. Access to many peripherals on the H3 can be controlled by the SMTA, and the settings default to secure access only. This patch supports the new settings, and sets them to allow non-secure access. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'arch/arm/cpu/armv7/sunxi/tzpc.c')
-rw-r--r--arch/arm/cpu/armv7/sunxi/tzpc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/sunxi/tzpc.c b/arch/arm/cpu/armv7/sunxi/tzpc.c
index 5c9c69b20b..6c8a0fd9a2 100644
--- a/arch/arm/cpu/armv7/sunxi/tzpc.c
+++ b/arch/arm/cpu/armv7/sunxi/tzpc.c
@@ -13,6 +13,15 @@ void tzpc_init(void)
{
struct sunxi_tzpc *tzpc = (struct sunxi_tzpc *)SUNXI_TZPC_BASE;
+#ifdef CONFIG_MACH_SUN6I
/* Enable non-secure access to the RTC */
- writel(SUNXI_TZPC_DECPORT0_RTC, &tzpc->decport0_set);
+ writel(SUN6I_TZPC_DECPORT0_RTC, &tzpc->decport0_set);
+#endif
+
+#ifdef CONFIG_MACH_SUN8I_H3
+ /* Enable non-secure access to all peripherals */
+ writel(SUN8I_H3_TZPC_DECPORT0_ALL, &tzpc->decport0_set);
+ writel(SUN8I_H3_TZPC_DECPORT1_ALL, &tzpc->decport1_set);
+ writel(SUN8I_H3_TZPC_DECPORT2_ALL, &tzpc->decport2_set);
+#endif
}
OpenPOWER on IntegriCloud