[U-Boot] [PATCH 0/5] pico-imx7d: Add support for BL33 case

Add configuration to boot U-boot as BL33 case. The boot flow is ATF -> OPTEE -> U-boot.
Jun Nie (5): mx7_common: Share configs to skip low level init imx: mx7: Add empty arch_cpu_init if skipped pico-imx7d: Reserve region of memory to OPTEE pico-imx7d: Add boot option for verified boot pico-imx7d: Add bl33 config
arch/arm/mach-imx/mx7/soc.c | 2 + board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ board/technexion/pico-imx7d/pico-imx7d.c | 5 ++ configs/pico-pi-imx7d_bl33_defconfig | 62 +++++++++++++++++ include/configs/mx7_common.h | 11 +++ include/configs/pico-imx7d.h | 38 ++++++++++- include/configs/warp7.h | 11 --- 7 files changed, 210 insertions(+), 14 deletions(-) create mode 100644 board/technexion/pico-imx7d/imximage-512MB.cfg create mode 100644 configs/pico-pi-imx7d_bl33_defconfig

Share configs in mx7 to skip low level init if we are in the case where OPTEE is loaded already (maybe by ARM Trusted Firmware) and that most of the low level initialization is already done and that we may/should skip it doing them here.
Fix the definition detection with size detection to decide whether to skip it.
Signed-off-by: Jun Nie jun.nie@linaro.org --- include/configs/mx7_common.h | 11 +++++++++++ include/configs/warp7.h | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/include/configs/mx7_common.h b/include/configs/mx7_common.h index a895c93..912fb06 100644 --- a/include/configs/mx7_common.h +++ b/include/configs/mx7_common.h @@ -57,4 +57,15 @@ #endif #endif
+/* + * If we have defined the OPTEE ram size and not OPTEE it means that we were + * launched by OPTEE, because of that we shall skip all the low level + * initialization since it was already done by ATF or OPTEE + */ +#if (CONFIG_OPTEE_TZDRAM_SIZE != 0) +#ifndef CONFIG_OPTEE +#define CONFIG_SKIP_LOWLEVEL_INIT +#endif +#endif + #endif diff --git a/include/configs/warp7.h b/include/configs/warp7.h index 043f286..80ddd72 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -13,17 +13,6 @@
#define PHYS_SDRAM_SIZE SZ_512M
-/* - * If we have defined the OPTEE ram size and not OPTEE it means that we were - * launched by OPTEE, because of that we shall skip all the low level - * initialization since it was already done by ATF or OPTEE - */ -#ifdef CONFIG_OPTEE_TZDRAM_SIZE -#ifndef CONFIG_OPTEE -#define CONFIG_SKIP_LOWLEVEL_INIT -#endif -#endif - #define CONFIG_MXC_UART_BASE UART1_IPS_BASE_ADDR
/* Size of malloc() pool */

Add empty arch_cpu_init if low level init is skipped. So that it does not break spl compile though spl is not needed in the skipped case actually.
Signed-off-by: Jun Nie jun.nie@linaro.org --- arch/arm/mach-imx/mx7/soc.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-imx/mx7/soc.c b/arch/arm/mach-imx/mx7/soc.c index 7cfdff0..8f9fd9d 100644 --- a/arch/arm/mach-imx/mx7/soc.c +++ b/arch/arm/mach-imx/mx7/soc.c @@ -286,6 +286,8 @@ int arch_cpu_init(void)
return 0; } +#else +int arch_cpu_init(void) {} #endif
#ifdef CONFIG_ARCH_MISC_INIT

