diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2024-02-26 18:37:18 +0100 |
---|---|---|
committer | Fabio Estevam <festevam@gmail.com> | 2024-03-04 08:18:13 -0300 |
commit | c2666fdab6f22914141e934cd06d967b91bbce10 (patch) | |
tree | 52e9052ad21f5256edb21bef88b0ceadf2140065 | |
parent | eac52e4be4e234d563d6911737ee7ccdc0ada1f1 (diff) | |
download | u-boot-c2666fdab6f22914141e934cd06d967b91bbce10.zip u-boot-c2666fdab6f22914141e934cd06d967b91bbce10.tar.gz u-boot-c2666fdab6f22914141e934cd06d967b91bbce10.tar.bz2 |
imx9: Fix OP-TEE support
This fixes OP-TEE support by:
- Adding tee.bin to container.cfg
- Starting ELE RNG in SPL
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r-- | arch/arm/mach-imx/imx9/container.cfg | 3 | ||||
-rw-r--r-- | board/freescale/imx93_evk/spl.c | 7 | ||||
-rw-r--r-- | board/phytec/phycore_imx93/spl.c | 7 | ||||
-rw-r--r-- | board/variscite/imx93_var_som/spl.c | 6 |
4 files changed, 22 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/imx9/container.cfg b/arch/arm/mach-imx/imx9/container.cfg index f268bc9..72fe791 100644 --- a/arch/arm/mach-imx/imx9/container.cfg +++ b/arch/arm/mach-imx/imx9/container.cfg @@ -7,4 +7,5 @@ BOOT_FROM SD 0x400 SOC_TYPE IMX9 CONTAINER IMAGE A55 bl31.bin 0x204E0000 -IMAGE A55 u-boot.bin CONFIG_TEXT_BASE
\ No newline at end of file +IMAGE A55 u-boot.bin CONFIG_TEXT_BASE +IMAGE A55 tee.bin 0x96000000
\ No newline at end of file diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index a98ed69..2fd5559 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -20,6 +20,7 @@ #include <asm/mach-imx/boot_mode.h> #include <asm/mach-imx/mxc_i2c.h> #include <asm/arch-mx7ulp/gpio.h> +#include <asm/mach-imx/ele_api.h> #include <asm/mach-imx/syscounter.h> #include <asm/sections.h> #include <dm/uclass.h> @@ -43,6 +44,12 @@ int spl_board_boot_device(enum boot_device boot_dev_spl) void spl_board_init(void) { + int ret; + + ret = ele_start_rng(); + if (ret) + printf("Fail to start RNG: %d\n", ret); + puts("Normal Boot\n"); } diff --git a/board/phytec/phycore_imx93/spl.c b/board/phytec/phycore_imx93/spl.c index dabc531..16303fc 100644 --- a/board/phytec/phycore_imx93/spl.c +++ b/board/phytec/phycore_imx93/spl.c @@ -11,6 +11,7 @@ #include <asm/arch/sys_proto.h> #include <asm/arch/trdc.h> #include <asm/mach-imx/boot_mode.h> +#include <asm/mach-imx/ele_api.h> #include <asm/sections.h> #include <hang.h> #include <init.h> @@ -34,6 +35,12 @@ int spl_board_boot_device(enum boot_device boot_dev_spl) void spl_board_init(void) { + int ret; + + ret = ele_start_rng(); + if (ret) + printf("Fail to start RNG: %d\n", ret); + puts("Normal Boot\n"); } diff --git a/board/variscite/imx93_var_som/spl.c b/board/variscite/imx93_var_som/spl.c index e6db4eb..36e1721 100644 --- a/board/variscite/imx93_var_som/spl.c +++ b/board/variscite/imx93_var_som/spl.c @@ -20,6 +20,7 @@ #include <asm/mach-imx/mxc_i2c.h> #include <asm/arch-mx7ulp/gpio.h> #include <asm/sections.h> +#include <asm/mach-imx/ele_api.h> #include <asm/mach-imx/syscounter.h> #include <dm/uclass.h> #include <dm/device.h> @@ -47,9 +48,14 @@ int spl_board_boot_device(enum boot_device boot_dev_spl) void spl_board_init(void) { struct var_eeprom *ep = VAR_EEPROM_DATA; + int ret; puts("Normal Boot\n"); + ret = ele_start_rng(); + if (ret) + printf("Fail to start RNG: %d\n", ret); + /* Copy EEPROM contents to DRAM */ memcpy(ep, &eeprom, sizeof(*ep)); } |