[PATCH v3 01/16] spacemit: k1: support multi-board infrastructure
Raymond Mao
raymondmaoca at gmail.com
Wed Mar 25 23:32:17 CET 2026
From: Raymond Mao <raymond.mao at riscstar.com>
Restructure K1 SoC support to handle multiple boards through a single
configuration:
1. Rename bananapi-f3_defconfig to k1_defconfig.
2. Move all K1 board files to k1 directory.
3. Rename TARGET_BANANAPI_F3 to TARGET_SPACEMIT_K1.
Eliminates the need for board-specific defconfigs while maintaining
hardware compatibility.
Signed-off-by: Raymond Mao <raymond.mao at riscstar.com>
---
Changes in v3:
- Use flat TARGET_SPACEMIT_K1 to avoid Kconfig recursive dependency
caused by merge conflict with b51e59c8b34 ("riscv: Add support
for BeagleV-Fire")
arch/riscv/Kconfig | 8 ++++----
arch/riscv/cpu/k1/Kconfig | 4 ++++
arch/riscv/dts/Makefile | 2 +-
board/spacemit/{bananapi-f3 => k1}/Kconfig | 6 +++---
board/spacemit/{bananapi-f3 => k1}/MAINTAINERS | 4 ++--
board/spacemit/{bananapi-f3 => k1}/Makefile | 0
board/spacemit/{bananapi-f3 => k1}/board.c | 0
configs/{bananapi-f3_defconfig => spacemit_k1_defconfig} | 2 +-
doc/board/spacemit/bananapi-f3.rst | 2 +-
include/configs/{bananapi-f3.h => k1.h} | 0
10 files changed, 16 insertions(+), 12 deletions(-)
rename board/spacemit/{bananapi-f3 => k1}/Kconfig (79%)
rename board/spacemit/{bananapi-f3 => k1}/MAINTAINERS (61%)
rename board/spacemit/{bananapi-f3 => k1}/Makefile (100%)
rename board/spacemit/{bananapi-f3 => k1}/board.c (100%)
rename configs/{bananapi-f3_defconfig => spacemit_k1_defconfig} (95%)
rename include/configs/{bananapi-f3.h => k1.h} (100%)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index ad7589123c6..485067ed266 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -14,9 +14,6 @@ config TARGET_ANDES_AE350
config TARGET_ANDES_VOYAGER
bool "Support Andes Voyager Board"
-config TARGET_BANANAPI_F3
- bool "Support BananaPi F3 Board"
-
config TARGET_BEAGLEBOARD_BEAGLEVFIRE
bool "Support BeagleBoard BeagleV-Fire Board (based on Microchip MPFS)"
@@ -50,6 +47,9 @@ config TARGET_SIPEED_MAIX
bool "Support Sipeed Maix Board"
select SYS_CACHE_SHIFT_6
+config TARGET_SPACEMIT_K1
+ bool "Support Spacemit K1 SoC"
+
config TARGET_STARFIVE_VISIONFIVE2
bool "Support StarFive VisionFive2 Board"
select BOARD_LATE_INIT
@@ -119,7 +119,7 @@ source "board/sifive/unmatched/Kconfig"
source "board/sipeed/maix/Kconfig"
source "board/sophgo/milkv_duo/Kconfig"
source "board/sophgo/licheerv_nano/Kconfig"
-source "board/spacemit/bananapi-f3/Kconfig"
+source "board/spacemit/k1/Kconfig"
source "board/starfive/visionfive2/Kconfig"
source "board/thead/th1520_lpi4a/Kconfig"
source "board/xilinx/mbv/Kconfig"
diff --git a/arch/riscv/cpu/k1/Kconfig b/arch/riscv/cpu/k1/Kconfig
index 14201df80f2..3701bf2b5da 100644
--- a/arch/riscv/cpu/k1/Kconfig
+++ b/arch/riscv/cpu/k1/Kconfig
@@ -2,6 +2,8 @@
#
# Copyright (C) 2024, Kongyang Liu <seashell11234455 at gmail.com>
+if TARGET_SPACEMIT_K1
+
config SPACEMIT_K1
bool
select BINMAN
@@ -17,3 +19,5 @@ config SPACEMIT_K1
imply SPL_CPU
imply SPL_OPENSBI
imply SPL_LOAD_FIT
+
+endif
diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile
index 8e591cb7aa9..bfb18341c61 100644
--- a/arch/riscv/dts/Makefile
+++ b/arch/riscv/dts/Makefile
@@ -2,7 +2,6 @@
dtb-$(CONFIG_TARGET_ANDES_AE350) += ae350_32.dtb ae350_64.dtb
dtb-$(CONFIG_TARGET_ANDES_VOYAGER) += qilai-voyager.dtb
-dtb-$(CONFIG_TARGET_BANANAPI_F3) += k1-bananapi-f3.dtb
dtb-$(CONFIG_TARGET_K230_CANMV) += k230-canmv.dtb
dtb-$(CONFIG_TARGET_MICROCHIP_ICICLE) += mpfs-icicle-kit.dtb
dtb-$(CONFIG_TARGET_MILKV_DUO) += cv1800b-milkv-duo.dtb
@@ -10,6 +9,7 @@ dtb-$(CONFIG_TARGET_LICHEERV_NANO) += sg2002-licheerv-nano-b.dtb
dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt32.dtb qemu-virt64.dtb
dtb-$(CONFIG_TARGET_OPENPITON_RISCV64) += openpiton-riscv64.dtb
dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb
+dtb-$(CONFIG_TARGET_SPACEMIT_K1) += k1-bananapi-f3.dtb
dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv32.dtb
dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-mbv64.dtb
dtb-$(CONFIG_TARGET_XILINX_MBV) += xilinx-binman.dtb
diff --git a/board/spacemit/bananapi-f3/Kconfig b/board/spacemit/k1/Kconfig
similarity index 79%
rename from board/spacemit/bananapi-f3/Kconfig
rename to board/spacemit/k1/Kconfig
index f89fa9af2c7..1c615f89b64 100644
--- a/board/spacemit/bananapi-f3/Kconfig
+++ b/board/spacemit/k1/Kconfig
@@ -1,7 +1,7 @@
-if TARGET_BANANAPI_F3
+if TARGET_SPACEMIT_K1
config SYS_BOARD
- default "bananapi-f3"
+ default "k1"
config SYS_VENDOR
default "spacemit"
@@ -10,7 +10,7 @@ config SYS_CPU
default "k1"
config SYS_CONFIG_NAME
- default "bananapi-f3"
+ default "k1"
config TEXT_BASE
default 0x00200000
diff --git a/board/spacemit/bananapi-f3/MAINTAINERS b/board/spacemit/k1/MAINTAINERS
similarity index 61%
rename from board/spacemit/bananapi-f3/MAINTAINERS
rename to board/spacemit/k1/MAINTAINERS
index 131bad03181..bd476c32719 100644
--- a/board/spacemit/bananapi-f3/MAINTAINERS
+++ b/board/spacemit/k1/MAINTAINERS
@@ -1,6 +1,6 @@
BananaPi F3
M: Huan Zhou <pericycle.cc@@gmail.com>
S: Maintained
-F: board/spacemit/bananapi-f3/
-F: configs/bananapi-f3_defconfig
+F: board/spacemit/k1/
+F: configs/k1_defconfig
F: doc/board/spacemit/bananapi-f3.rst
diff --git a/board/spacemit/bananapi-f3/Makefile b/board/spacemit/k1/Makefile
similarity index 100%
rename from board/spacemit/bananapi-f3/Makefile
rename to board/spacemit/k1/Makefile
diff --git a/board/spacemit/bananapi-f3/board.c b/board/spacemit/k1/board.c
similarity index 100%
rename from board/spacemit/bananapi-f3/board.c
rename to board/spacemit/k1/board.c
diff --git a/configs/bananapi-f3_defconfig b/configs/spacemit_k1_defconfig
similarity index 95%
rename from configs/bananapi-f3_defconfig
rename to configs/spacemit_k1_defconfig
index a726ce84775..09928046012 100644
--- a/configs/bananapi-f3_defconfig
+++ b/configs/spacemit_k1_defconfig
@@ -6,9 +6,9 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x1000000
CONFIG_DEFAULT_DEVICE_TREE="k1-bananapi-f3"
CONFIG_SYS_BOOTM_LEN=0xa000000
CONFIG_SYS_LOAD_ADDR=0x200000
-CONFIG_TARGET_BANANAPI_F3=y
CONFIG_ARCH_RV64I=y
CONFIG_RISCV_SMODE=y
+CONFIG_TARGET_SPACEMIT_K1=y
CONFIG_FIT=y
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_OF_BOARD_SETUP=y
diff --git a/doc/board/spacemit/bananapi-f3.rst b/doc/board/spacemit/bananapi-f3.rst
index f2220950a3a..1ece2ce9d02 100644
--- a/doc/board/spacemit/bananapi-f3.rst
+++ b/doc/board/spacemit/bananapi-f3.rst
@@ -29,7 +29,7 @@ built for SpacemiT K1 SoC as below:
.. code-block:: console
cd <U-Boot-dir>
- make bananapi-f3_defconfig
+ make spacemit_k1_defconfig
make OPENSBI=<OpenSBI-dir>/build/platform/generic/firmware/fw_dynamic.bin
This will generate u-boot.itb
diff --git a/include/configs/bananapi-f3.h b/include/configs/k1.h
similarity index 100%
rename from include/configs/bananapi-f3.h
rename to include/configs/k1.h
--
2.25.1
More information about the U-Boot
mailing list