[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