summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2017-11-09 09:14:12 +0800
committerPeng Fan <peng.fan@nxp.com>2017-11-10 13:05:11 +0800
commit7c93e616d69f57668fb7e5ac24d8f7fa98dbe1f2 (patch)
tree329342bf8390cb16dce421d884b319de6cf40207 /board/freescale
parent1ee9ba89a7cce6f80c98a969b1b1b37f8ffde5fa (diff)
MLK-16753-7 imx: mx6sx: add optee support
Add different defconfigs. Enable Trustzone. Update env to runtime boot OP-TEE. Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/mx6sxsabreauto/imximage.cfg5
-rw-r--r--board/freescale/mx6sxsabreauto/mx6sxsabreauto.c5
-rw-r--r--board/freescale/mx6sxsabreauto/plugin.S5
-rw-r--r--board/freescale/mx6sxsabresd/imximage.cfg5
-rw-r--r--board/freescale/mx6sxsabresd/mx6sxsabresd.c5
-rw-r--r--board/freescale/mx6sxsabresd/plugin.S6
6 files changed, 31 insertions, 0 deletions
diff --git a/board/freescale/mx6sxsabreauto/imximage.cfg b/board/freescale/mx6sxsabreauto/imximage.cfg
index 48909a50b1..432e0e8541 100644
--- a/board/freescale/mx6sxsabreauto/imximage.cfg
+++ b/board/freescale/mx6sxsabreauto/imximage.cfg
@@ -55,6 +55,11 @@ DATA 4 0x020c407c 0xffffffff
DATA 4 0x020c4080 0xffffffff
DATA 4 0x020c4084 0xffffffff
+#ifdef CONFIG_IMX_OPTEE
+DATA 4 0x20e4024 0x00000001
+CHECK_BITS_SET 4 0x20e4024 0x1
+#endif
+
/* IOMUX - DDR IO Type */
DATA 4 0x020e0618 0x000c0000
DATA 4 0x020e05fc 0x00000000
diff --git a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
index 71c51eb29e..79343155e6 100644
--- a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
+++ b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
@@ -541,6 +541,11 @@ int board_late_init(void)
add_board_boot_modes(board_boot_modes);
#endif
+ setenv("tee", "no");
+#ifdef CONFIG_IMX_OPTEE
+ setenv("tee", "yes");
+#endif
+
#ifdef CONFIG_ENV_IS_IN_MMC
board_late_mmc_env_init();
#endif
diff --git a/board/freescale/mx6sxsabreauto/plugin.S b/board/freescale/mx6sxsabreauto/plugin.S
index 606bb03cde..ea5640ca15 100644
--- a/board/freescale/mx6sxsabreauto/plugin.S
+++ b/board/freescale/mx6sxsabreauto/plugin.S
@@ -130,6 +130,11 @@
str r1, [r0, #0x07c]
str r1, [r0, #0x080]
str r1, [r0, #0x084]
+#ifdef CONFIG_IMX_OPTEE
+ ldr r0, =0x20e4024
+ ldr r1, =0x1
+ str r1, [r0]
+#endif
.endm
.macro imx6_qos_setting
diff --git a/board/freescale/mx6sxsabresd/imximage.cfg b/board/freescale/mx6sxsabresd/imximage.cfg
index 0ae8b0be29..77b1ff5016 100644
--- a/board/freescale/mx6sxsabresd/imximage.cfg
+++ b/board/freescale/mx6sxsabresd/imximage.cfg
@@ -53,6 +53,11 @@ DATA 4 0x020c407c 0xffffffff
DATA 4 0x020c4080 0xffffffff
DATA 4 0x020c4084 0xffffffff
+#ifdef CONFIG_IMX_OPTEE
+DATA 4 0x20e4024 0x00000001
+CHECK_BITS_SET 4 0x20e4024 0x1
+#endif
+
/* IOMUX - DDR IO Type */
DATA 4 0x020e0618 0x000c0000
DATA 4 0x020e05fc 0x00000000
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
index 608bd1d776..8fbf9d6b71 100644
--- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
+++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
@@ -963,6 +963,11 @@ int board_late_init(void)
add_board_boot_modes(board_boot_modes);
#endif
+ setenv("tee", "no");
+#ifdef CONFIG_IMX_OPTEE
+ setenv("tee", "yes");
+#endif
+
#ifdef CONFIG_ENV_IS_IN_MMC
board_late_mmc_env_init();
#endif
diff --git a/board/freescale/mx6sxsabresd/plugin.S b/board/freescale/mx6sxsabresd/plugin.S
index 350ea260b7..afdb781c74 100644
--- a/board/freescale/mx6sxsabresd/plugin.S
+++ b/board/freescale/mx6sxsabresd/plugin.S
@@ -122,6 +122,12 @@
str r1, [r0, #0x07c]
str r1, [r0, #0x080]
str r1, [r0, #0x084]
+
+#ifdef CONFIG_IMX_OPTEE
+ ldr r0, =0x20e4024
+ ldr r1, =0x1
+ str r1, [r0]
+#endif
.endm
.macro imx6_qos_setting