Subtracts CONFIG_OPTEE_TZDRAM_SIZE from the available DRAM size so that the OPTEE memory is not override during u-boot relocation.
Note the OPTEE boot process will itself subtract the DRAM region it lives in from the memory map passed to Linux.
Signed-off-by: Jun Nie jun.nie@linaro.org --- board/technexion/pico-imx7d/pico-imx7d.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/board/technexion/pico-imx7d/pico-imx7d.c b/board/technexion/pico-imx7d/pico-imx7d.c index 53e1469..7c9e145 100644 --- a/board/technexion/pico-imx7d/pico-imx7d.c +++ b/board/technexion/pico-imx7d/pico-imx7d.c @@ -60,6 +60,11 @@ int dram_init(void) { gd->ram_size = imx_ddr_size();
+ /* Subtract the defined OPTEE runtime firmware length */ +#ifdef CONFIG_OPTEE_TZDRAM_SIZE + gd->ram_size -= CONFIG_OPTEE_TZDRAM_SIZE; +#endif + return 0; }

Add boot option to boot from fitimage to support verified boot. The boot script plain text file should be packed into fit blob as image with name of bootscr.
Signed-off-by: Jun Nie jun.nie@linaro.org --- include/configs/pico-imx7d.h | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h index 1884c58..8eb9064 100644 --- a/include/configs/pico-imx7d.h +++ b/include/configs/pico-imx7d.h @@ -52,11 +52,29 @@ "/boot/imx7d-pico-pi.dtb ext4 0 1;" \ "rootfs part 0 1\0" \
-#define BOOTMENU_ENV \ +/* When booting with FIT specify the node entry containing boot.scr */ +#if defined(CONFIG_FIT) +#define PICO_BOOT_ENV \ + "bootscr_fitimage_name=bootscr\0" \ + "bootscriptaddr=0x83200000\0" \ + "fdtovaddr=0x83100000\0" \ + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ + "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ + "mmcargs=setenv bootargs console=${console},${baudrate} " \ + "rootwait rw;\0" \ + "loadbootscript=" \ + "load mmc ${mmcdev}:${mmcpart} ${bootscriptaddr} ${script};\0" \ + "bootscript=echo Running bootscript from mmc ...; " \ + "source ${bootscriptaddr}:${bootscr_fitimage_name}\0" +#else +#define PICO_BOOT_ENV \ "bootmenu_0=Boot using PICO-Hobbit baseboard=" \ "setenv fdtfile imx7d-pico-hobbit.dtb\0" \ "bootmenu_1=Boot using PICO-Pi baseboard=" \ "setenv fdtfile imx7d-pico-pi.dtb\0" \ + BOOTENV +#endif +
#define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 @@ -68,7 +86,6 @@ "fdt_high=0xffffffff\0" \ "initrd_high=0xffffffff\0" \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ - BOOTMENU_ENV \ "fdt_addr=0x83000000\0" \ "fdt_addr_r=0x83000000\0" \ "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ @@ -88,7 +105,22 @@ "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \ "fastboot_partition_alias_system=rootfs\0" \ "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \ - BOOTENV + PICO_BOOT_ENV + +#if defined(CONFIG_FIT) +#define CONFIG_BOOTCOMMAND \ + "mmc dev ${mmcdev};" \ + "mmc dev ${mmcdev}; if mmc rescan; then " \ + "if run loadbootscript; then " \ + "iminfo ${bootscriptaddr};" \ + "if test $? -eq 1; then hab_failsafe; fi;" \ + "run bootscript; " \ + "else " \ + "echo Fail to load fitImage with boot script;" \ + "hab_failsafe;" \ + "fi; " \ + "fi" +#endif
#define BOOT_TARGET_DEVICES(func) \ func(MMC, mmc, 0) \

Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org --- board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ configs/pico-pi-imx7d_bl33_defconfig | 61 +++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 board/technexion/pico-imx7d/imximage-512MB.cfg create mode 100644 configs/pico-pi-imx7d_bl33_defconfig
diff --git a/board/technexion/pico-imx7d/imximage-512MB.cfg b/board/technexion/pico-imx7d/imximage-512MB.cfg new file mode 100644 index 0000000..2b7bbbc --- /dev/null +++ b/board/technexion/pico-imx7d/imximage-512MB.cfg @@ -0,0 +1,95 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 Arm Ltd. + * + * The DCD file for Pico-pi with 512MB DRAM memory. + * Refer doc/README.imximage for more details about how-to configure + * and create imximage boot image. + * + * The syntax is taken as close as possible with the kwbimage + */ + +#define __ASSEMBLY__ +#include <config.h> + +IMAGE_VERSION 2 +#ifdef CONFIG_SECURE_BOOT +CSF CONFIG_CSF_SIZE +#endif + +BOOT_FROM sd + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +DATA 4 0x30340004 0x4F400005 + +DATA 4 0x30391000 0x00000002 +DATA 4 0x307a0000 0x01040001 +DATA 4 0x307a0064 0x00400046 +DATA 4 0x307a0490 0x00000001 +DATA 4 0x307a00d4 0x00690000 +DATA 4 0x307a00d0 0x00020083 +DATA 4 0x307a00dc 0x09300004 +DATA 4 0x307a00e0 0x04080000 +DATA 4 0x307a00e4 0x00100004 +DATA 4 0x307a00f4 0x0000033f +DATA 4 0x307a0100 0x09081109 +DATA 4 0x307a0104 0x0007020d +DATA 4 0x307a0108 0x03040407 +DATA 4 0x307a010c 0x00002006 +DATA 4 0x307a0110 0x04020205 +DATA 4 0x307a0114 0x03030202 +DATA 4 0x307a0120 0x00000803 + +DATA 4 0x307a0180 0x00800020 +DATA 4 0x307a0190 0x02098204 +DATA 4 0x307a0194 0x00030303 +DATA 4 0x307a01a0 0x80400003 +DATA 4 0x307a01a4 0x00100020 +DATA 4 0x307a01a8 0x80100004 + +DATA 4 0x307a0200 0x0000001f +DATA 4 0x307a0204 0x00080808 +DATA 4 0x307a0210 0x00000f0f +DATA 4 0x307a0214 0x07070707 +DATA 4 0x307a0218 0x0f0f0707 +DATA 4 0x307a0240 0x06000604 +DATA 4 0x307a0244 0x00000001 + +DATA 4 0x30391000 0x00000000 +DATA 4 0x30790000 0x17420f40 +DATA 4 0x30790004 0x10210100 +DATA 4 0x30790010 0x00060807 +DATA 4 0x307900b0 0x1010007e + +DATA 4 0x3079009c 0x00000d6e + +DATA 4 0x30790030 0x08080808 +DATA 4 0x30790020 0x08080808 +DATA 4 0x30790050 0x01000010 +DATA 4 0x30790050 0x00000010 +DATA 4 0x30790018 0x0000000f +DATA 4 0x307900c0 0x0e407304 +DATA 4 0x307900c0 0x0e447304 +DATA 4 0x307900c0 0x0e447306 +DATA 4 0x307900c0 0x0e447304 + +CHECK_BITS_SET 4 0x307900c4 0x1 + +DATA 4 0x307900c0 0x0e447304 + +DATA 4 0x30384130 0x00000000 +DATA 4 0x30340020 0x00000178 +DATA 4 0x30384130 0x00000002 + +CHECK_BITS_SET 4 0x307a0004 0x1 diff --git a/configs/pico-pi-imx7d_bl33_defconfig b/configs/pico-pi-imx7d_bl33_defconfig new file mode 100644 index 0000000..7d1ac18 --- /dev/null +++ b/configs/pico-pi-imx7d_bl33_defconfig @@ -0,0 +1,61 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX7=y +CONFIG_SYS_TEXT_BASE=0x87800000 +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SECURE_BOOT=y +CONFIG_TARGET_PICO_IMX7D=y +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL=y +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_VERBOSE=y +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/technexion/pico-imx7d/imximage-512MB.cfg" +CONFIG_DEFAULT_FDT_FILE="imx7d-pico-pi.dtb" +CONFIG_BOUNCE_BUFFER=y +CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_USB_HOST_SUPPORT=y +CONFIG_SPL_USB_GADGET=y +CONFIG_SPL_USB_SDP_SUPPORT=y +CONFIG_HUSH_PARSER=y +# CONFIG_CMD_BOOTD is not set +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_SPL=y +CONFIG_CMD_SPL_WRITE_SIZE=0x20000 +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_DFU=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_SDP=y +CONFIG_CMD_USB_MASS_STORAGE=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PXE=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DFU_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_PHYLIB=y +CONFIG_MII=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_MXC_USB_OTG_HACTIVE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 +CONFIG_CI_UDC=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y +CONFIG_USBNET_HOST_ADDR="de:ad:be:af:00:00" +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_OPTEE_TZDRAM_SIZE=0x2000000

On Tue, Mar 26, 2019 at 6:23 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
Please base it on pico-imx7d_defconfig so user is asked for the base board to use and it provides more flexibility to test.

Otavio Salvador otavio.salvador@ossystems.com.br 于2019年3月26日周二 下午8:23写道:
On Tue, Mar 26, 2019 at 6:23 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
Please base it on pico-imx7d_defconfig so user is asked for the base board to use and it provides more flexibility to test.
Thanks for pointing out this part. I should remove CONFIG_DEFAULT_FDT_FILE actually. Because environment variable fdt_file does not impact what fdt to use for booting OS. The dtb file is specified by the argument of FIT configuration feed to bootm command in verified boot case with using FIT, such as "bootm 0x83200000#conf@imx7d-pico.dtb"
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750

Otavio Salvador otavio.salvador@ossystems.com.br 于2019年3月26日周二 下午8:23写道:
On Tue, Mar 26, 2019 at 6:23 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
Please base it on pico-imx7d_defconfig so user is asked for the base board to use and it provides more flexibility to test.
Or I misunderstand you and you suggest file name pico-imx7d_bl33_defconfig ?
Jun
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750

On Wed, Mar 27, 2019 at 1:06 AM Jun Nie jun.nie@linaro.org wrote:
Otavio Salvador otavio.salvador@ossystems.com.br 于2019年3月26日周二 下午8:23写道:
On Tue, Mar 26, 2019 at 6:23 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
Please base it on pico-imx7d_defconfig so user is asked for the base board to use and it provides more flexibility to test.
Or I misunderstand you and you suggest file name pico-imx7d_bl33_defconfig ?
Yes and let user choose which dtb to use.

Hi Jun,
On Tue, Mar 26, 2019 at 6:21 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++
This looks like a step in the wrong direction.
We have SPL support that can handle both 512MB and 1GB variants.
Why do we need to to go back to DCD table?

Fabio Estevam festevam@gmail.com 于2019年3月27日周三 下午7:52写道:
Hi Jun,
On Tue, Mar 26, 2019 at 6:21 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++
This looks like a step in the wrong direction.
We have SPL support that can handle both 512MB and 1GB variants.
Why do we need to to go back to DCD table?
For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.

On Wed, Mar 27, 2019 at 8:59 AM Jun Nie jun.nie@linaro.org wrote:
Fabio Estevam festevam@gmail.com 于2019年3月27日周三 下午7:52写道:
Hi Jun,
On Tue, Mar 26, 2019 at 6:21 AM Jun Nie jun.nie@linaro.org wrote:
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.
Signed-off-by: Jun Nie jun.nie@linaro.org
board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++
This looks like a step in the wrong direction.
We have SPL support that can handle both 512MB and 1GB variants.
Why do we need to to go back to DCD table?
For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.
Why? the SPL might need to be changed but it should be doable.

On Wed, Mar 27, 2019 at 8:59 AM Jun Nie jun.nie@linaro.org wrote:
For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.
Why not? Please provide the details.
What about users that has the 1GB version of the board?

Fabio Estevam festevam@gmail.com 于2019年3月27日周三 下午8:03写道:
On Wed, Mar 27, 2019 at 8:59 AM Jun Nie jun.nie@linaro.org wrote:
For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.
Why not? Please provide the details.
What about users that has the 1GB version of the board?
I should say that SPL is not needed, not cannot run. u-boot is loaded and run by ATF/OPTEE, so we do not need SPL. This is an initial prototype of verified boot chain from ATF to Linux on ARM32. Only 512MB version is considered at this stage. Maybe we can add 1GB version later if it is needed.

On Wed, Mar 27, 2019 at 11:18 AM Jun Nie jun.nie@linaro.org wrote:
I should say that SPL is not needed, not cannot run. u-boot is loaded and run by ATF/OPTEE, so we do not need SPL. This is an initial prototype of verified boot chain from ATF to Linux on ARM32. Only 512MB version is considered at this stage. Maybe we can add 1GB version later if it is needed.
Sorry, but we cannot accept adding non-SPL code as this impacts maintenance.
Please add OPTEE support with the existing SPL infrastructure.
Thanks

Fabio Estevam festevam@gmail.com 于2019年3月27日周三 下午10:57写道:
On Wed, Mar 27, 2019 at 11:18 AM Jun Nie jun.nie@linaro.org wrote:
I should say that SPL is not needed, not cannot run. u-boot is loaded and run by ATF/OPTEE, so we do not need SPL. This is an initial prototype of verified boot chain from ATF to Linux on ARM32. Only 512MB version is considered at this stage. Maybe we can add 1GB version later if it is needed.
Sorry, but we cannot accept adding non-SPL code as this impacts maintenance.
Please add OPTEE support with the existing SPL infrastructure.
Thanks
The DCD file is only used by BL33 defconfig and is not coupled with any other code. Or you are suggesting to use ATF -> OPTEE -> SPL -> u-boot flow? SPL is unnecessary in this case. Could you elaborate more on maintenance impact? Thanks!

On Wed, Mar 27, 2019 at 12:04 PM Jun Nie jun.nie@linaro.org wrote:
The DCD file is only used by BL33 defconfig and is not coupled with any other code.
Yes, correct. We don't want to add the DCD file for a single defconfig.
Or you are suggesting to use ATF -> OPTEE -> SPL -> u-boot flow? SPL is unnecessary in this case. Could you elaborate more on maintenance impact? Thanks!
Once we add the DCD file in U-Boot then we need to maintain it forever.
Also, if someone wants to use Optee with the 1GB variant another DCD file will be needed.
This simply does not scale.
pico-mx7d is capable of booting via SPL just fine. It boots 512MB and 1GB versions of the board, so we really don't need DCD for your specific defconfig.
Again, just use SPL for your usecase.

On Wed, Mar 27, 2019 at 11:57 AM Fabio Estevam festevam@gmail.com wrote:
On Wed, Mar 27, 2019 at 11:18 AM Jun Nie jun.nie@linaro.org wrote:
I should say that SPL is not needed, not cannot run. u-boot is loaded and run by ATF/OPTEE, so we do not need SPL. This is an initial prototype of verified boot chain from ATF to Linux on ARM32. Only 512MB version is considered at this stage. Maybe we can add 1GB version later if it is needed.
Sorry, but we cannot accept adding non-SPL code as this impacts maintenance.
Please add OPTEE support with the existing SPL infrastructure.
Also, I'd say u-boot is not need, for some use cases ... so DDR and direct OS loading can be done using SPL.
participants (3)
-
Fabio Estevam
-
Jun Nie
-
Otavio Salvador