From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/3] exynos: move tzpc_init to armv7/exynos
Date: Fri, 29 Mar 2013 11:57:53 +0900 [thread overview]
Message-ID: <51550331.9030805@samsung.com> (raw)
In-Reply-To: <1363328602-5676-2-git-send-email-inderpal.singh@linaro.org>
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.singh@linaro.org>
> Acked-by: Chander Kashyap <chander.kashyap@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.
next prev parent reply other threads:[~2013-03-29 2:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-15 6:23 [U-Boot] [PATCH v2 0/3] Make tzpc initialization common for exynos4 and exynos5 Inderpal Singh
2013-03-15 6:23 ` [U-Boot] [PATCH v2 1/3] exynos: move tzpc_init to armv7/exynos Inderpal Singh
2013-03-29 2:57 ` Minkyu Kang [this message]
2013-04-05 9:07 ` Inderpal Singh
2013-03-15 6:23 ` [U-Boot] [PATCH v2 2/3] exynos: update tzpc_init to make it common for exynos4 and exynos5 Inderpal Singh
2013-03-15 6:23 ` [U-Boot] [PATCH v2 3/3] exynos: Update origen and smdkv310 to use common tzpc_init Inderpal Singh
2013-03-27 8:46 ` [U-Boot] [PATCH v2 0/3] Make tzpc initialization common for exynos4 and exynos5 Inderpal Singh
2013-03-27 10:22 ` Minkyu Kang
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=51550331.9030805@samsung.com \
--to=mk7.kang@samsung.com \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox