diff options
author | Jonas Karlman <jonas@kwiboo.se> | 2024-03-12 23:36:14 +0000 |
---|---|---|
committer | Kever Yang <kever.yang@rock-chips.com> | 2024-03-14 18:19:27 +0800 |
commit | b65850509c9443e8e5fb8fb9c01a9be82441bc35 (patch) | |
tree | 7368b6c43abc1dbe1e2949eaebcf39d03a5b19ff /board/radxa | |
parent | 4b6e00454fe37a3ec3304ad88396bbb28066f44c (diff) | |
download | u-boot-b65850509c9443e8e5fb8fb9c01a9be82441bc35.zip u-boot-b65850509c9443e8e5fb8fb9c01a9be82441bc35.tar.gz u-boot-b65850509c9443e8e5fb8fb9c01a9be82441bc35.tar.bz2 |
board: rockchip: Add a common ROCK Pi 4 target
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.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Christopher Obbard <chris.obbard@collabora.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Diffstat (limited to 'board/radxa')
-rw-r--r-- | board/radxa/rockpi4-rk3399/Kconfig | 15 | ||||
-rw-r--r-- | board/radxa/rockpi4-rk3399/MAINTAINERS | 22 | ||||
-rw-r--r-- | board/radxa/rockpi4-rk3399/Makefile | 7 | ||||
-rw-r--r-- | board/radxa/rockpi4-rk3399/rockpi4-rk3399.c | 58 |
4 files changed, 102 insertions, 0 deletions
diff --git a/board/radxa/rockpi4-rk3399/Kconfig b/board/radxa/rockpi4-rk3399/Kconfig new file mode 100644 index 0000000..d826635 --- /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 0000000..da5273f --- /dev/null +++ b/board/radxa/rockpi4-rk3399/MAINTAINERS @@ -0,0 +1,22 @@ +ROCK-PI-4 +M: Jagan Teki <jagan@amarulasolutions.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: board/radxa/rockpi4-rk3399/ +F: configs/rock-pi-4-rk3399_defconfig +F: configs/rock-pi-4c-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-pi-4* + +ROCK-4C+ +M: FUKAUMI Naoki <naoki@radxa.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/rock-4c-plus-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-4c-plus* + +ROCK-4SE +M: Christopher Obbard <chris.obbard@collabora.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/rock-4se-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-4se* diff --git a/board/radxa/rockpi4-rk3399/Makefile b/board/radxa/rockpi4-rk3399/Makefile new file mode 100644 index 0000000..3d02253 --- /dev/null +++ b/board/radxa/rockpi4-rk3399/Makefile @@ -0,0 +1,7 @@ +# +# (C) Copyright 2016 Rockchip Electronics Co., Ltd +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += rockpi4-rk3399.o diff --git a/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c new file mode 100644 index 0000000..a533128 --- /dev/null +++ b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2016 Rockchip Electronics Co., Ltd + */ + +#include <dm.h> +#include <efi_loader.h> + +#define ROCKPI4_UPDATABLE_IMAGES 2 + +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) +static struct efi_fw_image fw_images[ROCKPI4_UPDATABLE_IMAGES] = {0}; + +struct efi_capsule_update_info update_info = { + .num_images = ROCKPI4_UPDATABLE_IMAGES, + .images = fw_images, +}; + +#endif + +#ifndef CONFIG_SPL_BUILD +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && IS_ENABLED(CONFIG_EFI_PARTITION) +static bool board_is_rockpi_4b(void) +{ + return of_machine_is_compatible("radxa,rockpi4b"); +} + +static bool board_is_rockpi_4c(void) +{ + return of_machine_is_compatible("radxa,rockpi4c"); +} + +void rockchip_capsule_update_board_setup(void) +{ + if (board_is_rockpi_4b()) { + efi_guid_t idbldr_image_type_guid = + ROCKPI_4B_IDBLOADER_IMAGE_GUID; + efi_guid_t uboot_image_type_guid = ROCKPI_4B_UBOOT_IMAGE_GUID; + + guidcpy(&fw_images[0].image_type_id, &idbldr_image_type_guid); + guidcpy(&fw_images[1].image_type_id, &uboot_image_type_guid); + + fw_images[0].fw_name = u"ROCKPI4B-IDBLOADER"; + fw_images[1].fw_name = u"ROCKPI4B-UBOOT"; + } else if (board_is_rockpi_4c()) { + efi_guid_t idbldr_image_type_guid = + ROCKPI_4C_IDBLOADER_IMAGE_GUID; + efi_guid_t uboot_image_type_guid = ROCKPI_4C_UBOOT_IMAGE_GUID; + + guidcpy(&fw_images[0].image_type_id, &idbldr_image_type_guid); + guidcpy(&fw_images[1].image_type_id, &uboot_image_type_guid); + + fw_images[0].fw_name = u"ROCKPI4C-IDBLOADER"; + fw_images[1].fw_name = u"ROCKPI4C-UBOOT"; + } +} +#endif /* CONFIG_EFI_HAVE_CAPSULE_SUPPORT && CONFIG_EFI_PARTITION */ +#endif /* !CONFIG_SPL_BUILD */ |