On Mon, Feb 03, 2020 at 02:49:24PM +0530, Jagan Teki wrote: > Add distro boot command support for SPI flash in Rockchip. > > This distro boot will read the boot script at specific > location at the flash and start sourcing the same. > > Included the SF device at the last of the target devices > list since all the rest of the devices on the list have > more possibility to boot the distribution due to the > size of the SPI flash is concern. > > Signed-off-by: Jagan Teki > --- > include/configs/rockchip-common.h | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h > index b55e09a9ca..8e7c994266 100644 > --- a/include/configs/rockchip-common.h > +++ b/include/configs/rockchip-common.h > @@ -41,11 +41,26 @@ > #define BOOT_TARGET_DHCP(func) > #endif > > +#if CONFIG_IS_ENABLED(CMD_SF) > + #define BOOT_TARGET_SF(func) func(SF, sf, na) > +#else > + #define BOOT_TARGET_SF(func) > +#endif > + > +#define BOOTENV_DEV_SF(devtypeu, devtypel, instance) \ > + "bootcmd_sf=sf probe 0 0 0 && " \ > + "sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \ > + "source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0" > + > +#define BOOTENV_DEV_NAME_SF(devtypeu, devtypel, instance) \ > + "sf " > + > #define BOOT_TARGET_DEVICES(func) \ > BOOT_TARGET_MMC(func) \ > BOOT_TARGET_USB(func) \ > BOOT_TARGET_PXE(func) \ > - BOOT_TARGET_DHCP(func) > + BOOT_TARGET_DHCP(func) \ > + BOOT_TARGET_SF(func) > > #ifdef CONFIG_ARM64 > #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" Something I lamented in another thread is that we need to move things to include/environment/ so that they can be re-used easily. Lets start by putting the "distro boot" SF stuff in to include/environment/distro/sf.h and #include that here. That way anything else that really does have something written to SPI flash in this manner can opt-in without duplication of the logic. Thanks! -- Tom