Commit 65fd479c23fa3d36d54c1853e3e2645ebcc56e96
Committed by
Ye Li
1 parent
c86df3e535
Exists in
smarc_8mm-imx_v2019.04_4.19.35_1.1.0
and in
1 other branch
MLK-16753-8 imx: mx6ul/ull: add optee support
Add different defconfigs. Enable Trustzone. Update env to runtime boot OP-TEE. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit af4e26c34e091994615ec721bc357b45e43c89e9) (cherry picked from commit cd8397e9c973ac31766adf9565b2af18db9f9606) (cherry picked from commit 79e2e2fbe7ddf376619efb43c4b4e6c4285a6f5c)
Showing 13 changed files with 358 additions and 47 deletions Side-by-side Diff
- board/freescale/mx6ul_14x14_evk/imximage.cfg
- board/freescale/mx6ul_14x14_evk/imximage_lpddr2.cfg
- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
- board/freescale/mx6ul_14x14_evk/plugin.S
- board/freescale/mx6ullevk/imximage.cfg
- board/freescale/mx6ullevk/imximage_lpddr2.cfg
- board/freescale/mx6ullevk/mx6ullevk.c
- board/freescale/mx6ullevk/plugin.S
- configs/mx6ul_14x14_evk_optee_defconfig
- configs/mx6ul_9x9_evk_optee_defconfig
- configs/mx6ull_14x14_evk_optee_defconfig
- include/configs/mx6ul_14x14_evk.h
- include/configs/mx6ullevk.h
board/freescale/mx6ul_14x14_evk/imximage.cfg
... | ... | @@ -64,6 +64,11 @@ |
64 | 64 | DATA 4 0x020c407c 0xffffffff |
65 | 65 | DATA 4 0x020c4080 0xffffffff |
66 | 66 | |
67 | +#ifdef CONFIG_IMX_OPTEE | |
68 | +DATA 4 0x20e4024 0x00000001 | |
69 | +CHECK_BITS_SET 4 0x20e4024 0x1 | |
70 | +#endif | |
71 | + | |
67 | 72 | DATA 4 0x020E04B4 0x000C0000 |
68 | 73 | DATA 4 0x020E04AC 0x00000000 |
69 | 74 | DATA 4 0x020E027C 0x00000030 |
... | ... | @@ -129,6 +134,11 @@ |
129 | 134 | DATA 4 0x020c4078 0xffffffff |
130 | 135 | DATA 4 0x020c407c 0xffffffff |
131 | 136 | DATA 4 0x020c4080 0xffffffff |
137 | + | |
138 | +#ifdef CONFIG_IMX_OPTEE | |
139 | +DATA 4 0x20e4024 0x00000001 | |
140 | +CHECK_BITS_SET 4 0x20e4024 0x1 | |
141 | +#endif | |
132 | 142 | |
133 | 143 | DATA 4 0x020E04B4 0x000C0000 |
134 | 144 | DATA 4 0x020E04AC 0x00000000 |
board/freescale/mx6ul_14x14_evk/imximage_lpddr2.cfg
... | ... | @@ -60,6 +60,11 @@ |
60 | 60 | DATA 4 0x020c4080 0xffffffff |
61 | 61 | DATA 4 0x020c4084 0xffffffff |
62 | 62 | |
63 | +#ifdef CONFIG_IMX_OPTEE | |
64 | +DATA 4 0x20e4024 0x00000001 | |
65 | +CHECK_BITS_SET 4 0x20e4024 0x1 | |
66 | +#endif | |
67 | + | |
63 | 68 | DATA 4 0x020E04B4 0x00080000 |
64 | 69 | DATA 4 0x020E04AC 0x00000000 |
65 | 70 | DATA 4 0x020E027C 0x00000030 |
board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
... | ... | @@ -666,6 +666,11 @@ |
666 | 666 | add_board_boot_modes(board_boot_modes); |
667 | 667 | #endif |
668 | 668 | |
669 | + env_set("tee", "no"); | |
670 | +#ifdef CONFIG_IMX_OPTEE | |
671 | + env_set("tee", "yes"); | |
672 | +#endif | |
673 | + | |
669 | 674 | #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG |
670 | 675 | env_set("board_name", "EVK"); |
671 | 676 |
board/freescale/mx6ul_14x14_evk/plugin.S
board/freescale/mx6ullevk/imximage.cfg
1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | 2 | /* |
3 | 3 | * Copyright (C) 2016 Freescale Semiconductor, Inc. |
4 | + * Copyright 2017 NXP | |
4 | 5 | * |
5 | 6 | * Refer doc/README.imximage for more details about how-to configure |
6 | 7 | * and create imximage boot image |
... | ... | @@ -57,6 +58,11 @@ |
57 | 58 | DATA 4 0x020c4078 0xffffffff |
58 | 59 | DATA 4 0x020c407c 0xffffffff |
59 | 60 | DATA 4 0x020c4080 0xffffffff |
61 | + | |
62 | +#ifdef CONFIG_IMX_OPTEE | |
63 | +DATA 4 0x20e4024 0x00000001 | |
64 | +CHECK_BITS_SET 4 0x20e4024 0x1 | |
65 | +#endif | |
60 | 66 | |
61 | 67 | DATA 4 0x020E04B4 0x000C0000 |
62 | 68 | DATA 4 0x020E04AC 0x00000000 |
board/freescale/mx6ullevk/imximage_lpddr2.cfg
1 | 1 | /* |
2 | 2 | * Copyright (C) 2016 Freescale Semiconductor, Inc. |
3 | + * Copyright 2017 NXP | |
3 | 4 | * |
4 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
5 | 6 | * |
... | ... | @@ -57,6 +58,11 @@ |
57 | 58 | DATA 4 0x020c4078 0xffffffff |
58 | 59 | DATA 4 0x020c407c 0xffffffff |
59 | 60 | DATA 4 0x020c4080 0xffffffff |
61 | + | |
62 | +#ifdef CONFIG_IMX_OPTEE | |
63 | +DATA 4 0x20e4024 0x00000001 | |
64 | +CHECK_BITS_SET 4 0x20e4024 0x1 | |
65 | +#endif | |
60 | 66 | |
61 | 67 | DATA 4 0x020E04B4 0x00080000 |
62 | 68 | DATA 4 0x020E04AC 0x00000000 |
board/freescale/mx6ullevk/mx6ullevk.c
1 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | 2 | /* |
3 | 3 | * Copyright (C) 2016 Freescale Semiconductor, Inc. |
4 | + * Copyright 2017 NXP | |
4 | 5 | */ |
5 | 6 | |
6 | 7 | #include <asm/arch/clock.h> |
... | ... | @@ -380,6 +381,11 @@ |
380 | 381 | { |
381 | 382 | #ifdef CONFIG_CMD_BMODE |
382 | 383 | add_board_boot_modes(board_boot_modes); |
384 | +#endif | |
385 | + | |
386 | + env_set("tee", "no"); | |
387 | +#ifdef CONFIG_IMX_OPTEE | |
388 | + env_set("tee", "yes"); | |
383 | 389 | #endif |
384 | 390 | |
385 | 391 | #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG |
board/freescale/mx6ullevk/plugin.S
1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | 2 | /* |
3 | 3 | * Copyright (C) 2016 Freescale Semiconductor, Inc. |
4 | + * Copyright 2017 NXP | |
4 | 5 | */ |
5 | 6 | |
6 | 7 | #include <config.h> |
... | ... | @@ -239,6 +240,12 @@ |
239 | 240 | str r1, [r0, #0x78] |
240 | 241 | str r1, [r0, #0x7C] |
241 | 242 | str r1, [r0, #0x80] |
243 | + | |
244 | +#ifdef CONFIG_IMX_OPTEE | |
245 | + ldr r0, =0x20e4024 | |
246 | + ldr r1, =0x1 | |
247 | + str r1, [r0] | |
248 | +#endif | |
242 | 249 | .endm |
243 | 250 | |
244 | 251 | .macro imx6_qos_setting |
configs/mx6ul_14x14_evk_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6UL_14X14_EVK=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ul_14x14_evk/imximage.cfg" | |
6 | +CONFIG_IMX_OPTEE=y | |
7 | +CONFIG_BOOTDELAY=3 | |
8 | +# CONFIG_CONSOLE_MUX is not set | |
9 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
10 | +CONFIG_SUPPORT_RAW_INITRD=y | |
11 | +CONFIG_BOUNCE_BUFFER=y | |
12 | +CONFIG_BOARD_EARLY_INIT_F=y | |
13 | +CONFIG_HUSH_PARSER=y | |
14 | +CONFIG_CMD_BOOTZ=y | |
15 | +# CONFIG_CMD_IMLS is not set | |
16 | +CONFIG_CMD_MEMTEST=y | |
17 | +CONFIG_CMD_GPIO=y | |
18 | +CONFIG_CMD_I2C=y | |
19 | +CONFIG_CMD_MMC=y | |
20 | +CONFIG_CMD_SF=y | |
21 | +CONFIG_CMD_USB=y | |
22 | +CONFIG_CMD_DHCP=y | |
23 | +CONFIG_CMD_PING=y | |
24 | +CONFIG_CMD_BMP=y | |
25 | +CONFIG_CMD_CACHE=y | |
26 | +CONFIG_CMD_NET=y | |
27 | +CONFIG_CMD_EXT2=y | |
28 | +CONFIG_CMD_EXT4=y | |
29 | +CONFIG_CMD_EXT4_WRITE=y | |
30 | +CONFIG_CMD_FAT=y | |
31 | +CONFIG_CMD_FS_GENERIC=y | |
32 | +CONFIG_OF_CONTROL=y | |
33 | +CONFIG_DEFAULT_DEVICE_TREE="imx6ul-14x14-evk" | |
34 | +CONFIG_ENV_IS_IN_MMC=y | |
35 | +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y | |
36 | +CONFIG_DM_GPIO=y | |
37 | +CONFIG_DM_74X164=y | |
38 | +CONFIG_DM_I2C=y | |
39 | +CONFIG_DM_MMC=y | |
40 | +CONFIG_FSL_ESDHC=y | |
41 | +CONFIG_DM_SPI_FLASH=y | |
42 | +CONFIG_SPI_FLASH=y | |
43 | +CONFIG_SF_DEFAULT_MODE=0 | |
44 | +CONFIG_SF_DEFAULT_SPEED=40000000 | |
45 | +CONFIG_SPI_FLASH_STMICRO=y | |
46 | +CONFIG_PHYLIB=y | |
47 | +CONFIG_PHY_MICREL=y | |
48 | +CONFIG_DM_ETH=y | |
49 | +CONFIG_MII=y | |
50 | +CONFIG_PINCTRL=y | |
51 | +CONFIG_PINCTRL_IMX6=y | |
52 | +CONFIG_DM_REGULATOR=y | |
53 | +CONFIG_DM_REGULATOR_FIXED=y | |
54 | +CONFIG_DM_REGULATOR_GPIO=y | |
55 | +CONFIG_SPI=y | |
56 | +CONFIG_DM_SPI=y | |
57 | +CONFIG_SOFT_SPI=y | |
58 | +CONFIG_FSL_QSPI=y | |
59 | +CONFIG_USB=y | |
60 | +CONFIG_DM_USB=y | |
61 | +CONFIG_USB_STORAGE=y | |
62 | +CONFIG_USB_HOST_ETHER=y | |
63 | +CONFIG_USB_ETHER_ASIX=y | |
64 | +CONFIG_VIDEO=y |
configs/mx6ul_9x9_evk_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6UL_9X9_EVK=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ul_14x14_evk/imximage_lpddr2.cfg" | |
6 | +CONFIG_IMX_OPTEE=y | |
7 | +CONFIG_BOOTDELAY=3 | |
8 | +# CONFIG_CONSOLE_MUX is not set | |
9 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
10 | +CONFIG_SUPPORT_RAW_INITRD=y | |
11 | +CONFIG_BOUNCE_BUFFER=y | |
12 | +CONFIG_BOARD_EARLY_INIT_F=y | |
13 | +CONFIG_HUSH_PARSER=y | |
14 | +CONFIG_CMD_BOOTZ=y | |
15 | +# CONFIG_CMD_IMLS is not set | |
16 | +CONFIG_CMD_MEMTEST=y | |
17 | +CONFIG_CMD_GPIO=y | |
18 | +CONFIG_CMD_I2C=y | |
19 | +CONFIG_CMD_MMC=y | |
20 | +CONFIG_CMD_SF=y | |
21 | +CONFIG_CMD_USB=y | |
22 | +CONFIG_CMD_DHCP=y | |
23 | +CONFIG_CMD_PING=y | |
24 | +CONFIG_CMD_BMP=y | |
25 | +CONFIG_CMD_CACHE=y | |
26 | +CONFIG_CMD_NET=y | |
27 | +CONFIG_CMD_EXT2=y | |
28 | +CONFIG_CMD_EXT4=y | |
29 | +CONFIG_CMD_EXT4_WRITE=y | |
30 | +CONFIG_CMD_FAT=y | |
31 | +CONFIG_CMD_FS_GENERIC=y | |
32 | +CONFIG_OF_CONTROL=y | |
33 | +CONFIG_DEFAULT_DEVICE_TREE="imx6ul-9x9-evk" | |
34 | +CONFIG_ENV_IS_IN_MMC=y | |
35 | +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y | |
36 | +CONFIG_DM_GPIO=y | |
37 | +CONFIG_DM_74X164=y | |
38 | +CONFIG_DM_I2C=y | |
39 | +CONFIG_DM_MMC=y | |
40 | +CONFIG_FSL_ESDHC=y | |
41 | +CONFIG_DM_SPI_FLASH=y | |
42 | +CONFIG_SPI_FLASH=y | |
43 | +CONFIG_SF_DEFAULT_MODE=0 | |
44 | +CONFIG_SF_DEFAULT_SPEED=40000000 | |
45 | +CONFIG_SPI_FLASH_STMICRO=y | |
46 | +CONFIG_PHYLIB=y | |
47 | +CONFIG_PHY_MICREL=y | |
48 | +CONFIG_DM_ETH=y | |
49 | +CONFIG_MII=y | |
50 | +CONFIG_PINCTRL=y | |
51 | +CONFIG_PINCTRL_IMX6=y | |
52 | +CONFIG_DM_PMIC=y | |
53 | +CONFIG_DM_PMIC_PFUZE100=y | |
54 | +CONFIG_DM_REGULATOR=y | |
55 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
56 | +CONFIG_DM_REGULATOR_FIXED=y | |
57 | +CONFIG_DM_REGULATOR_GPIO=y | |
58 | +CONFIG_SPI=y | |
59 | +CONFIG_DM_SPI=y | |
60 | +CONFIG_SOFT_SPI=y | |
61 | +CONFIG_FSL_QSPI=y | |
62 | +CONFIG_USB=y | |
63 | +CONFIG_DM_USB=y | |
64 | +CONFIG_USB_STORAGE=y | |
65 | +CONFIG_USB_HOST_ETHER=y | |
66 | +CONFIG_USB_ETHER_ASIX=y | |
67 | +CONFIG_VIDEO=y |
configs/mx6ull_14x14_evk_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6ULL_14X14_EVK=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ullevk/imximage.cfg" | |
6 | +CONFIG_SUPPORT_RAW_INITRD=y | |
7 | +CONFIG_BOUNCE_BUFFER=y | |
8 | +CONFIG_VIDEO=y | |
9 | +CONFIG_IMX_OPTEE=y | |
10 | +CONFIG_BOOTDELAY=3 | |
11 | +CONFIG_BOARD_EARLY_INIT_F=y | |
12 | +CONFIG_HUSH_PARSER=y | |
13 | +CONFIG_CMD_BOOTZ=y | |
14 | +# CONFIG_CMD_IMLS is not set | |
15 | +CONFIG_CMD_MEMTEST=y | |
16 | +CONFIG_CMD_GPIO=y | |
17 | +CONFIG_CMD_I2C=y | |
18 | +CONFIG_CMD_MMC=y | |
19 | +CONFIG_CMD_SF=y | |
20 | +CONFIG_CMD_USB=y | |
21 | +CONFIG_CMD_DHCP=y | |
22 | +CONFIG_CMD_PING=y | |
23 | +CONFIG_CMD_BMP=y | |
24 | +CONFIG_CMD_CACHE=y | |
25 | +CONFIG_CMD_NET=y | |
26 | +CONFIG_CMD_EXT2=y | |
27 | +CONFIG_CMD_EXT4=y | |
28 | +CONFIG_CMD_EXT4_WRITE=y | |
29 | +CONFIG_CMD_FAT=y | |
30 | +CONFIG_CMD_FS_GENERIC=y | |
31 | +CONFIG_OF_CONTROL=y | |
32 | +CONFIG_DEFAULT_DEVICE_TREE="imx6ull-14x14-evk" | |
33 | +CONFIG_ENV_IS_IN_MMC=y | |
34 | +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y | |
35 | +CONFIG_DM_GPIO=y | |
36 | +CONFIG_DM_74X164=y | |
37 | +CONFIG_DM_I2C=y | |
38 | +CONFIG_DM_MMC=y | |
39 | +CONFIG_FSL_ESDHC=y | |
40 | +CONFIG_DM_SPI_FLASH=y | |
41 | +CONFIG_SPI_FLASH=y | |
42 | +CONFIG_SF_DEFAULT_MODE=0 | |
43 | +CONFIG_SF_DEFAULT_SPEED=40000000 | |
44 | +CONFIG_SPI_FLASH_STMICRO=y | |
45 | +CONFIG_PHYLIB=y | |
46 | +CONFIG_PHY_MICREL=y | |
47 | +CONFIG_DM_ETH=y | |
48 | +CONFIG_MII=y | |
49 | +CONFIG_PINCTRL=y | |
50 | +CONFIG_PINCTRL_IMX6=y | |
51 | +CONFIG_DM_REGULATOR=y | |
52 | +CONFIG_DM_REGULATOR_FIXED=y | |
53 | +CONFIG_DM_REGULATOR_GPIO=y | |
54 | +CONFIG_SPI=y | |
55 | +CONFIG_DM_SPI=y | |
56 | +CONFIG_SOFT_SPI=y | |
57 | +CONFIG_FSL_QSPI=y | |
58 | +CONFIG_USB=y | |
59 | +CONFIG_DM_USB=y | |
60 | +CONFIG_USB_STORAGE=y | |
61 | +CONFIG_USB_HOST_ETHER=y | |
62 | +CONFIG_USB_ETHER_ASIX=y |
include/configs/mx6ul_14x14_evk.h
1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | 2 | /* |
3 | - * Copyright (C) 2015 Freescale Semiconductor, Inc. | |
3 | + * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. | |
4 | + * Copyright 2017 NXP | |
4 | 5 | * |
5 | 6 | * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. |
6 | 7 | */ |
... | ... | @@ -60,7 +61,7 @@ |
60 | 61 | #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 |
61 | 62 | |
62 | 63 | #ifdef CONFIG_NAND_BOOT |
63 | -#define MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs) " | |
64 | +#define MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),16m(tee),-(rootfs) " | |
64 | 65 | #else |
65 | 66 | #define MFG_NAND_PARTITION "" |
66 | 67 | #endif |
67 | 68 | |
... | ... | @@ -78,11 +79,17 @@ |
78 | 79 | "\0" \ |
79 | 80 | "initrd_addr=0x83800000\0" \ |
80 | 81 | "initrd_high=0xffffffff\0" \ |
81 | - "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \ | |
82 | + "bootcmd_mfg=run mfgtool_args; " \ | |
83 | + "if test ${tee} = yes; then " \ | |
84 | + "bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; " \ | |
85 | + "else " \ | |
86 | + "bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; " \ | |
87 | + "fi;\0" | |
82 | 88 | |
83 | 89 | #if defined(CONFIG_NAND_BOOT) |
84 | 90 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
85 | 91 | CONFIG_MFG_ENV_SETTINGS \ |
92 | + TEE_ENV \ | |
86 | 93 | "panel=TFT43AB\0" \ |
87 | 94 | "fdt_addr=0x83000000\0" \ |
88 | 95 | "fdt_high=0xffffffff\0" \ |
89 | 96 | |
90 | 97 | |
... | ... | @@ -90,14 +97,21 @@ |
90 | 97 | "bootargs=console=ttymxc0,115200 ubi.mtd=4 " \ |
91 | 98 | "root=ubi0:rootfs rootfstype=ubifs " \ |
92 | 99 | BOOTARGS_CMA_SIZE \ |
93 | - "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\ | |
100 | + MFG_NAND_PARTITION \ | |
101 | + "\0" \ | |
94 | 102 | "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\ |
95 | 103 | "nand read ${fdt_addr} 0x5000000 0x100000;"\ |
96 | - "bootz ${loadaddr} - ${fdt_addr}\0" | |
104 | + "if test ${tee} = yes; then " \ | |
105 | + "nand read ${tee_addr} 0x6000000 0x400000;"\ | |
106 | + "bootm ${teeaddr} - ${fdt_addr};" \ | |
107 | + "else " \ | |
108 | + "bootz ${loadaddr} - ${fdt_addr};" \ | |
109 | + "fi\0" | |
97 | 110 | |
98 | 111 | #else |
99 | 112 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
100 | 113 | CONFIG_MFG_ENV_SETTINGS \ |
114 | + TEE_ENV \ | |
101 | 115 | "script=boot.scr\0" \ |
102 | 116 | "image=zImage\0" \ |
103 | 117 | "console=ttymxc0\0" \ |
... | ... | @@ -105,6 +119,8 @@ |
105 | 119 | "initrd_high=0xffffffff\0" \ |
106 | 120 | "fdt_file=undefined\0" \ |
107 | 121 | "fdt_addr=0x83000000\0" \ |
122 | + "tee_addr=0x84000000\0" \ | |
123 | + "tee_file=undefined\0" \ | |
108 | 124 | "boot_fdt=try\0" \ |
109 | 125 | "ip_dyn=yes\0" \ |
110 | 126 | "panel=TFT43AB\0" \ |
111 | 127 | |
112 | 128 | |
113 | 129 | |
114 | 130 | |
... | ... | @@ -121,20 +137,25 @@ |
121 | 137 | "source\0" \ |
122 | 138 | "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ |
123 | 139 | "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ |
140 | + "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ | |
124 | 141 | "mmcboot=echo Booting from mmc ...; " \ |
125 | 142 | "run mmcargs; " \ |
126 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
127 | - "if run loadfdt; then " \ | |
128 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
129 | - "else " \ | |
130 | - "if test ${boot_fdt} = try; then " \ | |
131 | - "bootz; " \ | |
143 | + "if test ${tee} = yes; then " \ | |
144 | + "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ | |
145 | + "else " \ | |
146 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
147 | + "if run loadfdt; then " \ | |
148 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
132 | 149 | "else " \ |
133 | - "echo WARN: Cannot load the DT; " \ | |
150 | + "if test ${boot_fdt} = try; then " \ | |
151 | + "bootz; " \ | |
152 | + "else " \ | |
153 | + "echo WARN: Cannot load the DT; " \ | |
154 | + "fi; " \ | |
134 | 155 | "fi; " \ |
156 | + "else " \ | |
157 | + "bootz; " \ | |
135 | 158 | "fi; " \ |
136 | - "else " \ | |
137 | - "bootz; " \ | |
138 | 159 | "fi;\0" \ |
139 | 160 | "netargs=setenv bootargs console=${console},${baudrate} " \ |
140 | 161 | BOOTARGS_CMA_SIZE \ |
141 | 162 | |
142 | 163 | |
143 | 164 | |
144 | 165 | |
... | ... | @@ -148,19 +169,34 @@ |
148 | 169 | "setenv get_cmd tftp; " \ |
149 | 170 | "fi; " \ |
150 | 171 | "${get_cmd} ${image}; " \ |
151 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
152 | - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
153 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
154 | - "else " \ | |
155 | - "if test ${boot_fdt} = try; then " \ | |
156 | - "bootz; " \ | |
172 | + "if test ${tee} = yes; then " \ | |
173 | + "${get_cmd} ${tee_addr} ${tee_file}; " \ | |
174 | + "${get_cmd} ${fdt_addr} ${fdt_file}; " \ | |
175 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
176 | + "else " \ | |
177 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
178 | + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
179 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
157 | 180 | "else " \ |
158 | - "echo WARN: Cannot load the DT; " \ | |
181 | + "if test ${boot_fdt} = try; then " \ | |
182 | + "bootz; " \ | |
183 | + "else " \ | |
184 | + "echo WARN: Cannot load the DT; " \ | |
185 | + "fi; " \ | |
159 | 186 | "fi; " \ |
187 | + "else " \ | |
188 | + "bootz; " \ | |
160 | 189 | "fi; " \ |
161 | - "else " \ | |
162 | - "bootz; " \ | |
163 | 190 | "fi;\0" \ |
191 | + "findtee="\ | |
192 | + "if test $tee_file = undefined; then " \ | |
193 | + "if test $board_name = EVK && test $board_rev = 9X9; then " \ | |
194 | + "setenv tee_file uTee-6ul9x9; fi; " \ | |
195 | + "if test $board_name = EVK && test $board_rev = 14X14; then " \ | |
196 | + "setenv tee_file uTee-6ulevk; fi; " \ | |
197 | + "if test $fdt_file = undefined; then " \ | |
198 | + "echo WARNING: Could not determine tee to use; fi; " \ | |
199 | + "fi;\0" \ | |
164 | 200 | "findfdt="\ |
165 | 201 | "if test $fdt_file = undefined; then " \ |
166 | 202 | "if test $board_name = EVK && test $board_rev = 9X9; then " \ |
167 | 203 | |
... | ... | @@ -168,11 +204,13 @@ |
168 | 204 | "if test $board_name = EVK && test $board_rev = 14X14; then " \ |
169 | 205 | "setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \ |
170 | 206 | "if test $fdt_file = undefined; then " \ |
171 | - "echo WARNING: Could not determine dtb to use; fi; " \ | |
207 | + "echo WARNING: Could not determine dtb to use; " \ | |
208 | + "fi; " \ | |
172 | 209 | "fi;\0" \ |
173 | 210 | |
174 | 211 | #define CONFIG_BOOTCOMMAND \ |
175 | 212 | "run findfdt;" \ |
213 | + "run findtee;" \ | |
176 | 214 | "mmc dev ${mmcdev};" \ |
177 | 215 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
178 | 216 | "if run loadbootscript; then " \ |
include/configs/mx6ullevk.h
1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | 2 | /* |
3 | 3 | * Copyright (C) 2016 Freescale Semiconductor, Inc. |
4 | + * Copyright 2017 NXP | |
4 | 5 | * |
5 | 6 | * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. |
6 | 7 | */ |
... | ... | @@ -60,7 +61,7 @@ |
60 | 61 | #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 |
61 | 62 | |
62 | 63 | #ifdef CONFIG_NAND_BOOT |
63 | -#define MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs) " | |
64 | +#define MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),16m(tee),-(rootfs) " | |
64 | 65 | #else |
65 | 66 | #define MFG_NAND_PARTITION "" |
66 | 67 | #endif |
67 | 68 | |
... | ... | @@ -78,11 +79,17 @@ |
78 | 79 | "\0" \ |
79 | 80 | "initrd_addr=0x83800000\0" \ |
80 | 81 | "initrd_high=0xffffffff\0" \ |
81 | - "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \ | |
82 | + "bootcmd_mfg=run mfgtool_args; " \ | |
83 | + "if test ${tee} = yes; then " \ | |
84 | + "bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; " \ | |
85 | + "else " \ | |
86 | + "bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; " \ | |
87 | + "fi;\0" | |
82 | 88 | |
83 | 89 | #if defined(CONFIG_NAND_BOOT) |
84 | 90 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
85 | 91 | CONFIG_MFG_ENV_SETTINGS \ |
92 | + TEE_ENV \ | |
86 | 93 | "panel=TFT43AB\0" \ |
87 | 94 | "fdt_addr=0x83000000\0" \ |
88 | 95 | "fdt_high=0xffffffff\0" \ |
89 | 96 | |
90 | 97 | |
... | ... | @@ -90,14 +97,21 @@ |
90 | 97 | "bootargs=console=ttymxc0,115200 ubi.mtd=4 " \ |
91 | 98 | "root=ubi0:rootfs rootfstype=ubifs " \ |
92 | 99 | BOOTARGS_CMA_SIZE \ |
93 | - "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\ | |
100 | + MFG_NAND_PARTITION \ | |
101 | + "\0" \ | |
94 | 102 | "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\ |
95 | 103 | "nand read ${fdt_addr} 0x5000000 0x100000;"\ |
96 | - "bootz ${loadaddr} - ${fdt_addr}\0" | |
104 | + "if test ${tee} = yes; then " \ | |
105 | + "nand read ${tee_addr} 0x6000000 0x400000;"\ | |
106 | + "bootm ${teeaddr} - ${fdt_addr};" \ | |
107 | + "else " \ | |
108 | + "bootz ${loadaddr} - ${fdt_addr};" \ | |
109 | + "fi\0" | |
97 | 110 | |
98 | 111 | #else |
99 | 112 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
100 | 113 | CONFIG_MFG_ENV_SETTINGS \ |
114 | + TEE_ENV \ | |
101 | 115 | "script=boot.scr\0" \ |
102 | 116 | "image=zImage\0" \ |
103 | 117 | "console=ttymxc0\0" \ |
... | ... | @@ -105,6 +119,8 @@ |
105 | 119 | "initrd_high=0xffffffff\0" \ |
106 | 120 | "fdt_file=undefined\0" \ |
107 | 121 | "fdt_addr=0x83000000\0" \ |
122 | + "tee_addr=0x84000000\0" \ | |
123 | + "tee_file=uTee-6ullevk\0" \ | |
108 | 124 | "boot_fdt=try\0" \ |
109 | 125 | "ip_dyn=yes\0" \ |
110 | 126 | "panel=TFT43AB\0" \ |
111 | 127 | |
112 | 128 | |
113 | 129 | |
114 | 130 | |
... | ... | @@ -121,20 +137,25 @@ |
121 | 137 | "source\0" \ |
122 | 138 | "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ |
123 | 139 | "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ |
140 | + "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ | |
124 | 141 | "mmcboot=echo Booting from mmc ...; " \ |
125 | 142 | "run mmcargs; " \ |
126 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
127 | - "if run loadfdt; then " \ | |
128 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
129 | - "else " \ | |
130 | - "if test ${boot_fdt} = try; then " \ | |
131 | - "bootz; " \ | |
143 | + "if test ${tee} = yes; then " \ | |
144 | + "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ | |
145 | + "else " \ | |
146 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
147 | + "if run loadfdt; then " \ | |
148 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
132 | 149 | "else " \ |
133 | - "echo WARN: Cannot load the DT; " \ | |
150 | + "if test ${boot_fdt} = try; then " \ | |
151 | + "bootz; " \ | |
152 | + "else " \ | |
153 | + "echo WARN: Cannot load the DT; " \ | |
154 | + "fi; " \ | |
134 | 155 | "fi; " \ |
156 | + "else " \ | |
157 | + "bootz; " \ | |
135 | 158 | "fi; " \ |
136 | - "else " \ | |
137 | - "bootz; " \ | |
138 | 159 | "fi;\0" \ |
139 | 160 | "netargs=setenv bootargs console=${console},${baudrate} " \ |
140 | 161 | BOOTARGS_CMA_SIZE \ |
141 | 162 | |
142 | 163 | |
143 | 164 | |
... | ... | @@ -148,18 +169,24 @@ |
148 | 169 | "setenv get_cmd tftp; " \ |
149 | 170 | "fi; " \ |
150 | 171 | "${get_cmd} ${image}; " \ |
151 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
152 | - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
153 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
154 | - "else " \ | |
155 | - "if test ${boot_fdt} = try; then " \ | |
156 | - "bootz; " \ | |
172 | + "if test ${tee} = yes; then " \ | |
173 | + "${get_cmd} ${tee_addr} ${tee_file}; " \ | |
174 | + "${get_cmd} ${fdt_addr} ${fdt_file}; " \ | |
175 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
176 | + "else " \ | |
177 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
178 | + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
179 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
157 | 180 | "else " \ |
158 | - "echo WARN: Cannot load the DT; " \ | |
181 | + "if test ${boot_fdt} = try; then " \ | |
182 | + "bootz; " \ | |
183 | + "else " \ | |
184 | + "echo WARN: Cannot load the DT; " \ | |
185 | + "fi; " \ | |
159 | 186 | "fi; " \ |
187 | + "else " \ | |
188 | + "bootz; " \ | |
160 | 189 | "fi; " \ |
161 | - "else " \ | |
162 | - "bootz; " \ | |
163 | 190 | "fi;\0" \ |
164 | 191 | "findfdt="\ |
165 | 192 | "if test $fdt_file = undefined; then " \ |
166 | 193 | |
... | ... | @@ -168,11 +195,13 @@ |
168 | 195 | "if test $board_name = EVK && test $board_rev = 14X14; then " \ |
169 | 196 | "setenv fdt_file imx6ull-14x14-evk.dtb; fi; " \ |
170 | 197 | "if test $fdt_file = undefined; then " \ |
171 | - "echo WARNING: Could not determine dtb to use; fi; " \ | |
198 | + "echo WARNING: Could not determine dtb to use; " \ | |
199 | + "fi; " \ | |
172 | 200 | "fi;\0" \ |
173 | 201 | |
174 | 202 | #define CONFIG_BOOTCOMMAND \ |
175 | 203 | "run findfdt;" \ |
204 | + "run findtee;" \ | |
176 | 205 | "mmc dev ${mmcdev};" \ |
177 | 206 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
178 | 207 | "if run loadbootscript; then " \ |
-
mentioned in commit 16d4e5
-
mentioned in commit 16d4e5
-
mentioned in commit 16d4e5
-
mentioned in commit 16d4e5
-
mentioned in commit df85fa
-
mentioned in commit df85fa
-
mentioned in commit 16d4e5
-
mentioned in commit df85fa
-
mentioned in commit df85fa
-
mentioned in commit df85fa
-
mentioned in commit df85fa
-
mentioned in commit 45f41b