[PATCH v2] board: freescale: p1_p2_rdb_pc: Add env commands norlowerboot, norupperboot, sd2boot and defboot
Peng Fan (OSS)
peng.fan at oss.nxp.com
Thu Jun 16 11:01:50 CEST 2022
在 2022/4/25 22:50, Pali Rohár 写道:
> All *boot env commands overrides default boot source location via i2c.
> After board reset without power off, BootROM then starts booting U-Boot
> from this specified location instead of the default one.
>
> Add new env command defboot which reverts boot location to the default
> value, which in most cases is configurable by HW DIP switches.
>
> And add new env commands norlowerboot, norupperboot, sd2boot to boot from
> other locations. norlowerboot would instruct BootROM to boot from lower NOR
> bank, norupperboot from upper NOR bank and sd2boot from SD card with
> alternative configuration.
>
> Signed-off-by: Pali Rohár <pali at kernel.org>
Not able to apply this patch. Please new version.
Thanks,
Peng.
> ---
> Changes in v2:
> * Fix commit message
> * Adapt code to use p1_p2_bootsrc.h
> ---
> include/configs/p1_p2_bootsrc.h | 20 ++++++++++++++++++++
> include/configs/p1_p2_rdb_pc.h | 13 +++++++++++++
> 2 files changed, 33 insertions(+)
>
> diff --git a/include/configs/p1_p2_bootsrc.h b/include/configs/p1_p2_bootsrc.h
> index a274c57786f5..60741ef544c0 100644
> --- a/include/configs/p1_p2_bootsrc.h
> +++ b/include/configs/p1_p2_bootsrc.h
> @@ -30,6 +30,18 @@
> #define RST_NOR_CMD(var, ...) ""
> #endif
>
> +#ifdef __SW_BOOT_NOR_BANK_LO
> +#define RST_NOR_LO_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(__SW_BOOT_NOR_BANK_LO, __SW_BOOT_MASK))
> +#else
> +#define RST_NOR_LO_CMD(var, ...) ""
> +#endif
> +
> +#ifdef __SW_BOOT_NOR_BANK_UP
> +#define RST_NOR_UP_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(__SW_BOOT_NOR_BANK_UP, __SW_BOOT_MASK))
> +#else
> +#define RST_NOR_UP_CMD(var, ...) ""
> +#endif
> +
> #ifdef __SW_BOOT_SPI
> #define RST_SPI_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(__SW_BOOT_SPI, __SW_BOOT_MASK))
> #else
> @@ -42,6 +54,12 @@
> #define RST_SD_CMD(var, ...) ""
> #endif
>
> +#ifdef __SW_BOOT_SD2
> +#define RST_SD2_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(__SW_BOOT_SD2, __SW_BOOT_MASK))
> +#else
> +#define RST_SD2_CMD(var, ...) ""
> +#endif
> +
> #ifdef __SW_BOOT_NAND
> #define RST_NAND_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(__SW_BOOT_NAND, __SW_BOOT_MASK))
> #else
> @@ -53,3 +71,5 @@
> #else
> #define RST_PCIE_CMD(var, ...) ""
> #endif
> +
> +#define RST_DEF_CMD(var, ...) __VAR_CMD_RST(var, __VA_ARGS__ __BOOTSRC_CMD(0x00, 0xff))
> diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
> index 47bd20eeeafb..50ce2d9aaed4 100644
> --- a/include/configs/p1_p2_rdb_pc.h
> +++ b/include/configs/p1_p2_rdb_pc.h
> @@ -25,6 +25,9 @@
> #define __SW_NOR_BANK_MASK 0xfd
> #define __SW_NOR_BANK_UP 0x00
> #define __SW_NOR_BANK_LO 0x02
> +#define __SW_BOOT_NOR_BANK_UP 0x5c /* (__SW_BOOT_NOR | __SW_NOR_BANK_UP) */
> +#define __SW_BOOT_NOR_BANK_LO 0x5e /* (__SW_BOOT_NOR | __SW_NOR_BANK_LO) */
> +#define __SW_BOOT_NOR_BANK_MASK 0x01 /* (__SW_BOOT_MASK & __SW_NOR_BANK_MASK) */
> #define CONFIG_SYS_L2_SIZE (256 << 10)
> #endif
>
> @@ -54,6 +57,9 @@
> #define __SW_NOR_BANK_MASK 0xfd
> #define __SW_NOR_BANK_UP 0x00
> #define __SW_NOR_BANK_LO 0x02
> +#define __SW_BOOT_NOR_BANK_UP 0x64 /* (__SW_BOOT_NOR | __SW_NOR_BANK_UP) */
> +#define __SW_BOOT_NOR_BANK_LO 0x66 /* (__SW_BOOT_NOR | __SW_NOR_BANK_LO) */
> +#define __SW_BOOT_NOR_BANK_MASK 0x01 /* (__SW_BOOT_MASK & __SW_NOR_BANK_MASK) */
> #define CONFIG_SYS_L2_SIZE (256 << 10)
> /*
> * Dynamic MTD Partition support with mtdparts
> @@ -73,6 +79,9 @@
> #define __SW_NOR_BANK_MASK 0xfd
> #define __SW_NOR_BANK_UP 0x00
> #define __SW_NOR_BANK_LO 0x02
> +#define __SW_BOOT_NOR_BANK_UP 0xc8 /* (__SW_BOOT_NOR | __SW_NOR_BANK_UP) */
> +#define __SW_BOOT_NOR_BANK_LO 0xca /* (__SW_BOOT_NOR | __SW_NOR_BANK_LO) */
> +#define __SW_BOOT_NOR_BANK_MASK 0x01 /* (__SW_BOOT_MASK & __SW_NOR_BANK_MASK) */
> #define CONFIG_SYS_L2_SIZE (512 << 10)
> /*
> * Dynamic MTD Partition support with mtdparts
> @@ -605,10 +614,14 @@ __VSCFW_ADDR \
> MAP_NOR_LO_CMD(map_lowernorbank) \
> MAP_NOR_UP_CMD(map_uppernorbank) \
> RST_NOR_CMD(norboot) \
> +RST_NOR_LO_CMD(norlowerboot) \
> +RST_NOR_UP_CMD(norupperboot) \
> RST_SPI_CMD(spiboot) \
> RST_SD_CMD(sdboot) \
> +RST_SD2_CMD(sd2boot) \
> RST_NAND_CMD(nandboot) \
> RST_PCIE_CMD(pciboot) \
> +RST_DEF_CMD(defboot) \
> ""
>
> #define CONFIG_USB_FAT_BOOT \
More information about the U-Boot
mailing list