summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2017-11-09 09:04:01 +0800
committerPeng Fan <peng.fan@nxp.com>2017-11-10 13:05:11 +0800
commit62277d7e521894b079911fd8e8b26507ff03c018 (patch)
tree6bc531dcb0910f3379f696c152dbf00a372bd663 /include
parentd868e0932ced12ab60c23489ad78a0ad30d0c239 (diff)
MLK-16753-5 imx: mx6qsabreauto: add optee support
Add defconfigs. Enable Trustzone. Update env to runtime boot OP-TEE. To 6QP AUTO, TZASC not enabled now. Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'include')
-rw-r--r--include/configs/mx6qsabreauto.h4
-rw-r--r--include/configs/mx6sabre_common.h95
2 files changed, 74 insertions, 25 deletions
diff --git a/include/configs/mx6qsabreauto.h b/include/configs/mx6qsabreauto.h
index d7d587574f..0a03f93172 100644
--- a/include/configs/mx6qsabreauto.h
+++ b/include/configs/mx6qsabreauto.h
@@ -23,7 +23,11 @@
#undef MFG_NAND_PARTITION
#ifdef CONFIG_NAND_BOOT
+#ifdef CONFIG_IMX_OPTEE
+#define MFG_NAND_PARTITION "mtdparts=8000000.nor:1m(boot),-(rootfs)\\\\;gpmi-nand:64m(boot),16m(tee),16m(kernel),16m(dtb),1m(misc),-(rootfs) "
+#else
#define MFG_NAND_PARTITION "mtdparts=8000000.nor:1m(boot),-(rootfs)\\\\;gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs) "
+#endif
#else
#define MFG_NAND_PARTITION ""
#endif
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index 3fa95018fe..545f103235 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -62,7 +62,11 @@
"\0" \
"initrd_addr=0x12C00000\0" \
"initrd_high=0xffffffff\0" \
- "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
+ "bootcmd_mfg=run mfgtool_args; " \
+ "if test ${tee} = yes; then " \
+ "bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; " \
+ "else " \
+ "bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
#ifdef CONFIG_SUPPORT_EMMC_BOOT
@@ -102,10 +106,16 @@
"fdt_high=0xffffffff\0" \
"bootargs=console=" CONSOLE_DEV ",115200 ubi.mtd=5 " \
"root=ubi0:rootfs rootfstype=ubifs " \
- "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\
- "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\
- "nand read ${fdt_addr} 0x5000000 0x100000;"\
- "bootz ${loadaddr} - ${fdt_addr}\0"
+ MFG_NAND_PARTITION \
+ "\0" \
+ "bootcmd=nand read ${loadaddr} 0x5000000 0x800000;"\
+ "nand read ${fdt_addr} 0x6000000 0x100000;"\
+ "if test ${tee} = yes; then " \
+ "nand read ${tee_addr} 0x4000000 0x400000;"\
+ "bootm ${teeaddr} - ${fdt_addr};" \
+ "else " \
+ "bootz ${loadaddr} - ${fdt_addr};" \
+ "fi\0"
#elif defined(CONFIG_SATA_BOOT)
@@ -119,7 +129,11 @@
"bootcmd_sata=run bootargs_sata; sata init; " \
"sata read ${loadaddr} 0x800 0x4000; " \
"sata read ${fdt_addr} 0x8000 0x800; " \
- "bootz ${loadaddr} - ${fdt_addr} \0" \
+ "if test ${tee} = yes; then " \
+ "sata read ${tee_addr} 0x9000 0x2000; " \
+ "else " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
+ "fi \0"\
"bootcmd=run bootcmd_sata \0"
#else
@@ -131,6 +145,8 @@
"image=zImage\0" \
"fdt_file=undefined\0" \
"fdt_addr=0x18000000\0" \
+ "tee_addr=0x20000000\0" \
+ "tee_file=undefined\0" \
"boot_fdt=try\0" \
"ip_dyn=yes\0" \
"console=" CONSOLE_DEV "\0" \
@@ -167,20 +183,25 @@
"source\0" \
"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+ "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if run loadfdt; then " \
- "bootz ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "if test ${boot_fdt} = try; then " \
- "bootz; " \
+ "if test ${tee} = yes; then " \
+ "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \
+ "else " \
+ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+ "if run loadfdt; then " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
- "echo WARN: Cannot load the DT; " \
+ "if test ${boot_fdt} = try; then " \
+ "bootz; " \
+ "else " \
+ "echo WARN: Cannot load the DT; " \
+ "fi; " \
"fi; " \
- "fi; " \
- "else " \
- "bootz; " \
+ "else " \
+ "bootz; " \
+ "fi;" \
"fi;\0" \
"netargs=setenv bootargs console=${console},${baudrate} ${smp} " \
"root=/dev/nfs " \
@@ -193,18 +214,24 @@
"setenv get_cmd tftp; " \
"fi; " \
"${get_cmd} ${image}; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
- "bootz ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "if test ${boot_fdt} = try; then " \
- "bootz; " \
+ "if test ${tee} = yes; then " \
+ "${get_cmd} ${tee_addr} ${tee_file}; " \
+ "${get_cmd} ${fdt_addr} ${fdt_file}; " \
+ "bootm ${tee_addr} - ${fdt_addr}; " \
+ "else " \
+ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+ "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
- "echo WARN: Cannot load the DT; " \
+ "if test ${boot_fdt} = try; then " \
+ "bootz; " \
+ "else " \
+ "echo WARN: Cannot load the DT; " \
+ "fi; " \
"fi; " \
+ "else " \
+ "bootz; " \
"fi; " \
- "else " \
- "bootz; " \
"fi;\0" \
"findfdt="\
"if test $fdt_file = undefined; then " \
@@ -223,9 +250,27 @@
"if test $fdt_file = undefined; then " \
"echo WARNING: Could not determine dtb to use; fi; " \
"fi;\0" \
+ "findtee="\
+ "if test $tee_file = undefined; then " \
+ "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
+ "setenv tee_file uTee-6qpauto; fi; " \
+ "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
+ "setenv tee_file uTee-6qauto; fi; " \
+ "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
+ "setenv tee_file uTee-6dlauto; fi; " \
+ "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
+ "setenv tee_file uTee-6qpsdb; fi; " \
+ "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
+ "setenv tee_file uTee-6qsdb; fi; " \
+ "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
+ "setenv tee_file uTee-6dlsdb; fi; " \
+ "if test $tee_file = undefined; then " \
+ "echo WARNING: Could not determine tee to use; fi; " \
+ "fi;\0" \
#define CONFIG_BOOTCOMMAND \
"run findfdt;" \
+ "run findtee;" \
"mmc dev ${mmcdev};" \
"if mmc rescan; then " \
"if run loadbootscript; then " \