From 4a0067c8575c7c3b98f3fc0a689f53dc80700393 Mon Sep 17 00:00:00 2001 From: Kamlesh Gurudasani Date: Wed, 3 Apr 2024 17:33:09 +0530 Subject: [PATCH] arm: mach-k3: add support for detecting TIFSSTUB images Add support for detecting and processing TIFSSTUB images for HS, HSFS and GP devices. TIFSSTUB image for related device type will be loaded, rest TIFSSTUB images will be discarded. Example, for GP device, tifsstub-gp will be loaded, tifsstub-hs and tifsstub-fs will be discarded. Signed-off-by: Kamlesh Gurudasani Signed-off-by: Dhruva Gole Reviewed-by: Neha Malcom Francis --- arch/arm/mach-k3/r5/common.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/arm/mach-k3/r5/common.c b/arch/arm/mach-k3/r5/common.c index c02f8d3309..0f6c294f1e 100644 --- a/arch/arm/mach-k3/r5/common.c +++ b/arch/arm/mach-k3/r5/common.c @@ -24,6 +24,9 @@ enum { IMAGE_ID_OPTEE, IMAGE_ID_SPL, IMAGE_ID_DM_FW, + IMAGE_ID_TIFSSTUB_HS, + IMAGE_ID_TIFSSTUB_FS, + IMAGE_ID_T, IMAGE_AMT, }; @@ -33,6 +36,9 @@ static const char *image_os_match[IMAGE_AMT] = { "tee", "U-Boot", "DM", + "tifsstub-hs", + "tifsstub-fs", + "tifsstub-gp", }; #endif @@ -314,6 +320,24 @@ void board_fit_image_post_process(const void *fit, int node, void **p_image, break; } } + + if (i < IMAGE_AMT && i > IMAGE_ID_DM_FW) { + int device_type = get_device_type(); + + if ((device_type == K3_DEVICE_TYPE_HS_SE && + strcmp(os, "tifsstub-hs")) || + (device_type == K3_DEVICE_TYPE_HS_FS && + strcmp(os, "tifsstub-fs")) || + (device_type == K3_DEVICE_TYPE_GP && + strcmp(os, "tifsstub-gp"))) { + *p_size = 0; + } else { + debug("tifsstub-type: %s\n", os); + } + + return; + } + /* * Only DM and the DTBs are being authenticated here, * rest will be authenticated when A72 cluster is up -- 2.39.5