board: stm32mp1: support boot from spi-nand
Manage BOOT_FLASH_SPINAND, with boot_device="spi-nand" and treat this value in bootcmd_stm32mp. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
ccf6e9ff95
commit
b664a74537
@ -435,6 +435,10 @@ static void setup_boot_mode(void)
|
||||
env_set("boot_device", "nand");
|
||||
env_set("boot_instance", "0");
|
||||
break;
|
||||
case BOOT_FLASH_SPINAND:
|
||||
env_set("boot_device", "spi-nand");
|
||||
env_set("boot_instance", "0");
|
||||
break;
|
||||
case BOOT_FLASH_NOR:
|
||||
env_set("boot_device", "nor");
|
||||
env_set("boot_instance", "0");
|
||||
|
@ -80,6 +80,9 @@ enum boot_device {
|
||||
|
||||
BOOT_SERIAL_USB = 0x60,
|
||||
BOOT_SERIAL_USB_OTG = 0x62,
|
||||
|
||||
BOOT_FLASH_SPINAND = 0x70,
|
||||
BOOT_FLASH_SPINAND_1 = 0x71,
|
||||
};
|
||||
|
||||
/* TAMP registers */
|
||||
|
@ -39,6 +39,8 @@ u32 spl_boot_device(void)
|
||||
return BOOT_DEVICE_NAND;
|
||||
case BOOT_FLASH_NOR_QSPI:
|
||||
return BOOT_DEVICE_SPI;
|
||||
case BOOT_FLASH_SPINAND_1:
|
||||
return BOOT_DEVICE_NONE; /* SPINAND not supported in SPL */
|
||||
}
|
||||
|
||||
return BOOT_DEVICE_MMC1;
|
||||
|
@ -789,6 +789,7 @@ enum env_location env_get_location(enum env_operation op, int prio)
|
||||
#endif
|
||||
#ifdef CONFIG_ENV_IS_IN_UBI
|
||||
case BOOT_FLASH_NAND:
|
||||
case BOOT_FLASH_SPINAND:
|
||||
return ENVL_UBI;
|
||||
#endif
|
||||
#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
@ -829,6 +830,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
#ifdef CONFIG_FDT_FIXUP_PARTITIONS
|
||||
struct node_info nodes[] = {
|
||||
{ "st,stm32f469-qspi", MTD_DEV_TYPE_NOR, },
|
||||
{ "st,stm32f469-qspi", MTD_DEV_TYPE_SPINAND},
|
||||
{ "st,stm32mp15-fmc2", MTD_DEV_TYPE_NAND, },
|
||||
};
|
||||
fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
|
||||
|
@ -122,7 +122,7 @@
|
||||
* bootcmd for stm32mp1:
|
||||
* for serial/usb: execute the stm32prog command
|
||||
* for mmc boot (eMMC, SD card), boot only on the same device
|
||||
* for nand boot, boot with on ubifs partition on nand
|
||||
* for nand or spi-nand boot, boot with on ubifs partition on UBI partition
|
||||
* for nor boot, use the default order
|
||||
*/
|
||||
#define STM32MP_BOOTCMD "bootcmd_stm32mp=" \
|
||||
@ -133,7 +133,8 @@
|
||||
"run env_check;" \
|
||||
"if test ${boot_device} = mmc;" \
|
||||
"then env set boot_targets \"mmc${boot_instance}\"; fi;" \
|
||||
"if test ${boot_device} = nand;" \
|
||||
"if test ${boot_device} = nand ||" \
|
||||
" test ${boot_device} = spi-nand ;" \
|
||||
"then env set boot_targets ubifs0; fi;" \
|
||||
"run distro_bootcmd;" \
|
||||
"fi;\0"
|
||||
|
Loading…
Reference in New Issue
Block a user