mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
stm32mp: stm32prog: adapt the MTD partitions
Dynamically adapt the MTD partitions in NOR/NAND/SPI-NAND when stm32prog command detects in the parsed flash layout files: - a fsbl partition in NOR. - a tee partition in NOR/NAND/SPI-NAND Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
eb845d6f8b
commit
8f035f7b48
5 changed files with 52 additions and 2 deletions
|
@ -762,6 +762,8 @@ static int treat_partition_list(struct stm32prog_data *data)
|
|||
INIT_LIST_HEAD(&data->dev[j].part_list);
|
||||
}
|
||||
|
||||
data->tee_detected = false;
|
||||
data->fsbl_nor_detected = false;
|
||||
for (i = 0; i < data->part_nb; i++) {
|
||||
part = &data->part_array[i];
|
||||
part->alt_id = -1;
|
||||
|
@ -806,6 +808,21 @@ static int treat_partition_list(struct stm32prog_data *data)
|
|||
stm32prog_err("Layout: too many device");
|
||||
return -EINVAL;
|
||||
}
|
||||
switch (part->target) {
|
||||
case STM32PROG_NOR:
|
||||
if (!data->fsbl_nor_detected &&
|
||||
!strncmp(part->name, "fsbl", 4))
|
||||
data->fsbl_nor_detected = true;
|
||||
/* fallthrough */
|
||||
case STM32PROG_NAND:
|
||||
case STM32PROG_SPI_NAND:
|
||||
if (!data->tee_detected &&
|
||||
!strncmp(part->name, "tee", 3))
|
||||
data->tee_detected = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
part->dev = &data->dev[j];
|
||||
if (!IS_SELECT(part))
|
||||
part->dev->full_update = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue