[PATCH 04/11] board: rockchip: Add a common ROCK Pi 4 target
Peter Robinson
pbrobinson at gmail.com
Sun Feb 18 12:24:11 CET 2024
On Sat, 17 Feb 2024 at 18:40, Jonas Karlman <jonas at kwiboo.se> wrote:
>
> Move ROCK Pi 4 specific board code from the shared evb_rk3399 target
> into its own board target and update related defconfigs to use the new
> TARGET_ROCKPI4_RK3399 option.
>
> Also move the call to gpt_capsule_update_setup() from the weak function
> rk_board_late_init() into the main board_late_init() function.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Peter Robinson <pbrobinson at gmail.com>
Looks good.
> ---
> arch/arm/mach-rockchip/board.c | 10 +++---
> arch/arm/mach-rockchip/rk3399/Kconfig | 6 ++++
> board/radxa/rockpi4-rk3399/Kconfig | 15 +++++++++
> board/radxa/rockpi4-rk3399/MAINTAINERS | 29 +++++++++++++++++
> .../rockpi4-rk3399}/Makefile | 2 +-
> .../rockpi4-rk3399/rockpi4-rk3399.c} | 13 ++------
> board/rockchip/evb_rk3399/MAINTAINERS | 29 -----------------
> configs/rock-4c-plus-rk3399_defconfig | 2 +-
> configs/rock-4se-rk3399_defconfig | 2 +-
> configs/rock-pi-4-rk3399_defconfig | 2 +-
> configs/rock-pi-4c-rk3399_defconfig | 2 +-
> include/configs/rk3399_common.h | 16 ----------
> include/configs/rockpi4-rk3399.h | 32 +++++++++++++++++++
> 13 files changed, 95 insertions(+), 65 deletions(-)
> create mode 100644 board/radxa/rockpi4-rk3399/Kconfig
> create mode 100644 board/radxa/rockpi4-rk3399/MAINTAINERS
> rename board/{rockchip/evb_rk3399 => radxa/rockpi4-rk3399}/Makefile (79%)
> rename board/{rockchip/evb_rk3399/evb-rk3399.c => radxa/rockpi4-rk3399/rockpi4-rk3399.c} (79%)
> create mode 100644 include/configs/rockpi4-rk3399.h
>
> diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
> index 4f666aee706f..dea5805c4665 100644
> --- a/arch/arm/mach-rockchip/board.c
> +++ b/arch/arm/mach-rockchip/board.c
> @@ -34,7 +34,7 @@
> #include <asm/arch-rockchip/periph.h>
> #include <power/regulator.h>
>
> -#if defined(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && defined(CONFIG_EFI_PARTITION)
> +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && IS_ENABLED(CONFIG_EFI_PARTITION)
>
> #define DFU_ALT_BUF_LEN SZ_1K
>
> @@ -185,10 +185,6 @@ static void gpt_capsule_update_setup(void)
>
> __weak int rk_board_late_init(void)
> {
> -#if defined(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && defined(CONFIG_EFI_PARTITION)
> - gpt_capsule_update_setup();
> -#endif
> -
> return 0;
> }
>
> @@ -196,6 +192,10 @@ int board_late_init(void)
> {
> setup_boot_mode();
>
> +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && IS_ENABLED(CONFIG_EFI_PARTITION)
> + gpt_capsule_update_setup();
> +#endif
> +
> return rk_board_late_init();
> }
>
> diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
> index d01063ac98b6..bf3600aee2ad 100644
> --- a/arch/arm/mach-rockchip/rk3399/Kconfig
> +++ b/arch/arm/mach-rockchip/rk3399/Kconfig
> @@ -89,6 +89,11 @@ config TARGET_ROCK960_RK3399
> * 2x USB 3.0 type A, 2x USB 2.0 type A (host mode only),
> 1x USB 3.0 type C OTG
>
> +config TARGET_ROCKPI4_RK3399
> + bool "Radxa ROCK Pi 4 board"
> + help
> + Support for ROCK Pi 4 board family by Radxa.
> +
> config TARGET_ROCKPRO64_RK3399
> bool "Pine64 Rockpro64 board"
> help
> @@ -174,6 +179,7 @@ source "board/google/gru/Kconfig"
> source "board/pine64/pinebook-pro-rk3399/Kconfig"
> source "board/pine64/pinephone-pro-rk3399/Kconfig"
> source "board/pine64/rockpro64_rk3399/Kconfig"
> +source "board/radxa/rockpi4-rk3399/Kconfig"
> source "board/rockchip/evb_rk3399/Kconfig"
> source "board/theobroma-systems/puma_rk3399/Kconfig"
> source "board/vamrs/rock960_rk3399/Kconfig"
> diff --git a/board/radxa/rockpi4-rk3399/Kconfig b/board/radxa/rockpi4-rk3399/Kconfig
> new file mode 100644
> index 000000000000..d82663506b12
> --- /dev/null
> +++ b/board/radxa/rockpi4-rk3399/Kconfig
> @@ -0,0 +1,15 @@
> +if TARGET_ROCKPI4_RK3399
> +
> +config SYS_BOARD
> + default "rockpi4-rk3399"
> +
> +config SYS_VENDOR
> + default "radxa"
> +
> +config SYS_CONFIG_NAME
> + default "rockpi4-rk3399"
> +
> +config BOARD_SPECIFIC_OPTIONS # dummy
> + def_bool y
> +
> +endif
> diff --git a/board/radxa/rockpi4-rk3399/MAINTAINERS b/board/radxa/rockpi4-rk3399/MAINTAINERS
> new file mode 100644
> index 000000000000..12d4f35af881
> --- /dev/null
> +++ b/board/radxa/rockpi4-rk3399/MAINTAINERS
> @@ -0,0 +1,29 @@
> +ROCK-PI-4
> +M: Jagan Teki <jagan at amarulasolutions.com>
> +R: Jonas Karlman <jonas at kwiboo.se>
> +S: Maintained
> +F: board/radxa/rockpi4-rk3399/
> +F: configs/rock-pi-4-rk3399_defconfig
> +F: arch/arm/dts/rk3399-rock-pi-4.dtsi
> +F: arch/arm/dts/rk3399-rock-pi-4-u-boot.dtsi
> +F: arch/arm/dts/rk3399-rock-pi-4a.dts
> +F: arch/arm/dts/rk3399-rock-pi-4a-u-boot.dtsi
> +F: configs/rock-pi-4c-rk3399_defconfig
> +F: arch/arm/dts/rk3399-rock-pi-4c.dts
> +F: arch/arm/dts/rk3399-rock-pi-4c-u-boot.dtsi
> +
> +ROCK-4C+
> +M: FUKAUMI Naoki <naoki at radxa.com>
> +R: Jonas Karlman <jonas at kwiboo.se>
> +S: Maintained
> +F: configs/rock-4c-plus-rk3399_defconfig
> +F: arch/arm/dts/rk3399-rock-4c-plus.dts
> +F: arch/arm/dts/rk3399-rock-4c-plus-u-boot.dtsi
> +
> +ROCK-4SE
> +M: Christopher Obbard <chris.obbard at collabora.com>
> +R: Jonas Karlman <jonas at kwiboo.se>
> +S: Maintained
> +F: configs/rock-4se-rk3399_defconfig
> +F: arch/arm/dts/rk3399-rock-4se.dts
> +F: arch/arm/dts/rk3399-rock-4se-u-boot.dtsi
> diff --git a/board/rockchip/evb_rk3399/Makefile b/board/radxa/rockpi4-rk3399/Makefile
> similarity index 79%
> rename from board/rockchip/evb_rk3399/Makefile
> rename to board/radxa/rockpi4-rk3399/Makefile
> index aaa51c212e52..3d0225332275 100644
> --- a/board/rockchip/evb_rk3399/Makefile
> +++ b/board/radxa/rockpi4-rk3399/Makefile
> @@ -4,4 +4,4 @@
> # SPDX-License-Identifier: GPL-2.0+
> #
>
> -obj-y += evb-rk3399.o
> +obj-y += rockpi4-rk3399.o
> diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c
> similarity index 79%
> rename from board/rockchip/evb_rk3399/evb-rk3399.c
> rename to board/radxa/rockpi4-rk3399/rockpi4-rk3399.c
> index ebdd74a7b97f..a533128b92fc 100644
> --- a/board/rockchip/evb_rk3399/evb-rk3399.c
> +++ b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c
> @@ -3,13 +3,8 @@
> * (C) Copyright 2016 Rockchip Electronics Co., Ltd
> */
>
> -#include <common.h>
> #include <dm.h>
> #include <efi_loader.h>
> -#include <init.h>
> -#include <log.h>
> -#include <asm/arch-rockchip/periph.h>
> -#include <linux/kernel.h>
>
> #define ROCKPI4_UPDATABLE_IMAGES 2
>
> @@ -24,17 +19,15 @@ struct efi_capsule_update_info update_info = {
> #endif
>
> #ifndef CONFIG_SPL_BUILD
> -#if defined(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && defined(CONFIG_EFI_PARTITION)
> +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && IS_ENABLED(CONFIG_EFI_PARTITION)
> static bool board_is_rockpi_4b(void)
> {
> - return CONFIG_IS_ENABLED(TARGET_EVB_RK3399) &&
> - of_machine_is_compatible("radxa,rockpi4b");
> + return of_machine_is_compatible("radxa,rockpi4b");
> }
>
> static bool board_is_rockpi_4c(void)
> {
> - return CONFIG_IS_ENABLED(TARGET_EVB_RK3399) &&
> - of_machine_is_compatible("radxa,rockpi4c");
> + return of_machine_is_compatible("radxa,rockpi4c");
> }
>
> void rockchip_capsule_update_board_setup(void)
> diff --git a/board/rockchip/evb_rk3399/MAINTAINERS b/board/rockchip/evb_rk3399/MAINTAINERS
> index fa1f320f5a00..c1196e800e5e 100644
> --- a/board/rockchip/evb_rk3399/MAINTAINERS
> +++ b/board/rockchip/evb_rk3399/MAINTAINERS
> @@ -95,35 +95,6 @@ F: configs/orangepi-rk3399_defconfig
> F: arch/arm/dts/rk3399-orangepi.dts
> F: arch/arm/dts/rk3399-orangepi-u-boot.dtsi
>
> -ROCK-4C+
> -M: FUKAUMI Naoki <naoki at radxa.com>
> -R: Jonas Karlman <jonas at kwiboo.se>
> -S: Maintained
> -F: configs/rock-4c-plus-rk3399_defconfig
> -F: arch/arm/dts/rk3399-rock-4c-plus.dts
> -F: arch/arm/dts/rk3399-rock-4c-plus-u-boot.dtsi
> -
> -ROCK-4SE
> -M: Christopher Obbard <chris.obbard at collabora.com>
> -R: Jonas Karlman <jonas at kwiboo.se>
> -S: Maintained
> -F: configs/rock-4se-rk3399_defconfig
> -F: arch/arm/dts/rk3399-rock-4se.dts
> -F: arch/arm/dts/rk3399-rock-4se-u-boot.dtsi
> -
> -ROCK-PI-4
> -M: Jagan Teki <jagan at amarulasolutions.com>
> -R: Jonas Karlman <jonas at kwiboo.se>
> -S: Maintained
> -F: configs/rock-pi-4-rk3399_defconfig
> -F: arch/arm/dts/rk3399-rock-pi-4.dtsi
> -F: arch/arm/dts/rk3399-rock-pi-4-u-boot.dtsi
> -F: arch/arm/dts/rk3399-rock-pi-4a.dts
> -F: arch/arm/dts/rk3399-rock-pi-4a-u-boot.dtsi
> -F: configs/rock-pi-4c-rk3399_defconfig
> -F: arch/arm/dts/rk3399-rock-pi-4c.dts
> -F: arch/arm/dts/rk3399-rock-pi-4c-u-boot.dtsi
> -
> ROCK-PI-N10
> M: Jagan Teki <jagan at amarulasolutions.com>
> S: Maintained
> diff --git a/configs/rock-4c-plus-rk3399_defconfig b/configs/rock-4c-plus-rk3399_defconfig
> index 94a9803ac6b5..8d4bfe902e8f 100644
> --- a/configs/rock-4c-plus-rk3399_defconfig
> +++ b/configs/rock-4c-plus-rk3399_defconfig
> @@ -11,7 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-4c-plus"
> CONFIG_OF_LIBFDT_OVERLAY=y
> CONFIG_DM_RESET=y
> CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_TARGET_EVB_RK3399=y
> +CONFIG_TARGET_ROCKPI4_RK3399=y
> CONFIG_SPL_STACK=0x400000
> CONFIG_DEBUG_UART_BASE=0xFF1A0000
> CONFIG_DEBUG_UART_CLOCK=24000000
> diff --git a/configs/rock-4se-rk3399_defconfig b/configs/rock-4se-rk3399_defconfig
> index e27e4a221267..9acdf52a82f2 100644
> --- a/configs/rock-4se-rk3399_defconfig
> +++ b/configs/rock-4se-rk3399_defconfig
> @@ -11,7 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-4se"
> CONFIG_OF_LIBFDT_OVERLAY=y
> CONFIG_DM_RESET=y
> CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_TARGET_EVB_RK3399=y
> +CONFIG_TARGET_ROCKPI4_RK3399=y
> CONFIG_SPL_STACK=0x400000
> CONFIG_DEBUG_UART_BASE=0xFF1A0000
> CONFIG_DEBUG_UART_CLOCK=24000000
> diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig
> index eb6727f22ae2..dcc9fd3084e3 100644
> --- a/configs/rock-pi-4-rk3399_defconfig
> +++ b/configs/rock-pi-4-rk3399_defconfig
> @@ -11,7 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-pi-4a"
> CONFIG_OF_LIBFDT_OVERLAY=y
> CONFIG_DM_RESET=y
> CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_TARGET_EVB_RK3399=y
> +CONFIG_TARGET_ROCKPI4_RK3399=y
> CONFIG_SPL_STACK=0x400000
> CONFIG_DEBUG_UART_BASE=0xFF1A0000
> CONFIG_DEBUG_UART_CLOCK=24000000
> diff --git a/configs/rock-pi-4c-rk3399_defconfig b/configs/rock-pi-4c-rk3399_defconfig
> index 247518c42b13..da2e7349f677 100644
> --- a/configs/rock-pi-4c-rk3399_defconfig
> +++ b/configs/rock-pi-4c-rk3399_defconfig
> @@ -11,7 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="rk3399-rock-pi-4c"
> CONFIG_OF_LIBFDT_OVERLAY=y
> CONFIG_DM_RESET=y
> CONFIG_ROCKCHIP_RK3399=y
> -CONFIG_TARGET_EVB_RK3399=y
> +CONFIG_TARGET_ROCKPI4_RK3399=y
> CONFIG_SPL_STACK=0x400000
> CONFIG_DEBUG_UART_BASE=0xFF1A0000
> CONFIG_DEBUG_UART_CLOCK=24000000
> diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h
> index 96ba19c659bd..4e75771055b8 100644
> --- a/include/configs/rk3399_common.h
> +++ b/include/configs/rk3399_common.h
> @@ -13,22 +13,6 @@
> #define CFG_SYS_SDRAM_BASE 0
> #define SDRAM_MAX_SIZE 0xf8000000
>
> -#define ROCKPI_4B_IDBLOADER_IMAGE_GUID \
> - EFI_GUID(0x02f4d760, 0xcfd5, 0x43bd, 0x8e, 0x2d, \
> - 0xa4, 0x2a, 0xcb, 0x33, 0xc6, 0x60)
> -
> -#define ROCKPI_4B_UBOOT_IMAGE_GUID \
> - EFI_GUID(0x4ce292da, 0x1dd8, 0x428d, 0xa1, 0xc2, \
> - 0x77, 0x74, 0x3e, 0xf8, 0xb9, 0x6e)
> -
> -#define ROCKPI_4C_IDBLOADER_IMAGE_GUID \
> - EFI_GUID(0xfd68510c, 0x12d3, 0x4f0a, 0xb8, 0xd3, \
> - 0xd8, 0x79, 0xe1, 0xd3, 0xa5, 0x40)
> -
> -#define ROCKPI_4C_UBOOT_IMAGE_GUID \
> - EFI_GUID(0xb81fb4ae, 0xe4f3, 0x471b, 0x99, 0xb4, \
> - 0x0b, 0x3d, 0xa5, 0x49, 0xce, 0x13)
> -
> #ifndef CONFIG_SPL_BUILD
>
> #define ENV_MEM_LAYOUT_SETTINGS \
> diff --git a/include/configs/rockpi4-rk3399.h b/include/configs/rockpi4-rk3399.h
> new file mode 100644
> index 000000000000..1936e06ab3c2
> --- /dev/null
> +++ b/include/configs/rockpi4-rk3399.h
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * (C) Copyright 2016 Rockchip Electronics Co., Ltd
> + */
> +
> +#ifndef __ROCKPI4_RK3399_H
> +#define __ROCKPI4_RK3399_H
> +
> +#define ROCKPI_4B_IDBLOADER_IMAGE_GUID \
> + EFI_GUID(0x02f4d760, 0xcfd5, 0x43bd, 0x8e, 0x2d, \
> + 0xa4, 0x2a, 0xcb, 0x33, 0xc6, 0x60)
> +
> +#define ROCKPI_4B_UBOOT_IMAGE_GUID \
> + EFI_GUID(0x4ce292da, 0x1dd8, 0x428d, 0xa1, 0xc2, \
> + 0x77, 0x74, 0x3e, 0xf8, 0xb9, 0x6e)
> +
> +#define ROCKPI_4C_IDBLOADER_IMAGE_GUID \
> + EFI_GUID(0xfd68510c, 0x12d3, 0x4f0a, 0xb8, 0xd3, \
> + 0xd8, 0x79, 0xe1, 0xd3, 0xa5, 0x40)
> +
> +#define ROCKPI_4C_UBOOT_IMAGE_GUID \
> + EFI_GUID(0xb81fb4ae, 0xe4f3, 0x471b, 0x99, 0xb4, \
> + 0x0b, 0x3d, 0xa5, 0x49, 0xce, 0x13)
> +
> +#define ROCKCHIP_DEVICE_SETTINGS \
> + "stdin=serial,usbkbd\0" \
> + "stdout=serial,vidconsole\0" \
> + "stderr=serial,vidconsole\0"
> +
> +#include <configs/rk3399_common.h>
> +
> +#endif
> --
> 2.43.0
>
More information about the U-Boot
mailing list