Commit 3a0b8a0a7a1b9286a3a4f5247970d15234b0632f
Committed by
Ye Li
1 parent
32a6fd10d7
Exists in
smarc_8mq_lf_v2020.04
and in
4 other branches
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> (cherry picked from commit 62277d7e521894b079911fd8e8b26507ff03c018) (cherry picked from commit b7be942860a15feb0bd660b1922d4ed9306f1184) (cherry picked from commit 56d2100c6b3c483d063ce70ad7ce9d6da378ada6) (cherry picked from commit 44242fe2c59c99936552cefd42b576feb51a25d7)
Showing 10 changed files with 411 additions and 24 deletions Side-by-side Diff
- board/freescale/mx6sabreauto/imximage.cfg
- board/freescale/mx6sabreauto/mx6dl.cfg
- board/freescale/mx6sabreauto/mx6sabreauto.c
- board/freescale/mx6sabreauto/mx6solo.cfg
- board/freescale/mx6sabreauto/plugin.S
- configs/mx6dlsabreauto_optee_defconfig
- configs/mx6qpsabreauto_optee_defconfig
- configs/mx6qsabreauto_optee_defconfig
- configs/mx6solosabreauto_optee_defconfig
- include/configs/mx6sabre_common.h
board/freescale/mx6sabreauto/imximage.cfg
... | ... | @@ -51,6 +51,11 @@ |
51 | 51 | * Address absolute address of the register |
52 | 52 | * value value to be stored in the register |
53 | 53 | */ |
54 | +#ifdef CONFIG_IMX_OPTEE | |
55 | +SET_BIT 4 0x20c4070 0x3c00000 | |
56 | +DATA 4 0x20e0024 0x00000003 | |
57 | +CHECK_BITS_SET 4 0x20e0024 0x3 | |
58 | +#endif | |
54 | 59 | DATA 4 0x020e0798 0x000C0000 |
55 | 60 | DATA 4 0x020e0758 0x00000000 |
56 | 61 | DATA 4 0x020e0588 0x00000030 |
board/freescale/mx6sabreauto/mx6dl.cfg
... | ... | @@ -52,6 +52,11 @@ |
52 | 52 | * Address absolute address of the register |
53 | 53 | * value value to be stored in the register |
54 | 54 | */ |
55 | +#ifdef CONFIG_IMX_OPTEE | |
56 | +SET_BIT 4 0x20c4070 0x3c00000 | |
57 | +DATA 4 0x20e0024 0x00000003 | |
58 | +CHECK_BITS_SET 4 0x20e0024 0x3 | |
59 | +#endif | |
55 | 60 | DATA 4 0x020e0774 0x000C0000 |
56 | 61 | DATA 4 0x020e0754 0x00000000 |
57 | 62 | DATA 4 0x020e04ac 0x00000030 |
board/freescale/mx6sabreauto/mx6sabreauto.c
... | ... | @@ -907,6 +907,11 @@ |
907 | 907 | add_board_boot_modes(board_boot_modes); |
908 | 908 | #endif |
909 | 909 | |
910 | + env_set("tee", "no"); | |
911 | +#ifdef CONFIG_IMX_OPTEE | |
912 | + env_set("tee", "yes"); | |
913 | +#endif | |
914 | + | |
910 | 915 | #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG |
911 | 916 | env_set("board_name", "SABREAUTO"); |
912 | 917 |
board/freescale/mx6sabreauto/mx6solo.cfg
... | ... | @@ -52,6 +52,11 @@ |
52 | 52 | * Address absolute address of the register |
53 | 53 | * value value to be stored in the register |
54 | 54 | */ |
55 | +#ifdef CONFIG_IMX_OPTEE | |
56 | +SET_BIT 4 0x20c4070 0x3c00000 | |
57 | +DATA 4 0x20e0024 0x00000003 | |
58 | +CHECK_BITS_SET 4 0x20e0024 0x3 | |
59 | +#endif | |
55 | 60 | DATA 4, 0x020e0774, 0x000C0000 |
56 | 61 | DATA 4, 0x020e0754, 0x00000000 |
57 | 62 | DATA 4, 0x020e04ac, 0x00000030 |
board/freescale/mx6sabreauto/plugin.S
... | ... | @@ -631,6 +631,14 @@ |
631 | 631 | str r1, [r0, #0x07c] |
632 | 632 | ldr r1, =0x00000FFF |
633 | 633 | str r1, [r0, #0x080] |
634 | + | |
635 | +#ifdef CONFIG_IMX_OPTEE | |
636 | +#ifndef CONFIG_MX6QP | |
637 | + ldr r0, =0x20e0024 | |
638 | + ldr r1, =0x3 | |
639 | + str r1, [r0] | |
640 | +#endif | |
641 | +#endif | |
634 | 642 | .endm |
635 | 643 | |
636 | 644 | .macro imx6_qos_setting |
configs/mx6dlsabreauto_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6DLSABREAUTO=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_ENV_SIZE=0x2000 | |
6 | +CONFIG_ENV_OFFSET=0xE0000 | |
7 | +CONFIG_DM_VIDEO=y | |
8 | +# CONFIG_VIDEO_BPP8 is not set | |
9 | +# CONFIG_VIDEO_BPP32 is not set | |
10 | +CONFIG_SYS_WHITE_ON_BLACK=y | |
11 | +CONFIG_VIDEO_IPUV3=y | |
12 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sabreauto/mx6dl.cfg" | |
13 | +CONFIG_IMX_OPTEE=y | |
14 | +CONFIG_ENV_IS_IN_MMC=y | |
15 | +CONFIG_BOOTDELAY=3 | |
16 | +# CONFIG_CONSOLE_MUX is not set | |
17 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
18 | +CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y | |
19 | +CONFIG_SUPPORT_RAW_INITRD=y | |
20 | +CONFIG_BOUNCE_BUFFER=y | |
21 | +CONFIG_HUSH_PARSER=y | |
22 | +CONFIG_CMD_BOOTZ=y | |
23 | +# CONFIG_CMD_IMLS is not set | |
24 | +# CONFIG_CMD_FLASH is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_MMC=y | |
27 | +CONFIG_CMD_PART=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_USB=y | |
30 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
31 | +CONFIG_CMD_GPIO=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_CACHE=y | |
36 | +CONFIG_CMD_EXT2=y | |
37 | +CONFIG_CMD_EXT4=y | |
38 | +CONFIG_CMD_EXT4_WRITE=y | |
39 | +CONFIG_CMD_FAT=y | |
40 | +CONFIG_CMD_FS_GENERIC=y | |
41 | +CONFIG_USB=y | |
42 | +CONFIG_DM_USB=y | |
43 | +CONFIG_USB_STORAGE=y | |
44 | +CONFIG_USB_GADGET=y | |
45 | +CONFIG_CI_UDC=y | |
46 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
47 | +CONFIG_USB_HOST_ETHER=y | |
48 | +CONFIG_USB_ETHER_ASIX=y | |
49 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
50 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
51 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
52 | + | |
53 | +# CONFIG_VIDEO_SW_CURSOR is not set | |
54 | +# CONFIG_OF_LIBFDT=y | |
55 | + | |
56 | +CONFIG_DEFAULT_DEVICE_TREE="imx6dl-sabreauto" | |
57 | +CONFIG_OF_CONTROL=y | |
58 | +CONFIG_DM_GPIO=y | |
59 | +CONFIG_DM_PCA953X=y | |
60 | +CONFIG_DM_I2C=y | |
61 | +CONFIG_DM_MMC=y | |
62 | +CONFIG_FSL_USDHC=y | |
63 | +CONFIG_PINCTRL=y | |
64 | +CONFIG_PINCTRL_IMX6=y | |
65 | +CONFIG_DM_PMIC=y | |
66 | +CONFIG_DM_PMIC_PFUZE100=y | |
67 | +CONFIG_DM_REGULATOR=y | |
68 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
69 | +CONFIG_DM_REGULATOR_FIXED=y | |
70 | +CONFIG_DM_REGULATOR_GPIO=y | |
71 | +CONFIG_DM_ETH=y | |
72 | +CONFIG_PHYLIB=y | |
73 | +CONFIG_MII=y |
configs/mx6qpsabreauto_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6QPSABREAUTO=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_ENV_SIZE=0x2000 | |
6 | +CONFIG_ENV_OFFSET=0xE0000 | |
7 | +CONFIG_DM_VIDEO=y | |
8 | +# CONFIG_VIDEO_BPP8 is not set | |
9 | +# CONFIG_VIDEO_BPP32 is not set | |
10 | +CONFIG_SYS_WHITE_ON_BLACK=y | |
11 | +CONFIG_VIDEO_IPUV3=y | |
12 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sabreauto/mx6qp.cfg" | |
13 | +CONFIG_IMX_OPTEE=y | |
14 | +CONFIG_ENV_IS_IN_MMC=y | |
15 | +CONFIG_BOOTDELAY=3 | |
16 | +# CONFIG_CONSOLE_MUX is not set | |
17 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
18 | +CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y | |
19 | +CONFIG_SUPPORT_RAW_INITRD=y | |
20 | +CONFIG_BOUNCE_BUFFER=y | |
21 | +CONFIG_HUSH_PARSER=y | |
22 | +CONFIG_CMD_BOOTZ=y | |
23 | +# CONFIG_CMD_IMLS is not set | |
24 | +# CONFIG_CMD_FLASH is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_MMC=y | |
27 | +CONFIG_CMD_PART=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_USB=y | |
30 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
31 | +CONFIG_CMD_GPIO=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_CACHE=y | |
36 | +CONFIG_CMD_EXT2=y | |
37 | +CONFIG_CMD_EXT4=y | |
38 | +CONFIG_CMD_EXT4_WRITE=y | |
39 | +CONFIG_CMD_FAT=y | |
40 | +CONFIG_CMD_FS_GENERIC=y | |
41 | +CONFIG_USB=y | |
42 | +CONFIG_DM_USB=y | |
43 | +CONFIG_USB_STORAGE=y | |
44 | +CONFIG_USB_GADGET=y | |
45 | +CONFIG_CI_UDC=y | |
46 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
47 | +CONFIG_USB_HOST_ETHER=y | |
48 | +CONFIG_USB_ETHER_ASIX=y | |
49 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
50 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
51 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
52 | + | |
53 | +# CONFIG_VIDEO_SW_CURSOR is not set | |
54 | +# CONFIG_OF_LIBFDT=y | |
55 | + | |
56 | +CONFIG_DEFAULT_DEVICE_TREE="imx6qp-sabreauto" | |
57 | +CONFIG_OF_CONTROL=y | |
58 | +CONFIG_DM_GPIO=y | |
59 | +CONFIG_DM_PCA953X=y | |
60 | +CONFIG_DM_I2C=y | |
61 | +CONFIG_DM_MMC=y | |
62 | +CONFIG_FSL_USDHC=y | |
63 | +CONFIG_PINCTRL=y | |
64 | +CONFIG_PINCTRL_IMX6=y | |
65 | +CONFIG_DM_PMIC=y | |
66 | +CONFIG_DM_PMIC_PFUZE100=y | |
67 | +CONFIG_DM_REGULATOR=y | |
68 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
69 | +CONFIG_DM_REGULATOR_FIXED=y | |
70 | +CONFIG_DM_REGULATOR_GPIO=y | |
71 | +CONFIG_DM_ETH=y | |
72 | +CONFIG_PHYLIB=y | |
73 | +CONFIG_MII=y |
configs/mx6qsabreauto_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6QSABREAUTO=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_ENV_SIZE=0x2000 | |
6 | +CONFIG_ENV_OFFSET=0xE0000 | |
7 | +CONFIG_DM_VIDEO=y | |
8 | +# CONFIG_VIDEO_BPP8 is not set | |
9 | +# CONFIG_VIDEO_BPP32 is not set | |
10 | +CONFIG_SYS_WHITE_ON_BLACK=y | |
11 | +CONFIG_VIDEO_IPUV3=y | |
12 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sabreauto/imximage.cfg" | |
13 | +CONFIG_IMX_OPTEE=y | |
14 | +CONFIG_ENV_IS_IN_MMC=y | |
15 | +CONFIG_BOOTDELAY=3 | |
16 | +# CONFIG_CONSOLE_MUX is not set | |
17 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
18 | +CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y | |
19 | +CONFIG_SUPPORT_RAW_INITRD=y | |
20 | +CONFIG_BOUNCE_BUFFER=y | |
21 | +CONFIG_HUSH_PARSER=y | |
22 | +CONFIG_CMD_BOOTZ=y | |
23 | +# CONFIG_CMD_IMLS is not set | |
24 | +# CONFIG_CMD_FLASH is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_MMC=y | |
27 | +CONFIG_CMD_PART=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_USB=y | |
30 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
31 | +CONFIG_CMD_GPIO=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_CACHE=y | |
36 | +CONFIG_CMD_EXT2=y | |
37 | +CONFIG_CMD_EXT4=y | |
38 | +CONFIG_CMD_EXT4_WRITE=y | |
39 | +CONFIG_CMD_FAT=y | |
40 | +CONFIG_CMD_FS_GENERIC=y | |
41 | +CONFIG_USB=y | |
42 | +CONFIG_DM_USB=y | |
43 | +CONFIG_USB_STORAGE=y | |
44 | +CONFIG_USB_GADGET=y | |
45 | +CONFIG_CI_UDC=y | |
46 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
47 | +CONFIG_USB_HOST_ETHER=y | |
48 | +CONFIG_USB_ETHER_ASIX=y | |
49 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
50 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
51 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
52 | + | |
53 | +# CONFIG_VIDEO_SW_CURSOR is not set | |
54 | +# CONFIG_OF_LIBFDT=y | |
55 | + | |
56 | +CONFIG_DEFAULT_DEVICE_TREE="imx6q-sabreauto" | |
57 | +CONFIG_OF_CONTROL=y | |
58 | +CONFIG_DM_GPIO=y | |
59 | +CONFIG_DM_PCA953X=y | |
60 | +CONFIG_DM_I2C=y | |
61 | +CONFIG_DM_MMC=y | |
62 | +CONFIG_FSL_USDHC=y | |
63 | +CONFIG_PINCTRL=y | |
64 | +CONFIG_PINCTRL_IMX6=y | |
65 | +CONFIG_DM_PMIC=y | |
66 | +CONFIG_DM_PMIC_PFUZE100=y | |
67 | +CONFIG_DM_REGULATOR=y | |
68 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
69 | +CONFIG_DM_REGULATOR_FIXED=y | |
70 | +CONFIG_DM_REGULATOR_GPIO=y | |
71 | +CONFIG_DM_ETH=y | |
72 | +CONFIG_PHYLIB=y | |
73 | +CONFIG_MII=y |
configs/mx6solosabreauto_optee_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_TARGET_MX6SOLOSABREAUTO=y | |
4 | +CONFIG_NR_DRAM_BANKS=1 | |
5 | +CONFIG_ENV_SIZE=0x2000 | |
6 | +CONFIG_ENV_OFFSET=0xE0000 | |
7 | +CONFIG_DM_VIDEO=y | |
8 | +# CONFIG_VIDEO_BPP8 is not set | |
9 | +# CONFIG_VIDEO_BPP32 is not set | |
10 | +CONFIG_SYS_WHITE_ON_BLACK=y | |
11 | +CONFIG_VIDEO_IPUV3=y | |
12 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sabreauto/mx6solo.cfg" | |
13 | +CONFIG_IMX_OPTEE=y | |
14 | +CONFIG_ENV_IS_IN_MMC=y | |
15 | +CONFIG_BOOTDELAY=3 | |
16 | +# CONFIG_CONSOLE_MUX is not set | |
17 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
18 | +CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y | |
19 | +CONFIG_SUPPORT_RAW_INITRD=y | |
20 | +CONFIG_BOUNCE_BUFFER=y | |
21 | +CONFIG_HUSH_PARSER=y | |
22 | +CONFIG_CMD_BOOTZ=y | |
23 | +# CONFIG_CMD_IMLS is not set | |
24 | +# CONFIG_CMD_FLASH is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_MMC=y | |
27 | +CONFIG_CMD_PART=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_USB=y | |
30 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
31 | +CONFIG_CMD_GPIO=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_CACHE=y | |
36 | +CONFIG_CMD_EXT2=y | |
37 | +CONFIG_CMD_EXT4=y | |
38 | +CONFIG_CMD_EXT4_WRITE=y | |
39 | +CONFIG_CMD_FAT=y | |
40 | +CONFIG_CMD_FS_GENERIC=y | |
41 | +CONFIG_USB=y | |
42 | +CONFIG_DM_USB=y | |
43 | +CONFIG_USB_STORAGE=y | |
44 | +CONFIG_USB_GADGET=y | |
45 | +CONFIG_CI_UDC=y | |
46 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
47 | +CONFIG_USB_HOST_ETHER=y | |
48 | +CONFIG_USB_ETHER_ASIX=y | |
49 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
50 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
51 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
52 | + | |
53 | +# CONFIG_VIDEO_SW_CURSOR is not set | |
54 | +# CONFIG_OF_LIBFDT=y | |
55 | + | |
56 | +CONFIG_DEFAULT_DEVICE_TREE="imx6dl-sabreauto" | |
57 | +CONFIG_OF_CONTROL=y | |
58 | +CONFIG_DM_GPIO=y | |
59 | +CONFIG_DM_PCA953X=y | |
60 | +CONFIG_DM_I2C=y | |
61 | +CONFIG_DM_MMC=y | |
62 | +CONFIG_FSL_USDHC=y | |
63 | +CONFIG_PINCTRL=y | |
64 | +CONFIG_PINCTRL_IMX6=y | |
65 | +CONFIG_DM_PMIC=y | |
66 | +CONFIG_DM_PMIC_PFUZE100=y | |
67 | +CONFIG_DM_REGULATOR=y | |
68 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
69 | +CONFIG_DM_REGULATOR_FIXED=y | |
70 | +CONFIG_DM_REGULATOR_GPIO=y | |
71 | +CONFIG_DM_ETH=y | |
72 | +CONFIG_PHYLIB=y | |
73 | +CONFIG_MII=y |
include/configs/mx6sabre_common.h
... | ... | @@ -51,9 +51,13 @@ |
51 | 51 | "\0" \ |
52 | 52 | "initrd_addr=0x12C00000\0" \ |
53 | 53 | "initrd_high=0xffffffff\0" \ |
54 | - "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \ | |
54 | + "bootcmd_mfg=run mfgtool_args; " \ | |
55 | + "if test ${tee} = yes; then " \ | |
56 | + "bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; " \ | |
57 | + "else " \ | |
58 | + "bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; " \ | |
59 | + "fi;\0" | |
55 | 60 | |
56 | - | |
57 | 61 | #ifdef CONFIG_SUPPORT_EMMC_BOOT |
58 | 62 | #define EMMC_ENV \ |
59 | 63 | "emmcdev=2\0" \ |
60 | 64 | |
... | ... | @@ -87,7 +91,9 @@ |
87 | 91 | */ |
88 | 92 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
89 | 93 | CONFIG_MFG_ENV_SETTINGS \ |
94 | + TEE_ENV \ | |
90 | 95 | "fdt_addr=0x18000000\0" \ |
96 | + "tee_addr=0x20000000\0" \ | |
91 | 97 | "fdt_high=0xffffffff\0" \ |
92 | 98 | "console=" CONSOLE_DEV "\0" \ |
93 | 99 | "bootargs=console=" CONSOLE_DEV ",115200 ubi.mtd=6 " \ |
94 | 100 | |
95 | 101 | |
... | ... | @@ -96,16 +102,24 @@ |
96 | 102 | "\0" \ |
97 | 103 | "bootcmd=nand read ${loadaddr} 0x4000000 0xc00000;"\ |
98 | 104 | "nand read ${fdt_addr} 0x5000000 0x100000;"\ |
99 | - "bootz ${loadaddr} - ${fdt_addr}\0" | |
105 | + "if test ${tee} = yes; then " \ | |
106 | + "nand read ${tee_addr} 0x4000000 0x400000;"\ | |
107 | + "bootm ${tee_addr} - ${fdt_addr};" \ | |
108 | + "else " \ | |
109 | + "bootz ${loadaddr} - ${fdt_addr};" \ | |
110 | + "fi\0" | |
100 | 111 | |
101 | 112 | #elif defined(CONFIG_SATA_BOOT) |
102 | 113 | |
103 | 114 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
104 | 115 | CONFIG_MFG_ENV_SETTINGS \ |
116 | + TEE_ENV \ | |
105 | 117 | "image=zImage\0" \ |
106 | 118 | "fdt_file=undefined\0" \ |
107 | 119 | "fdt_addr=0x18000000\0" \ |
108 | 120 | "fdt_high=0xffffffff\0" \ |
121 | + "tee_addr=0x20000000\0" \ | |
122 | + "tee_file=undefined\0" \ | |
109 | 123 | "findfdt="\ |
110 | 124 | "if test $fdt_file = undefined; then " \ |
111 | 125 | "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ |
112 | 126 | |
113 | 127 | |
114 | 128 | |
115 | 129 | |
... | ... | @@ -125,25 +139,49 @@ |
125 | 139 | "fi; " \ |
126 | 140 | "fi;\0" \ |
127 | 141 | "findtee="\ |
142 | + "if test $tee_file = undefined; then " \ | |
143 | + "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ | |
144 | + "setenv tee_file uTee-6qpauto; fi; " \ | |
145 | + "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ | |
146 | + "setenv tee_file uTee-6qauto; fi; " \ | |
147 | + "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ | |
148 | + "setenv tee_file uTee-6dlauto; fi; " \ | |
149 | + "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ | |
150 | + "setenv tee_file uTee-6qpsdb; fi; " \ | |
151 | + "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ | |
152 | + "setenv tee_file uTee-6qsdb; fi; " \ | |
153 | + "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ | |
154 | + "setenv tee_file uTee-6dlsdb; fi; " \ | |
155 | + "if test $tee_file = undefined; then " \ | |
156 | + "echo WARNING: Could not determine tee to use; fi; " \ | |
157 | + "fi;\0" \ | |
128 | 158 | "bootargs=console=" CONSOLE_DEV ",115200 \0"\ |
129 | 159 | "bootargs_sata=setenv bootargs ${bootargs} " \ |
130 | 160 | "root=/dev/sda2 rootwait rw \0" \ |
131 | 161 | "bootcmd_sata=run bootargs_sata; sata init; " \ |
132 | - "run findfdt;" \ | |
162 | + "run findfdt; run findtee;" \ | |
133 | 163 | "fatload sata 0:1 ${loadaddr} ${image}; " \ |
134 | 164 | "fatload sata 0:1 ${fdt_addr} ${fdt_file}; " \ |
135 | - "bootz ${loadaddr} - ${fdt_addr} \0" \ | |
165 | + "if test ${tee} = yes; then " \ | |
166 | + "fatload sata 0:1 ${tee_addr} ${tee_file}; " \ | |
167 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
168 | + "else " \ | |
169 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
170 | + "fi \0"\ | |
136 | 171 | "bootcmd=run bootcmd_sata \0" |
137 | 172 | |
138 | 173 | #else |
139 | 174 | |
140 | 175 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
141 | 176 | CONFIG_MFG_ENV_SETTINGS \ |
177 | + TEE_ENV \ | |
142 | 178 | "epdc_waveform=epdc_splash.bin\0" \ |
143 | 179 | "script=boot.scr\0" \ |
144 | 180 | "image=zImage\0" \ |
145 | 181 | "fdt_file=undefined\0" \ |
146 | 182 | "fdt_addr=0x18000000\0" \ |
183 | + "tee_addr=0x20000000\0" \ | |
184 | + "tee_file=undefined\0" \ | |
147 | 185 | "boot_fdt=try\0" \ |
148 | 186 | "ip_dyn=yes\0" \ |
149 | 187 | "console=" CONSOLE_DEV "\0" \ |
150 | 188 | |
151 | 189 | |
152 | 190 | |
... | ... | @@ -182,20 +220,25 @@ |
182 | 220 | "source\0" \ |
183 | 221 | "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ |
184 | 222 | "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ |
223 | + "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ | |
185 | 224 | "mmcboot=echo Booting from mmc ...; " \ |
186 | 225 | "run mmcargs; " \ |
187 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
188 | - "if run loadfdt; then " \ | |
189 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
190 | - "else " \ | |
191 | - "if test ${boot_fdt} = try; then " \ | |
192 | - "bootz; " \ | |
226 | + "if test ${tee} = yes; then " \ | |
227 | + "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ | |
228 | + "else " \ | |
229 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
230 | + "if run loadfdt; then " \ | |
231 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
193 | 232 | "else " \ |
194 | - "echo WARN: Cannot load the DT; " \ | |
233 | + "if test ${boot_fdt} = try; then " \ | |
234 | + "bootz; " \ | |
235 | + "else " \ | |
236 | + "echo WARN: Cannot load the DT; " \ | |
237 | + "fi; " \ | |
195 | 238 | "fi; " \ |
196 | - "fi; " \ | |
197 | - "else " \ | |
198 | - "bootz; " \ | |
239 | + "else " \ | |
240 | + "bootz; " \ | |
241 | + "fi;" \ | |
199 | 242 | "fi;\0" \ |
200 | 243 | "netargs=setenv bootargs console=${console},${baudrate} ${smp} " \ |
201 | 244 | "root=/dev/nfs " \ |
202 | 245 | |
203 | 246 | |
204 | 247 | |
... | ... | @@ -208,18 +251,24 @@ |
208 | 251 | "setenv get_cmd tftp; " \ |
209 | 252 | "fi; " \ |
210 | 253 | "${get_cmd} ${image}; " \ |
211 | - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
212 | - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
213 | - "bootz ${loadaddr} - ${fdt_addr}; " \ | |
214 | - "else " \ | |
215 | - "if test ${boot_fdt} = try; then " \ | |
216 | - "bootz; " \ | |
254 | + "if test ${tee} = yes; then " \ | |
255 | + "${get_cmd} ${tee_addr} ${tee_file}; " \ | |
256 | + "${get_cmd} ${fdt_addr} ${fdt_file}; " \ | |
257 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
258 | + "else " \ | |
259 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
260 | + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
261 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
217 | 262 | "else " \ |
218 | - "echo WARN: Cannot load the DT; " \ | |
263 | + "if test ${boot_fdt} = try; then " \ | |
264 | + "bootz; " \ | |
265 | + "else " \ | |
266 | + "echo WARN: Cannot load the DT; " \ | |
267 | + "fi; " \ | |
219 | 268 | "fi; " \ |
269 | + "else " \ | |
270 | + "bootz; " \ | |
220 | 271 | "fi; " \ |
221 | - "else " \ | |
222 | - "bootz; " \ | |
223 | 272 | "fi;\0" \ |
224 | 273 | "findfdt="\ |
225 | 274 | "if test $fdt_file = undefined; then " \ |
226 | 275 | |
... | ... | @@ -238,9 +287,27 @@ |
238 | 287 | "if test $fdt_file = undefined; then " \ |
239 | 288 | "echo WARNING: Could not determine dtb to use; fi; " \ |
240 | 289 | "fi;\0" \ |
290 | + "findtee="\ | |
291 | + "if test $tee_file = undefined; then " \ | |
292 | + "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ | |
293 | + "setenv tee_file uTee-6qpauto; fi; " \ | |
294 | + "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ | |
295 | + "setenv tee_file uTee-6qauto; fi; " \ | |
296 | + "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ | |
297 | + "setenv tee_file uTee-6dlauto; fi; " \ | |
298 | + "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ | |
299 | + "setenv tee_file uTee-6qpsdb; fi; " \ | |
300 | + "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ | |
301 | + "setenv tee_file uTee-6qsdb; fi; " \ | |
302 | + "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ | |
303 | + "setenv tee_file uTee-6dlsdb; fi; " \ | |
304 | + "if test $tee_file = undefined; then " \ | |
305 | + "echo WARNING: Could not determine tee to use; fi; " \ | |
306 | + "fi;\0" \ | |
241 | 307 | |
242 | 308 | #define CONFIG_BOOTCOMMAND \ |
243 | 309 | "run findfdt;" \ |
310 | + "run findtee;" \ | |
244 | 311 | "mmc dev ${mmcdev};" \ |
245 | 312 | "if mmc rescan; then " \ |
246 | 313 | "if run loadbootscript; then " \ |
-
mentioned in commit ff74cb