[PATCH v9 8/9] rockchip: Move to standard boot

Jonas Karlman jonas at kwiboo.se
Mon Apr 24 00:46:27 CEST 2023


Hi Simon,

On 2023-04-08 22:44, Simon Glass wrote:
> Drop the distro-boot scripts and use standard boot instead.

With the "Drop patches which enable BOOTSTD_DEFAULT" in v9 we must imply
BOOTSTD_DEFAULTS or we run into the following on anything rk not rk3399.

  ## Error: "distro_bootcmd" not defined

Something like this was needed to get my devices booting using bootflow:

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1956,8 +1956,7 @@ config ARCH_ROCKCHIP
        imply ADC
        imply CMD_DM
        imply DEBUG_UART_BOARD_INIT
-       imply DISTRO_DEFAULTS if !ROCKCHIP_RK3399
-       imply BOOTSTD_DEFAULTS if !DISTRO_DEFAULTS
+       imply BOOTSTD_DEFAULTS
        imply FAT_WRITE
        imply SARADC_ROCKCHIP
        imply SPL_SYSRESET

With above fixed,

Tested-by: Jonas Karlman <jonas at kwiboo.se>

using basic distro boot on following devices:
- RK3288: TinkerBoard R2.0
- RK3328: Rock64
- RK3399: Rock Pi 4B+
- RK3568: Rock 3A
- RK3588: Rock 5B

Regards,
Jonas

> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> (no changes since v4)
> 
> Changes in v4:
> - Add back BOOT_TARGETS
> 
> Changes in v3:
> - Update rk3588 boards too
> 
> Changes in v2:
> - Add new patch to move rockchip to standard boot
> 
>  include/configs/px30_common.h     |  3 +-
>  include/configs/rk3036_common.h   |  4 +--
>  include/configs/rk3066_common.h   |  4 +--
>  include/configs/rk3128_common.h   |  3 +-
>  include/configs/rk3188_common.h   |  4 +--
>  include/configs/rk322x_common.h   |  4 +--
>  include/configs/rk3288_common.h   |  4 +--
>  include/configs/rk3308_common.h   |  3 +-
>  include/configs/rk3328_common.h   |  3 +-
>  include/configs/rk3368_common.h   |  6 ++--
>  include/configs/rk3568_common.h   |  5 ++-
>  include/configs/rk3588_common.h   |  5 ++-
>  include/configs/rockchip-common.h | 58 -------------------------------
>  include/configs/rv1108_common.h   |  2 +-
>  14 files changed, 16 insertions(+), 92 deletions(-)
> 
> diff --git a/include/configs/px30_common.h b/include/configs/px30_common.h
> index 8df481b09788..6fbd2679f099 100644
> --- a/include/configs/px30_common.h
> +++ b/include/configs/px30_common.h
> @@ -24,12 +24,11 @@
>  	"kernel_addr_c=0x03e80000\0" \
>  	"ramdisk_addr_r=0x0a200000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT \
>  	ROCKCHIP_DEVICE_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h
> index ea6073f29446..c2abd14e114b 100644
> --- a/include/configs/rk3036_common.h
> +++ b/include/configs/rk3036_common.h
> @@ -21,8 +21,6 @@
>  	"kernel_addr_r=0x62000000\0" \
>  	"ramdisk_addr_r=0x64000000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  /* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board,
>   * so limit the fdt reallocation to that */
>  #define CFG_EXTRA_ENV_SETTINGS \
> @@ -30,6 +28,6 @@
>  	"fdt_high=0x7fffffff\0" \
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3066_common.h b/include/configs/rk3066_common.h
> index 1a6d3678df3e..d70c8f77d487 100644
> --- a/include/configs/rk3066_common.h
> +++ b/include/configs/rk3066_common.h
> @@ -22,14 +22,12 @@
>  	"kernel_addr_r=0x62000000\0" \
>  	"ramdisk_addr_r=0x64000000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	"fdt_high=0x6fffffff\0" \
>  	"initrd_high=0x6fffffff\0" \
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	ROCKCHIP_DEVICE_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3128_common.h b/include/configs/rk3128_common.h
> index 8736b14d1015..d8269b0ec96f 100644
> --- a/include/configs/rk3128_common.h
> +++ b/include/configs/rk3128_common.h
> @@ -22,11 +22,10 @@
>  	"kernel_addr_r=0x62000000\0" \
>  	"ramdisk_addr_r=0x64000000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3188_common.h b/include/configs/rk3188_common.h
> index fcb274565e9e..a8cee1e44d4d 100644
> --- a/include/configs/rk3188_common.h
> +++ b/include/configs/rk3188_common.h
> @@ -21,8 +21,6 @@
>  	"kernel_addr_r=0x62000000\0" \
>  	"ramdisk_addr_r=0x64000000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  /* Linux fails to load the fdt if it's loaded above 256M on a Rock board,
>   * so limit the fdt reallocation to that */
>  #define CFG_EXTRA_ENV_SETTINGS \
> @@ -32,6 +30,6 @@
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	ROCKCHIP_DEVICE_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk322x_common.h b/include/configs/rk322x_common.h
> index 39a40f4e2d10..15f77df3e17e 100644
> --- a/include/configs/rk322x_common.h
> +++ b/include/configs/rk322x_common.h
> @@ -22,8 +22,6 @@
>  	"kernel_addr_r=0x62000000\0" \
>  	"ramdisk_addr_r=0x64000000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  /* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board,
>   * so limit the fdt reallocation to that */
>  #define CFG_EXTRA_ENV_SETTINGS \
> @@ -31,6 +29,6 @@
>  	"fdt_high=0x7fffffff\0" \
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
> index 71d2426d72a4..3063076a97af 100644
> --- a/include/configs/rk3288_common.h
> +++ b/include/configs/rk3288_common.h
> @@ -23,8 +23,6 @@
>  	"kernel_addr_r=0x02000000\0" \
>  	"ramdisk_addr_r=0x04000000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  /* Linux fails to load the fdt if it's loaded above 256M on a Rock 2 board, so
>   * limit the fdt reallocation to that */
>  #define CFG_EXTRA_ENV_SETTINGS \
> @@ -34,6 +32,6 @@
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	ROCKCHIP_DEVICE_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3308_common.h b/include/configs/rk3308_common.h
> index ba9ee112e2df..7d55fcd975c6 100644
> --- a/include/configs/rk3308_common.h
> +++ b/include/configs/rk3308_common.h
> @@ -20,11 +20,10 @@
>  	"kernel_addr_r=0x00680000\0" \
>  	"ramdisk_addr_r=0x04000000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	"partitions=" PARTS_DEFAULT \
>  	ROCKCHIP_DEVICE_SETTINGS \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3328_common.h b/include/configs/rk3328_common.h
> index e565ccff8979..e920ec7e5ddb 100644
> --- a/include/configs/rk3328_common.h
> +++ b/include/configs/rk3328_common.h
> @@ -22,11 +22,10 @@
>  	"kernel_comp_addr_r=0x08000000\0" \
>  	"kernel_comp_size=0x2000000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3368_common.h b/include/configs/rk3368_common.h
> index 9aa256b59592..ccb5369b9018 100644
> --- a/include/configs/rk3368_common.h
> +++ b/include/configs/rk3368_common.h
> @@ -23,11 +23,9 @@
>  	"kernel_addr_r=0x280000\0" \
>  	"ramdisk_addr_r=0x5bf0000\0"
>  
> -#include <config_distro_bootcmd.h>
> -
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
> -	ENV_MEM_LAYOUT_SETTINGS	\
> -	BOOTENV
> +	ENV_MEM_LAYOUT_SETTINGS \
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3568_common.h b/include/configs/rk3568_common.h
> index a5e1dde50888..366ccc97db75 100644
> --- a/include/configs/rk3568_common.h
> +++ b/include/configs/rk3568_common.h
> @@ -22,12 +22,11 @@
>  	"kernel_addr_r=0x02080000\0"	\
>  	"ramdisk_addr_r=0x0a200000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS		\
>  	ENV_MEM_LAYOUT_SETTINGS			\
>  	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT		\
> -	ROCKCHIP_DEVICE_SETTINGS		\
> -	BOOTENV
> +	ROCKCHIP_DEVICE_SETTINGS \
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif
> diff --git a/include/configs/rk3588_common.h b/include/configs/rk3588_common.h
> index abd20139aaf3..1cc16fe15206 100644
> --- a/include/configs/rk3588_common.h
> +++ b/include/configs/rk3588_common.h
> @@ -21,12 +21,11 @@
>  	"kernel_addr_r=0x02080000\0"	\
>  	"ramdisk_addr_r=0x0a200000\0"
>  
> -#include <config_distro_bootcmd.h>
>  #define CFG_EXTRA_ENV_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT		\
>  	ENV_MEM_LAYOUT_SETTINGS			\
> -	ROCKCHIP_DEVICE_SETTINGS		\
> -	BOOTENV
> +	ROCKCHIP_DEVICE_SETTINGS \
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif /* __CONFIG_RK3588_COMMON_H */
> diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
> index 18544d75acc6..e9f4072b7e78 100644
> --- a/include/configs/rockchip-common.h
> +++ b/include/configs/rockchip-common.h
> @@ -13,67 +13,9 @@
>  
>  #ifndef CONFIG_SPL_BUILD
>  
> -/* First try to boot from SD (index 1), then eMMC (index 0) */
> -#if IS_ENABLED(CONFIG_CMD_MMC)
> -	#define BOOT_TARGET_MMC(func) \
> -		func(MMC, mmc, 1) \
> -		func(MMC, mmc, 0)
> -#else
> -	#define BOOT_TARGET_MMC(func)
> -#endif
> -
> -#if IS_ENABLED(CONFIG_CMD_NVME)
> -	#define BOOT_TARGET_NVME(func) func(NVME, nvme, 0)
> -#else
> -	#define BOOT_TARGET_NVME(func)
> -#endif
> -
> -#if IS_ENABLED(CONFIG_CMD_SCSI)
> -	#define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
> -#else
> -	#define BOOT_TARGET_SCSI(func)
> -#endif
> -
> -#if IS_ENABLED(CONFIG_CMD_USB)
> -	#define BOOT_TARGET_USB(func) func(USB, usb, 0)
> -#else
> -	#define BOOT_TARGET_USB(func)
> -#endif
> -
> -#if CONFIG_IS_ENABLED(CMD_PXE)
> -	#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
> -#else
> -	#define BOOT_TARGET_PXE(func)
> -#endif
> -
> -#if CONFIG_IS_ENABLED(CMD_DHCP)
> -	#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
> -#else
> -	#define BOOT_TARGET_DHCP(func)
> -#endif
> -
> -#if IS_ENABLED(CONFIG_CMD_SF)
> -	#define BOOT_TARGET_SF(func)	func(SF, sf, 0)
> -#else
> -	#define BOOT_TARGET_SF(func)
> -#endif
> -
>  #ifdef CONFIG_ROCKCHIP_RK3399
> -#define BOOT_TARGET_DEVICES(func) \
> -	BOOT_TARGET_MMC(func) \
> -	BOOT_TARGET_NVME(func) \
> -	BOOT_TARGET_SCSI(func) \
> -	BOOT_TARGET_USB(func) \
> -	BOOT_TARGET_PXE(func) \
> -	BOOT_TARGET_DHCP(func) \
> -	BOOT_TARGET_SF(func)
>  #define BOOT_TARGETS	"mmc1 mmc0 nvme scsi usb pxe dhcp spi"
>  #else
> -#define BOOT_TARGET_DEVICES(func) \
> -	BOOT_TARGET_MMC(func) \
> -	BOOT_TARGET_USB(func) \
> -	BOOT_TARGET_PXE(func) \
> -	BOOT_TARGET_DHCP(func)
>  #define BOOT_TARGETS	"mmc1 mmc0 usb pxe dhcp"
>  #endif
>  
> diff --git a/include/configs/rv1108_common.h b/include/configs/rv1108_common.h
> index 050d37bff0b5..3bf70a0e0ae2 100644
> --- a/include/configs/rv1108_common.h
> +++ b/include/configs/rv1108_common.h
> @@ -28,6 +28,6 @@
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
>  	"partitions=" PARTS_DEFAULT \
> -	BOOTENV
> +	"boot_targets=" BOOT_TARGETS "\0"
>  
>  #endif



More information about the U-Boot mailing list