Dear Inderpal Singh, On 15/03/13 15:23, Inderpal Singh wrote: > 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.si...@linaro.org> > Acked-by: Chander Kashyap <chander.kash...@linaro.org> > --- > arch/arm/cpu/armv7/exynos/Makefile | 2 +- > arch/arm/cpu/armv7/exynos/tzpc_init.c | 48 > +++++++++++++++++++++++++++++++ > arch/arm/include/asm/arch-exynos/tzpc.h | 28 ++++++++++++++++++ > board/samsung/smdk5250/Makefile | 1 - > board/samsung/smdk5250/setup.h | 25 ---------------- > board/samsung/smdk5250/tzpc_init.c | 48 > ------------------------------- > include/configs/exynos5250-dt.h | 2 -- > 7 files changed, 77 insertions(+), 77 deletions(-) > create mode 100644 arch/arm/cpu/armv7/exynos/tzpc_init.c > delete mode 100644 board/samsung/smdk5250/tzpc_init.c > > diff --git a/arch/arm/cpu/armv7/exynos/Makefile > b/arch/arm/cpu/armv7/exynos/Makefile > index 9119961..b9cf921 100644 > --- a/arch/arm/cpu/armv7/exynos/Makefile > +++ b/arch/arm/cpu/armv7/exynos/Makefile > @@ -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_init.o
patch looks good. but, do we need to build tzpc always? and please rename tzpc_init.c to just tzpc.c. > > SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) > diff --git a/arch/arm/cpu/armv7/exynos/tzpc_init.c > b/arch/arm/cpu/armv7/exynos/tzpc_init.c > new file mode 100644 > index 0000000..81adb4b > --- /dev/null > +++ b/arch/arm/cpu/armv7/exynos/tzpc_init.c > @@ -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); > + } > + } > +} > diff --git a/arch/arm/include/asm/arch-exynos/tzpc.h > b/arch/arm/include/asm/arch-exynos/tzpc.h > index c5eb4b1..050ad70 100644 > --- a/arch/arm/include/asm/arch-exynos/tzpc.h > +++ b/arch/arm/include/asm/arch-exynos/tzpc.h > @@ -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 we did not need these defines. please use samsung_get_base_tzpc(). > + > +#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 > diff --git a/board/samsung/smdk5250/Makefile b/board/samsung/smdk5250/Makefile > index ecca9f3..f2c32ee 100644 > --- a/board/samsung/smdk5250/Makefile > +++ b/board/samsung/smdk5250/Makefile > @@ -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 > diff --git a/board/samsung/smdk5250/setup.h b/board/samsung/smdk5250/setup.h > index a159601..8c1a3f4 100644 > --- a/board/samsung/smdk5250/setup.h > +++ b/board/samsung/smdk5250/setup.h > @@ -28,18 +28,6 @@ > #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) > > @@ -458,18 +446,6 @@ > /* 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 > index c833541..0000000 > --- a/board/samsung/smdk5250/tzpc_init.c > +++ /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); > - } > - } > -} > diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h > index c03dcf7..8ac05aa 100644 > --- a/include/configs/exynos5250-dt.h > +++ b/include/configs/exynos5250-dt.h > @@ -87,8 +87,6 @@ > #define CONFIG_EXTRA_ENV_SETTINGS \ > EXYNOS_DEVICE_SETTINGS > > -#define TZPC_BASE_OFFSET 0x10000 > - > /* SD/MMC configuration */ > #define CONFIG_GENERIC_MMC > #define CONFIG_MMC > Thanks, Minkyu Kang. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot