stm32mp1: stm32prog: remove stm32prog_get_tee_partitions with FIP
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Mon, 26 Jul 2021 09:21:38 +0000 (11:21 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 16 Aug 2021 07:36:31 +0000 (09:36 +0200)
The MTD tee partitions used to save the OP-TEE binary are needed when
TF-A doesn't use the FIP container to load binaries.

This patch puts under CONFIG_STM32MP15x_STM32IMAGE flag the associated
code in U-Boot binary and prepare the code cleanup when
CONFIG_STM32MP15x_STM32IMAGE support will be removed after TF-A migration
to FIP support.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
arch/arm/mach-stm32mp/include/mach/stm32prog.h

index be53a52..41452b5 100644 (file)
@@ -185,6 +185,7 @@ U_BOOT_CMD(stm32prog, 5, 0, do_stm32prog,
           "  <size> = size of flashlayout (optional for image with STM32 header)\n"
 );
 
+#ifdef CONFIG_STM32MP15x_STM32IMAGE
 bool stm32prog_get_tee_partitions(void)
 {
        if (stm32prog_data)
@@ -192,6 +193,7 @@ bool stm32prog_get_tee_partitions(void)
 
        return false;
 }
+#endif
 
 bool stm32prog_get_fsbl_nor(void)
 {
index 26fe8b6..3b6ca4e 100644 (file)
@@ -824,7 +824,9 @@ static int treat_partition_list(struct stm32prog_data *data)
                INIT_LIST_HEAD(&data->dev[j].part_list);
        }
 
+#ifdef CONFIG_STM32MP15x_STM32IMAGE
        data->tee_detected = false;
+#endif
        data->fsbl_nor_detected = false;
        for (i = 0; i < data->part_nb; i++) {
                part = &data->part_array[i];
@@ -878,10 +880,12 @@ static int treat_partition_list(struct stm32prog_data *data)
                        /* fallthrough */
                case STM32PROG_NAND:
                case STM32PROG_SPI_NAND:
+#ifdef CONFIG_STM32MP15x_STM32IMAGE
                        if (!data->tee_detected &&
                            !strncmp(part->name, "tee", 3))
                                data->tee_detected = true;
                        break;
+#endif
                default:
                        break;
                }
index 9d58cf0..240c5c4 100644 (file)
@@ -122,7 +122,9 @@ struct stm32prog_data {
        struct stm32prog_dev_t  dev[STM32PROG_MAX_DEV]; /* array of device */
        int                     part_nb;        /* nb of partition */
        struct stm32prog_part_t *part_array;    /* array of partition */
+#ifdef CONFIG_STM32MP15x_STM32IMAGE
        bool                    tee_detected;
+#endif
        bool                    fsbl_nor_detected;
 
        /* command internal information */
index c080b9c..99be4e1 100644 (file)
@@ -11,6 +11,8 @@ int stm32prog_read_medium_virt(struct dfu_entity *dfu, u64 offset,
                               void *buf, long *len);
 int stm32prog_get_medium_size_virt(struct dfu_entity *dfu, u64 *size);
 
+#ifdef CONFIG_STM32MP15x_STM32IMAGE
 bool stm32prog_get_tee_partitions(void);
+#endif
 
 bool stm32prog_get_fsbl_nor(void);