exynos: move tzpc_init to armv7/exynos
authorInderpal Singh <inderpal.singh@linaro.org>
Thu, 4 Apr 2013 23:09:19 +0000 (23:09 +0000)
committerMinkyu Kang <mk7.kang@samsung.com>
Tue, 4 Jun 2013 06:22:10 +0000 (15:22 +0900)
tzpc_init is common for all exynos5 boards, hence move it to
armv7/exynos so that all other boards can use it.

Also update the smdk5250 Makefile and config file.

Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
Acked-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
arch/arm/cpu/armv7/exynos/Makefile
arch/arm/cpu/armv7/exynos/tzpc.c [new file with mode: 0644]
arch/arm/include/asm/arch-exynos/tzpc.h
board/samsung/smdk5250/Makefile
board/samsung/smdk5250/setup.h
board/samsung/smdk5250/tzpc_init.c [deleted file]
include/configs/exynos5250-dt.h

index 9119961d95dfeab2e0415059b24c7792542e7656..b2f9152e1bf71ccc1f132300645ae344c46c2213 100644 (file)
@@ -22,7 +22,7 @@ include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(SOC).o
 
-COBJS  += clock.o power.o soc.o system.o pinmux.o
+COBJS  += clock.o power.o soc.o system.o pinmux.o tzpc.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS) $(SOBJS))
diff --git a/arch/arm/cpu/armv7/exynos/tzpc.c b/arch/arm/cpu/armv7/exynos/tzpc.c
new file mode 100644 (file)
index 0000000..81adb4b
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Lowlevel setup for SMDK5250 board based on S5PC520
+ *
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <asm/arch/tzpc.h>
+#include <asm/io.h>
+
+/* Setting TZPC[TrustZone Protection Controller] */
+void tzpc_init(void)
+{
+       struct exynos_tzpc *tzpc;
+       unsigned int addr;
+
+       for (addr = TZPC0_BASE; addr <= TZPC9_BASE; addr += TZPC_BASE_OFFSET) {
+               tzpc = (struct exynos_tzpc *)addr;
+
+               if (addr == TZPC0_BASE)
+                       writel(R0SIZE, &tzpc->r0size);
+
+               writel(DECPROTXSET, &tzpc->decprot0set);
+               writel(DECPROTXSET, &tzpc->decprot1set);
+
+               if (addr != TZPC9_BASE) {
+                       writel(DECPROTXSET, &tzpc->decprot2set);
+                       writel(DECPROTXSET, &tzpc->decprot3set);
+               }
+       }
+}
index c5eb4b1cc2bcda1e8c9b9e18a953b0db27aff411..050ad704ce057e5e77f11050618122c056e2229d 100644 (file)
@@ -47,6 +47,34 @@ struct exynos_tzpc {
        unsigned int pcellid2;
        unsigned int pcellid3;
 };
+
+/* TZPC : Register Offsets */
+#define TZPC0_BASE             0x10100000
+#define TZPC1_BASE             0x10110000
+#define TZPC2_BASE             0x10120000
+#define TZPC3_BASE             0x10130000
+#define TZPC4_BASE             0x10140000
+#define TZPC5_BASE             0x10150000
+#define TZPC6_BASE             0x10160000
+#define TZPC7_BASE             0x10170000
+#define TZPC8_BASE             0x10180000
+#define TZPC9_BASE             0x10190000
+
+#define TZPC_BASE_OFFSET               0x10000
+
+/*
+ * TZPC Register Value :
+ * R0SIZE: 0x0 : Size of secured ram
+ */
+#define R0SIZE                 0x0
+
+/*
+ * TZPC Decode Protection Register Value :
+ * DECPROTXSET: 0xFF : Set Decode region to non-secure
+ */
+#define DECPROTXSET            0xFF
+void tzpc_init(void);
+
 #endif
 
 #endif
index 47c6a5a46b51b805bddedd5f06ff9de33bd61e47..d079f4ce784aa9bd8aaa4212bfb7897691f6c0b7 100644 (file)
@@ -28,7 +28,6 @@ SOBJS := lowlevel_init.o
 
 COBJS  := clock_init.o
 COBJS  += dmc_common.o dmc_init_ddr3.o
-COBJS  += tzpc_init.o
 COBJS  += smdk5250_spl.o
 
 ifndef CONFIG_SPL_BUILD
index 34d8bc31f4dea5503fd596dc433f598a87e24521..eb91d131092526a7af038ee29611775b9f8b39ab 100644 (file)
 #include <config.h>
 #include <asm/arch/dmc.h>
 
-/* TZPC : Register Offsets */
-#define TZPC0_BASE             0x10100000
-#define TZPC1_BASE             0x10110000
-#define TZPC2_BASE             0x10120000
-#define TZPC3_BASE             0x10130000
-#define TZPC4_BASE             0x10140000
-#define TZPC5_BASE             0x10150000
-#define TZPC6_BASE             0x10160000
-#define TZPC7_BASE             0x10170000
-#define TZPC8_BASE             0x10180000
-#define TZPC9_BASE             0x10190000
-
 /* APLL_CON1   */
 #define APLL_CON1_VAL  (0x00203800)
 
 /* CLK_GATE_IP_DISP1 */
 #define CLK_GATE_DP1_ALLOW     (1 << 4)
 
-/*
- * TZPC Register Value :
- * R0SIZE: 0x0 : Size of secured ram
- */
-#define R0SIZE                 0x0
-
-/*
- * TZPC Decode Protection Register Value :
- * DECPROTXSET: 0xFF : Set Decode region to non-secure
- */
-#define DECPROTXSET            0xFF
-
 #define DDR3PHY_CTRL_PHY_RESET (1 << 0)
 #define DDR3PHY_CTRL_PHY_RESET_OFF     (0 << 0)
 
@@ -590,5 +566,4 @@ void update_reset_dll(struct exynos5_dmc *, enum ddr_mode);
 void sdelay(unsigned long);
 void mem_ctrl_init(void);
 void system_clock_init(void);
-void tzpc_init(void);
 #endif
diff --git a/board/samsung/smdk5250/tzpc_init.c b/board/samsung/smdk5250/tzpc_init.c
deleted file mode 100644 (file)
index c833541..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Lowlevel setup for SMDK5250 board based on S5PC520
- *
- * Copyright (C) 2012 Samsung Electronics
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <asm/arch/tzpc.h>
-#include"setup.h"
-
-/* Setting TZPC[TrustZone Protection Controller] */
-void tzpc_init(void)
-{
-       struct exynos_tzpc *tzpc;
-       unsigned int addr;
-
-       for (addr = TZPC0_BASE; addr <= TZPC9_BASE; addr += TZPC_BASE_OFFSET) {
-               tzpc = (struct exynos_tzpc *)addr;
-
-               if (addr == TZPC0_BASE)
-                       writel(R0SIZE, &tzpc->r0size);
-
-               writel(DECPROTXSET, &tzpc->decprot0set);
-               writel(DECPROTXSET, &tzpc->decprot1set);
-
-               if (addr != TZPC9_BASE) {
-                       writel(DECPROTXSET, &tzpc->decprot2set);
-                       writel(DECPROTXSET, &tzpc->decprot3set);
-               }
-       }
-}
index f7f4bf2b95ef5eba7fb6616299034a693fe64dad..62b83d4c5498d977114baea4715a0baee15ebdd6 100644 (file)
@@ -93,8 +93,6 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
        EXYNOS_DEVICE_SETTINGS
 
-#define TZPC_BASE_OFFSET               0x10000
-
 /* SD/MMC configuration */
 #define CONFIG_GENERIC_MMC
 #define CONFIG_MMC