blob: 0c86a21a3f7b2842ca43738730185bd2d1f4ee1b [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Chen-Yu Tsaifcc7b702015-08-25 10:49:19 +08002/*
3 * (C) Copyright 2015 Chen-Yu Tsai <wens@csie.org>
Chen-Yu Tsaifcc7b702015-08-25 10:49:19 +08004 */
5
6#include <asm/io.h>
7#include <asm/arch/cpu.h>
8#include <asm/arch/tzpc.h>
9
10/* Configure Trust Zone Protection Controller */
11void tzpc_init(void)
12{
13 struct sunxi_tzpc *tzpc = (struct sunxi_tzpc *)SUNXI_TZPC_BASE;
14
Chen-Yu Tsai0932b632016-01-06 15:13:06 +080015#ifdef CONFIG_MACH_SUN6I
Chen-Yu Tsaifcc7b702015-08-25 10:49:19 +080016 /* Enable non-secure access to the RTC */
Chen-Yu Tsai0932b632016-01-06 15:13:06 +080017 writel(SUN6I_TZPC_DECPORT0_RTC, &tzpc->decport0_set);
18#endif
19
20#ifdef CONFIG_MACH_SUN8I_H3
21 /* Enable non-secure access to all peripherals */
22 writel(SUN8I_H3_TZPC_DECPORT0_ALL, &tzpc->decport0_set);
23 writel(SUN8I_H3_TZPC_DECPORT1_ALL, &tzpc->decport1_set);
24 writel(SUN8I_H3_TZPC_DECPORT2_ALL, &tzpc->decport2_set);
25#endif
Chen-Yu Tsaifcc7b702015-08-25 10:49:19 +080026}