Commit fd1ef4006a3edb02654ec9df49dfcd67ea04bdf0
Committed by
Ye Li
1 parent
7f8558cdff
Exists in
smarc_8mq-imx_v2020.04_5.4.24_2.1.0
and in
3 other branches
MLK-17082-02 imx: add optee support for imx6sl
Add defconfig for tee support; Enable the TZASC support; Add env config for tee support. Signed-off-by: Bai Ping <ping.bai@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 3535868b89df84d3e6554114f7867f9ef908ff01) (cherry picked from commit 82a0b53092cdc0b025749f4d8f1cdfcc66e07db7) (cherry picked from commit dc1602c2d7f9d1ff021e46a9187bbcb10f172a71) (cherry picked from commit 181ae93e7b804db6dca4a0d2c3aaf547413428bb)
Showing 4 changed files with 125 additions and 22 deletions Side-by-side Diff
board/freescale/mx6slevk/imximage.cfg
... | ... | @@ -52,6 +52,11 @@ |
52 | 52 | DATA 4 0x020c407c 0xffffffff |
53 | 53 | DATA 4 0x020c4080 0xffffffff |
54 | 54 | |
55 | +#ifdef CONFIG_IMX_OPTEE | |
56 | +DATA 4 0x020e0024 0x00000001 | |
57 | +CHECK_BITS_SET 4 0x020e0024 0x1 | |
58 | +#endif | |
59 | + | |
55 | 60 | DATA 4 0x020e0344 0x00003030 |
56 | 61 | DATA 4 0x020e0348 0x00003030 |
57 | 62 | DATA 4 0x020e034c 0x00003030 |
board/freescale/mx6slevk/mx6slevk.c
configs/mx6slevk_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6SLEVK=y | |
4 | +CONFIG_ENV_SIZE=0x2000 | |
5 | +CONFIG_ENV_OFFSET=0xE0000 | |
6 | +CONFIG_DM_GPIO=y | |
7 | +CONFIG_NR_DRAM_BANKS=1 | |
8 | +# CONFIG_CMD_BMODE is not set | |
9 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg" | |
10 | +CONFIG_SUPPORT_RAW_INITRD=y | |
11 | +CONFIG_BOUNCE_BUFFER=y | |
12 | +CONFIG_BOARD_EARLY_INIT_F=y | |
13 | +CONFIG_IMX_OPTEE=y | |
14 | +CONFIG_BOOTDELAY=3 | |
15 | +CONFIG_HUSH_PARSER=y | |
16 | +CONFIG_CMD_BOOTZ=y | |
17 | +# CONFIG_CMD_IMLS is not set | |
18 | +# CONFIG_CMD_FLASH is not set | |
19 | +CONFIG_CMD_MEMTEST=y | |
20 | +CONFIG_CMD_GPIO=y | |
21 | +CONFIG_CMD_I2C=y | |
22 | +CONFIG_CMD_MMC=y | |
23 | +CONFIG_CMD_PART=y | |
24 | +CONFIG_CMD_USB=y | |
25 | +# CONFIG_CMD_SETEXPR is not set | |
26 | +CONFIG_CMD_DHCP=y | |
27 | +CONFIG_CMD_MII=y | |
28 | +CONFIG_CMD_PING=y | |
29 | +CONFIG_CMD_CACHE=y | |
30 | +CONFIG_CMD_EXT2=y | |
31 | +CONFIG_CMD_EXT4=y | |
32 | +CONFIG_CMD_EXT4_WRITE=y | |
33 | +CONFIG_CMD_FAT=y | |
34 | +CONFIG_CMD_FS_GENERIC=y | |
35 | +CONFIG_OF_CONTROL=y | |
36 | +CONFIG_DEFAULT_DEVICE_TREE="imx6sl-evk" | |
37 | +CONFIG_ENV_IS_IN_MMC=y | |
38 | +CONFIG_SYS_RELOC_GD_ENV_ADDR=y | |
39 | +CONFIG_DM=y | |
40 | +CONFIG_DM_I2C=y | |
41 | +CONFIG_DM_MMC=y | |
42 | +CONFIG_FSL_USDHC=y | |
43 | +CONFIG_MTD=y | |
44 | +CONFIG_DM_SPI_FLASH=y | |
45 | +CONFIG_SF_DEFAULT_MODE=0 | |
46 | +CONFIG_SF_DEFAULT_SPEED=20000000 | |
47 | +CONFIG_SPI_FLASH_STMICRO=y | |
48 | +CONFIG_PHYLIB=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_MXC_SPI=y | |
61 | +CONFIG_DM_THERMAL=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_DM_ETH=y | |
68 | +CONFIG_FEC_MXC=y | |
69 | +CONFIG_PHY_SMSC=y |
include/configs/mx6slevk.h
... | ... | @@ -58,18 +58,26 @@ |
58 | 58 | "\0" \ |
59 | 59 | "initrd_addr=0x83800000\0" \ |
60 | 60 | "initrd_high=0xffffffff\0" \ |
61 | - "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \ | |
61 | + "bootcmd_mfg=run mfgtool_args;" \ | |
62 | + "if test ${tee} = yes; then " \ | |
63 | + "bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; " \ | |
64 | + "else " \ | |
65 | + "bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; " \ | |
66 | + "fi;\0" | |
62 | 67 | |
63 | 68 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
64 | 69 | CONFIG_MFG_ENV_SETTINGS \ |
70 | + TEE_ENV \ | |
65 | 71 | "epdc_waveform=epdc_splash.bin\0" \ |
66 | 72 | "script=boot.scr\0" \ |
67 | 73 | "image=zImage\0" \ |
68 | 74 | "console=ttymxc0\0" \ |
69 | 75 | "fdt_high=0xffffffff\0" \ |
70 | 76 | "initrd_high=0xffffffff\0" \ |
71 | - "fdt_file=imx6sl-evk.dtb\0" \" \ | |
77 | + "fdt_file=undefined\0" \" \ | |
72 | 78 | "fdt_addr=0x83000000\0" \ |
79 | + "tee_addr=0x84000000\0" \ | |
80 | + "tee_file=uTee-6slevk\0" \ | |
73 | 81 | "boot_fdt=try\0" \ |
74 | 82 | "ip_dyn=yes\0" \ |
75 | 83 | "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ |
76 | 84 | |
77 | 85 | |
78 | 86 | |
79 | 87 | |
... | ... | @@ -84,20 +92,25 @@ |
84 | 92 | "source\0" \ |
85 | 93 | "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ |
86 | 94 | "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ |
95 | + "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ | |
87 | 96 | "mmcboot=echo Booting from mmc ...; " \ |
88 | 97 | "run mmcargs; " \ |
89 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
90 | - "if run loadfdt; then " \ | |
91 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
92 | - "else " \ | |
93 | - "if test ${boot_fdt} = try; then " \ | |
94 | - "bootz; " \ | |
98 | + "if test ${tee} = yes; then " \ | |
99 | + "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ | |
100 | + "else " \ | |
101 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
102 | + "if run loadfdt; then " \ | |
103 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
95 | 104 | "else " \ |
96 | - "echo WARN: Cannot load the DT; " \ | |
105 | + "if test ${boot_fdt} = try; then " \ | |
106 | + "bootz; " \ | |
107 | + "else " \ | |
108 | + "echo WARN: Cannot load the DT; " \ | |
109 | + "fi; " \ | |
97 | 110 | "fi; " \ |
111 | + "else " \ | |
112 | + "bootz; " \ | |
98 | 113 | "fi; " \ |
99 | - "else " \ | |
100 | - "bootz; " \ | |
101 | 114 | "fi;\0" \ |
102 | 115 | "netargs=setenv bootargs console=${console},${baudrate} " \ |
103 | 116 | "root=/dev/nfs " \ |
104 | 117 | |
105 | 118 | |
106 | 119 | |
... | ... | @@ -110,21 +123,32 @@ |
110 | 123 | "setenv get_cmd tftp; " \ |
111 | 124 | "fi; " \ |
112 | 125 | "${get_cmd} ${image}; " \ |
113 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
114 | - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
115 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
116 | - "else " \ | |
117 | - "if test ${boot_fdt} = try; then " \ | |
118 | - "bootz; " \ | |
126 | + "if test ${tee} = yes; then " \ | |
127 | + "${get_cmd} ${tee_addr} ${tee_file}; " \ | |
128 | + "${get_cmd} ${fdt_addr} ${fdt_file}; " \ | |
129 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
130 | + "else " \ | |
131 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
132 | + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
133 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
119 | 134 | "else " \ |
120 | - "echo WARN: Cannot load the DT; " \ | |
135 | + "if test ${boot_fdt} = try; then " \ | |
136 | + "bootz; " \ | |
137 | + "else " \ | |
138 | + "echo WARN: Cannot load the DT; " \ | |
139 | + "fi; " \ | |
121 | 140 | "fi; " \ |
122 | - "fi; " \ | |
123 | - "else " \ | |
124 | - "bootz; " \ | |
125 | - "fi;\0" | |
141 | + "else " \ | |
142 | + "bootz; " \ | |
143 | + "fi;" \ | |
144 | + "fi;\0" \ | |
145 | + "findfdt="\ | |
146 | + "if test $fdt_file = undefined; then " \ | |
147 | + "setenv fdt_file imx6sl-evk.dtb; " \ | |
148 | + "fi;\0" \ | |
126 | 149 | |
127 | 150 | #define CONFIG_BOOTCOMMAND \ |
151 | + "run findfdt;" \ | |
128 | 152 | "mmc dev ${mmcdev};" \ |
129 | 153 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
130 | 154 | "if run loadbootscript; then " \ |