* [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board
@ 2026-09-23 12:46 Yixun Lan
2026-09-23 12:46 ` [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Yixun Lan @ 2026-09-23 12:46 UTC (permalink / raw)
To: u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Yixun Lan
Add initial support for SpacemiT K3 Pico-ITX board, the config file
will enable all basic components which make it able to run into U-Boot
serial console.
The series actually depend on previous sent patches, I'm not adding
dependency to this series, but list it here for reference.
Pinctrl:
https://patch.msgid.link/20260906-pinctrl-v2-1-729da680092c@riscstar.com
https://patch.msgid.link/20260820-01-k3-pinctrl-support-v1-0-b54a2450c895@kernel.org
GPIO:
https://patch.msgid.link/20260822-01-gpio-pinctrl-support-v1-1-6be2f4c71c5d@kernel.org
clock and reset:
https://patch.msgid.link/20260923-01-k3-clock-reset-support-v2-0-6ec0abb1c7b5@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
Yixun Lan (4):
board: spacemit: add SpacemiT K3 Pico-ITX
riscv: dts: spacemit: k3: add binman node
configs: spacemit: Add K3 default configuration
doc: spacemit: k3: Add Pico-ITX board
arch/riscv/Kconfig | 5 +
arch/riscv/cpu/k3/Kconfig | 18 +++
arch/riscv/cpu/k3/Makefile | 5 +
arch/riscv/cpu/k3/dram.c | 29 +++++
arch/riscv/dts/k3-u-boot.dtsi | 6 +
board/spacemit/k3/Kconfig | 30 +++++
board/spacemit/k3/MAINTAINERS | 8 ++
board/spacemit/k3/Makefile | 5 +
board/spacemit/k3/board.c | 4 +
configs/spacemit_k3_defconfig | 50 ++++++++
doc/board/spacemit/index.rst | 1 +
doc/board/spacemit/spacemit-pico-itx.rst | 204 +++++++++++++++++++++++++++++++
include/configs/k3.h | 13 ++
13 files changed, 378 insertions(+)
---
base-commit: 9ab84467bbbdf6a9149f6c66664c65b18c7b7f21
change-id: 20260921-00-basic-spacemit-k3-838119645d39
Best regards,
--
Yixun Lan <dlan@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
@ 2026-09-23 12:46 ` Yixun Lan
2026-09-23 18:00 ` Yao Zi
2026-09-23 12:46 ` [PATCH 2/4] riscv: dts: spacemit: k3: add binman node Yixun Lan
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Yixun Lan @ 2026-09-23 12:46 UTC (permalink / raw)
To: u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Yixun Lan
Add initial support for K3 Pico-ITX board, in this version, the DRAM
information is parsed from DTS "/memory" node. And with UART enabled,
the U-Boot serial console works fine now.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
arch/riscv/Kconfig | 5 +++++
arch/riscv/cpu/k3/Kconfig | 18 ++++++++++++++++++
arch/riscv/cpu/k3/Makefile | 5 +++++
arch/riscv/cpu/k3/dram.c | 29 +++++++++++++++++++++++++++++
board/spacemit/k3/Kconfig | 30 ++++++++++++++++++++++++++++++
board/spacemit/k3/MAINTAINERS | 8 ++++++++
board/spacemit/k3/Makefile | 5 +++++
board/spacemit/k3/board.c | 4 ++++
include/configs/k3.h | 13 +++++++++++++
9 files changed, 117 insertions(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index c1b2890f1f3..386241efd4a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -53,6 +53,9 @@ config TARGET_SIPEED_MAIX
config TARGET_SPACEMIT_K1
bool "Support Spacemit K1 SoC"
+config TARGET_SPACEMIT_K3
+ bool "Support SpacemiT K3 SoC"
+
config TARGET_STARFIVE_VISIONFIVE2
bool "Support StarFive VisionFive2 Board"
select BOARD_LATE_INIT
@@ -124,6 +127,7 @@ source "board/sophgo/milkv_duo/Kconfig"
source "board/sophgo/milkv_duo_256m/Kconfig"
source "board/sophgo/licheerv_nano/Kconfig"
source "board/spacemit/k1/Kconfig"
+source "board/spacemit/k3/Kconfig"
source "board/starfive/visionfive2/Kconfig"
source "board/thead/th1520_lpi4a/Kconfig"
source "board/xilinx/mbv/Kconfig"
@@ -138,6 +142,7 @@ source "arch/riscv/cpu/mpfs/Kconfig"
source "arch/riscv/cpu/generic/Kconfig"
source "arch/riscv/cpu/jh7110/Kconfig"
source "arch/riscv/cpu/k1/Kconfig"
+source "arch/riscv/cpu/k3/Kconfig"
source "arch/riscv/cpu/k230/Kconfig"
source "arch/riscv/cpu/th1520/Kconfig"
diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig
new file mode 100644
index 00000000000..5474ac11243
--- /dev/null
+++ b/arch/riscv/cpu/k3/Kconfig
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+
+if TARGET_SPACEMIT_K3
+
+config SPACEMIT_K3
+ bool
+ select BINMAN
+ select ARCH_EARLY_INIT_R
+ select SYS_CACHE_SHIFT_6
+ imply CPU
+ imply CPU_RISCV
+ imply RISCV_TIMER if RISCV_SMODE
+ imply CMD_CPU
+ imply OF_UPSTREAM
+
+endif
diff --git a/arch/riscv/cpu/k3/Makefile b/arch/riscv/cpu/k3/Makefile
new file mode 100644
index 00000000000..fba4e4b0a3f
--- /dev/null
+++ b/arch/riscv/cpu/k3/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+
+obj-y += dram.o
diff --git a/arch/riscv/cpu/k3/dram.c b/arch/riscv/cpu/k3/dram.c
new file mode 100644
index 00000000000..203d72a5da1
--- /dev/null
+++ b/arch/riscv/cpu/k3/dram.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+ */
+
+#include <fdtdec.h>
+#include <init.h>
+#include <linux/sizes.h>
+#include <asm/global_data.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int dram_init(void)
+{
+ return fdtdec_setup_mem_size_base();
+}
+
+int dram_init_banksize(void)
+{
+ return fdtdec_setup_memory_banksize();
+}
+
+phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
+{
+ if (gd->ram_size > SZ_2G)
+ return gd->ram_base + SZ_2G;
+
+ return gd->ram_base + gd->ram_size;
+}
diff --git a/board/spacemit/k3/Kconfig b/board/spacemit/k3/Kconfig
new file mode 100644
index 00000000000..b0e423d829c
--- /dev/null
+++ b/board/spacemit/k3/Kconfig
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+
+if TARGET_SPACEMIT_K3
+
+config SYS_BOARD
+ default "k3"
+
+config SYS_VENDOR
+ default "spacemit"
+
+config SYS_CPU
+ default "k3"
+
+config SYS_CONFIG_NAME
+ default "k3"
+
+config TEXT_BASE
+ default 0x102000000
+
+config SPL_OPENSBI_LOAD_ADDR
+ hex
+ default 0x100000000
+
+config BOARD_SPECIFIC_OPTIONS
+ def_bool y
+ select SPACEMIT_K3
+
+endif
diff --git a/board/spacemit/k3/MAINTAINERS b/board/spacemit/k3/MAINTAINERS
new file mode 100644
index 00000000000..34cf1ed4453
--- /dev/null
+++ b/board/spacemit/k3/MAINTAINERS
@@ -0,0 +1,8 @@
+SPACEMIT K3
+M: Yixun Lan <dlan@kernel.org>
+S: Maintained
+F: arch/riscv/cpu/k3/
+F: board/spacemit/k3/
+F: configs/spacemit_k3_defconfig
+F: include/configs/k3.h
+F: arch/riscv/dts/k3-u-boot.dtsi
diff --git a/board/spacemit/k3/Makefile b/board/spacemit/k3/Makefile
new file mode 100644
index 00000000000..bd5343be789
--- /dev/null
+++ b/board/spacemit/k3/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+
+obj-y := board.o
diff --git a/board/spacemit/k3/board.c b/board/spacemit/k3/board.c
new file mode 100644
index 00000000000..29994e49ce8
--- /dev/null
+++ b/board/spacemit/k3/board.c
@@ -0,0 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+ */
diff --git a/include/configs/k3.h b/include/configs/k3.h
new file mode 100644
index 00000000000..83e4945d2b3
--- /dev/null
+++ b/include/configs/k3.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CFG_SYS_NS16550_IER 0x40
+
+#define RISCV_SMODE_TIMER_FREQ 24000000
+
+#endif /* __CONFIG_H */
--
2.55.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/4] riscv: dts: spacemit: k3: add binman node
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
2026-09-23 12:46 ` [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
@ 2026-09-23 12:46 ` Yixun Lan
2026-09-23 12:46 ` [PATCH 3/4] configs: spacemit: Add K3 default configuration Yixun Lan
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2026-09-23 12:46 UTC (permalink / raw)
To: u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Yixun Lan
SpacemiT K3 follow the standard riscv binman layout, which has opensbi
and U-Boot proper, so include the common binman dtsi file.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
arch/riscv/dts/k3-u-boot.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/riscv/dts/k3-u-boot.dtsi b/arch/riscv/dts/k3-u-boot.dtsi
new file mode 100644
index 00000000000..f1c1c3ee6fd
--- /dev/null
+++ b/arch/riscv/dts/k3-u-boot.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
+ */
+
+#include "binman.dtsi"
--
2.55.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] configs: spacemit: Add K3 default configuration
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
2026-09-23 12:46 ` [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
2026-09-23 12:46 ` [PATCH 2/4] riscv: dts: spacemit: k3: add binman node Yixun Lan
@ 2026-09-23 12:46 ` Yixun Lan
2026-09-23 12:46 ` [PATCH 4/4] doc: spacemit: k3: Add Pico-ITX board Yixun Lan
2026-09-25 5:26 ` [PATCH 0/4] riscv: spacemit: Add support for K3 " E Shattow
4 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2026-09-23 12:46 UTC (permalink / raw)
To: u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Yixun Lan
Add the default configuration for SpacemiT K3 boards, using the
Pico-ITX device tree as the default.
Configure U-Boot to run in RISC-V supervisor mode and enable the
platform clock, reset, GPIO, pinctrl, I2C, PMIC and regulator drivers.
Also configure the memory layout, debug UART and basic filesystem
commands required to boot on the platform.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
configs/spacemit_k3_defconfig | 50 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/configs/spacemit_k3_defconfig b/configs/spacemit_k3_defconfig
new file mode 100644
index 00000000000..6ca41aecc41
--- /dev/null
+++ b/configs/spacemit_k3_defconfig
@@ -0,0 +1,50 @@
+CONFIG_RISCV=y
+CONFIG_SYS_MALLOC_LEN=0x1000000
+CONFIG_SYS_MALLOC_F_LEN=0x80000
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x102300000
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="spacemit/k3-pico-itx"
+CONFIG_SYS_BOOTM_LEN=0xa000000
+CONFIG_SYS_LOAD_ADDR=0x102000000
+CONFIG_DEBUG_UART_BASE=0xd4017000
+CONFIG_DEBUG_UART_CLOCK=14700000
+CONFIG_TARGET_SPACEMIT_K3=y
+CONFIG_ARCH_RV64I=y
+CONFIG_CMODEL_MEDANY=y
+CONFIG_RISCV_SMODE=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_STACK_SIZE=0x100000
+CONFIG_FIT=y
+CONFIG_SUPPORT_RAW_INITRD=y
+CONFIG_SYS_CBSIZE=256
+CONFIG_SYS_PBSIZE=276
+# CONFIG_BOARD_INIT is not set
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_SYSCON=y
+CONFIG_CLK_SPACEMIT=y
+CONFIG_CLK_SPACEMIT_K3=y
+CONFIG_SPACEMIT_GPIO=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_SPACEMIT_K1=y
+CONFIG_MISC=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SPACEMIT_K1=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_SPACEMIT_P1=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_SPACEMIT_P1=y
+CONFIG_DEBUG_UART_NS16550=y
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_SYS_NS16550=y
+CONFIG_SYS_NS16550_MEM32=y
+CONFIG_TIMER_EARLY=y
--
2.55.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/4] doc: spacemit: k3: Add Pico-ITX board
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
` (2 preceding siblings ...)
2026-09-23 12:46 ` [PATCH 3/4] configs: spacemit: Add K3 default configuration Yixun Lan
@ 2026-09-23 12:46 ` Yixun Lan
2026-09-25 5:26 ` [PATCH 0/4] riscv: spacemit: Add support for K3 " E Shattow
4 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2026-09-23 12:46 UTC (permalink / raw)
To: u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Yixun Lan
Add documentation for how to test the mainline U-Boot on SpacemiT
K3 Pico-ITX board, currently it still rely on using vendor FSBL.bin
file to initialize DDR and boot U-Boot proper, and the opensbi
firmware is built from an on-going mainline branch.
Signed-off-by: Yixun Lan <dlan@kernel.org>
---
doc/board/spacemit/index.rst | 1 +
doc/board/spacemit/spacemit-pico-itx.rst | 204 +++++++++++++++++++++++++++++++
2 files changed, 205 insertions(+)
diff --git a/doc/board/spacemit/index.rst b/doc/board/spacemit/index.rst
index a5e35ee12ab..735ccdcc7b9 100644
--- a/doc/board/spacemit/index.rst
+++ b/doc/board/spacemit/index.rst
@@ -7,4 +7,5 @@ SpacemiT
bananapi-f3
k1-spl
+ spacemit-pico-itx
diff --git a/doc/board/spacemit/spacemit-pico-itx.rst b/doc/board/spacemit/spacemit-pico-itx.rst
new file mode 100644
index 00000000000..dd29e3c31c8
--- /dev/null
+++ b/doc/board/spacemit/spacemit-pico-itx.rst
@@ -0,0 +1,204 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+SpacemiT K3 Pico-ITX
+====================
+
+Building
+~~~~~~~~
+1. Install the SpacemiT riscv cross compile toolchain_, or skip it if riscv toolchain is installed.
+
+.. _toolchain: https://archive.spacemit.com/toolchain/
+
+2. Setup cross compilation environment variable:
+
+.. code-block:: console
+
+ export CROSS_COMPILE=<riscv64 toolchain prefix, e.g /opt/spacemit/bin/riscv64-unknown-linux-gnu->
+
+3. Before building U-Boot, OpenSBI should be built first. OpenSBI can be
+built for SpacemiT K1 SoC as below:
+
+.. code-block:: console
+
+ git clone https://github.com/spacemit-com/opensbi-upstream opensbi
+ cd opensbi
+ make PLATFORM=generic
+
+4. Then build U-Boot as following:
+
+.. code-block:: console
+
+ cd <U-Boot-dir>
+ make spacemit_k3_defconfig
+ make OPENSBI=<OpenSBI-dir>/build/platform/generic/firmware/fw_dynamic.bin
+
+This will generate u-boot.itb
+
+Testing
+~~~~~~~
+Currently, in this stage, the U-Boot SPL isn't ready, and has no ddr initialization code
+Thus please test with fasboot command via USB download.
+
+First, retrieve Bianbu Linux image from archive_ and extract the FSBL.bin firmware.
+
+Second, hold the FEL button of Pico-ITX board, then press reset button and release it .
+The board will enter into firmware download mode.
+
+.. code-block:: none
+
+ sys: 0x10001200
+ bm:2
+ usb_init : enter 3296,3072
+ usb_core_init : enter
+ DWC3_GRXTHRCFG:0x4400000
+ ROM: usb download handler
+ rst
+ done H
+ setup= 0x1000680 0x400000,
+ rst
+ done H
+ setup= 0x290500 0x0,
+ setup= 0x1000680 0x120000,
+ setup= 0x2000680 0x90000,
+ setup= 0x2000680 0x200000,
+ setup= 0x3000680 0xff0000,
+ setup= 0x3020680 0xff0409,
+ setup= 0x3010680 0xff0409,
+ setup= 0x10900 0x0,
+ usb_rx_bytes : start len[4096]
+ setup= 0x3020680 0xff0409,
+ setup= 0x3040680 0xff0409,
+
+Run following command to test:
+
+.. code-block:: console
+
+ fastboot stage FSBL.bin
+ fastboot continue
+ sleep 10
+ fastboot stage u-boot.itb
+ fastboot continue
+
+.. _archive: https://archive.spacemit.com/image/k3/version/bianbu/v4.0.7/
+.. _uboot: https://bianbu-linux.spacemit.com/en/device/boot#21-firmware-layout
+
+Booting
+~~~~~~~
+Sample boot log
+~~~~~~~~~~~~~~~
+.. code-block:: none
+
+ sys: 0x10001200
+ bm:2
+ usb_init : enter 3296,3072
+ usb_core_init : enter
+ DWC3_GRXTHRCFG:0x4400000
+ ROM: usb download handler
+ rst
+ done H
+ setup= 0x1000680 0x400000,
+ rst
+ done H
+ setup= 0x2f0500 0x0,
+ setup= 0x1000680 0x120000,
+ setup= 0x2000680 0x90000,
+ setup= 0x2000680 0x200000,
+ setup= 0x3000680 0xff0000,
+ setup= 0x3020680 0xff0409,
+ setup= 0x3010680 0xff0409,
+ setup= 0x10900 0x0,
+ usb_rx_bytes : start len[4096]
+ setup= 0x3020680 0xff0409,
+ setup= 0x3040680 0xff0409,
+ fastboot_handle_command: max-download-size
+ usb_tx_bytes : start len[14]
+ usb_rx_bytes : start len[4096]
+ fastboot_handle_command: 00072b20
+ Starting download of 469792 bytes
+ usb_tx_bytes : start len[12]
+ usb_rx_bytes : start len[469792]
+ usb_tx_bytes : start len[4]
+ usb_rx_bytes : start len[4096]
+ fastboot_handle_command: continue
+ usb_tx_bytes : start len[4]
+ j...
+
+ U-Boot SPL 2022.10 (Sep 07 2026 - 11:31:13 +0000)
+ LPDDR5 total size: 16 GB, data rate: 6400 MT/s
+ DDR training consume 5625ms
+ ..
+ OpenSBI v1.9-72-g13a401f8
+ ____ _____ ____ _____
+ / __ \ / ____| _ \_ _|
+ | | | |_ __ ___ _ __ | (___ | |_) || |
+ | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
+ | |__| | |_) | __/ | | |____) | |_) || |_
+ \____/| .__/ \___|_| |_|_____/|____/_____|
+ | |
+ |_|
+
+ Platform Name : SpacemiT K3 Pico-ITX
+ Platform Features : medeleg
+ Platform HART Count : 8
+ Platform HART Protection : pmp
+ Platform IPI Device : aclint-mswi
+ Platform Timer Device : aclint-mtimer @ 24000000Hz
+ Platform Console Device : uart8250
+ Platform HSM Device : spacemit-k3-hsm
+ Platform PMU Device : ---
+ Platform Reboot Device : spacemit-p1-reset
+ Platform Shutdown Device : spacemit-p1-reset
+ Platform Suspend Device : ---
+ Platform CPPC Device : ---
+ Firmware Base : 0x100000000
+ Firmware Size : 416 KB
+ Firmware RW Offset : 0x40000
+ Firmware RW Size : 160 KB
+ Firmware Heap Offset : 0x57000
+ Firmware Heap Size : 68 KB (total), 1 KB (reserved), 14 KB (used), 52 KB (free)
+ Firmware Scratch Size : 4096 B (total), 1472 B (used), 2624 B (free)
+ Runtime SBI Version : 3.0
+ Standard SBI Extensions : time,rfnc,ipi,base,hsm,srst,pmu,dbcn,fwft,legacy,dbtr,sse
+ Experimental SBI Extensions : none
+
+ Domain0 Name : root
+ Domain0 Init Order : 0xffffffff
+ Domain0 Boot HART : 0
+ Domain0 HARTs : 0x0*,0x1*,0x2*,0x3*,0x4*,0x5*,0x6*,0x7*
+ Domain0 Region00 : 0x0000000100000000-0x000000010003ffff M: (F,R,X) S/U: ()
+ Domain0 Region01 : 0x0000000100040000-0x000000010007ffff M: (F,R,W) S/U: ()
+ Domain0 Region02 : 0x00000000d4017000-0x00000000d4017fff M: (I,R,W) S/U: (R,W)
+ Domain0 Region03 : 0x00000000e081c000-0x00000000e081ffff M: (I,R,W) S/U: ()
+ Domain0 Region04 : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X)
+ Domain0 Next Address : 0x0000000102000000
+ Domain0 Next Arg1 : 0x0000000102091398
+ Domain0 Next Mode : S-mode
+ Domain0 SysReset : yes
+ Domain0 SysSuspend : yes
+
+ Boot HART ID : 0
+ Boot HART Domain : root
+ Boot HART Priv Version : v1.12
+ Boot HART Base ISA : rv64imafdcbvhx
+ Boot HART ISA Extensions : smaia,smstateen,sscofpmf,sstc,zicntr,zihpm,smcntrpmf,zicboz,zicbom,svpbmt,sdtrig,svade,ssstateen,v,f,d
+ Boot HART PMP Count : 16
+ Boot HART PMP Granularity : 12 bits
+ Boot HART PMP Address Bits : 38
+ Boot HART MHPM Info : 16 (0x0007fff8)
+ Boot HART Debug Triggers : 4 triggers
+ Boot HART MIDELEG : 0x0000000000003666
+ Boot HART MEDELEG : 0x0000000000f0b509
+
+ <debug_uart>
+
+
+ U-Boot 2026.10-rc4-00501-g9fba7b59df42 (Sep 22 2026 - 13:08:33 +0000)
+
+ DRAM: 16 GiB
+ Core: 433 devices, 15 uclasses, devicetree: separate
+ Loading Environment from nowhere...Loading Environment from nowhere... OK
+ In: serial@d4017000
+ Out: serial@d4017000
+ Err: serial@d4017000
+ Net: No ethernet found.
+ =>
--
2.55.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX
2026-09-23 12:46 ` [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
@ 2026-09-23 18:00 ` Yao Zi
2026-09-24 1:21 ` Yixun Lan
0 siblings, 1 reply; 9+ messages in thread
From: Yao Zi @ 2026-09-23 18:00 UTC (permalink / raw)
To: Yixun Lan, u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu
On Wed, Sep 23, 2026 at 12:46:45PM +0000, Yixun Lan wrote:
> Add initial support for K3 Pico-ITX board, in this version, the DRAM
> information is parsed from DTS "/memory" node. And with UART enabled,
> the U-Boot serial console works fine now.
>
> Signed-off-by: Yixun Lan <dlan@kernel.org>
> ---
> arch/riscv/Kconfig | 5 +++++
> arch/riscv/cpu/k3/Kconfig | 18 ++++++++++++++++++
> arch/riscv/cpu/k3/Makefile | 5 +++++
> arch/riscv/cpu/k3/dram.c | 29 +++++++++++++++++++++++++++++
> board/spacemit/k3/Kconfig | 30 ++++++++++++++++++++++++++++++
> board/spacemit/k3/MAINTAINERS | 8 ++++++++
> board/spacemit/k3/Makefile | 5 +++++
> board/spacemit/k3/board.c | 4 ++++
> include/configs/k3.h | 13 +++++++++++++
> 9 files changed, 117 insertions(+)
...
> diff --git a/arch/riscv/cpu/k3/dram.c b/arch/riscv/cpu/k3/dram.c
> new file mode 100644
> index 00000000000..203d72a5da1
> --- /dev/null
> +++ b/arch/riscv/cpu/k3/dram.c
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> + */
> +
> +#include <fdtdec.h>
> +#include <init.h>
> +#include <linux/sizes.h>
> +#include <asm/global_data.h>
Please sort the headers alphabetically.
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int dram_init(void)
> +{
> + return fdtdec_setup_mem_size_base();
> +}
> +
> +int dram_init_banksize(void)
> +{
> + return fdtdec_setup_memory_banksize();
> +}
> +
> +phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
> +{
> + if (gd->ram_size > SZ_2G)
> + return gd->ram_base + SZ_2G;
What's the intention of this limitation?
> + return gd->ram_base + gd->ram_size;
> +}
...
> diff --git a/board/spacemit/k3/Makefile b/board/spacemit/k3/Makefile
> new file mode 100644
> index 00000000000..bd5343be789
> --- /dev/null
> +++ b/board/spacemit/k3/Makefile
> @@ -0,0 +1,5 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> +
> +obj-y := board.o
> diff --git a/board/spacemit/k3/board.c b/board/spacemit/k3/board.c
> new file mode 100644
> index 00000000000..29994e49ce8
> --- /dev/null
> +++ b/board/spacemit/k3/board.c
> @@ -0,0 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> + */
I think it makes sense to omit the source if it's empty for now.
Regards,
Yao Zi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX
2026-09-23 18:00 ` Yao Zi
@ 2026-09-24 1:21 ` Yixun Lan
0 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2026-09-24 1:21 UTC (permalink / raw)
To: Yao Zi
Cc: u-boot, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu
Hi Yao,
On 18:00 Wed 23 Sep , Yao Zi wrote:
> On Wed, Sep 23, 2026 at 12:46:45PM +0000, Yixun Lan wrote:
> > Add initial support for K3 Pico-ITX board, in this version, the DRAM
> > information is parsed from DTS "/memory" node. And with UART enabled,
> > the U-Boot serial console works fine now.
> >
> > Signed-off-by: Yixun Lan <dlan@kernel.org>
> > ---
> > arch/riscv/Kconfig | 5 +++++
> > arch/riscv/cpu/k3/Kconfig | 18 ++++++++++++++++++
> > arch/riscv/cpu/k3/Makefile | 5 +++++
> > arch/riscv/cpu/k3/dram.c | 29 +++++++++++++++++++++++++++++
> > board/spacemit/k3/Kconfig | 30 ++++++++++++++++++++++++++++++
> > board/spacemit/k3/MAINTAINERS | 8 ++++++++
> > board/spacemit/k3/Makefile | 5 +++++
> > board/spacemit/k3/board.c | 4 ++++
> > include/configs/k3.h | 13 +++++++++++++
> > 9 files changed, 117 insertions(+)
>
> ...
>
> > diff --git a/arch/riscv/cpu/k3/dram.c b/arch/riscv/cpu/k3/dram.c
> > new file mode 100644
> > index 00000000000..203d72a5da1
> > --- /dev/null
> > +++ b/arch/riscv/cpu/k3/dram.c
> > @@ -0,0 +1,29 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > + */
> > +
> > +#include <fdtdec.h>
> > +#include <init.h>
> > +#include <linux/sizes.h>
> > +#include <asm/global_data.h>
>
> Please sort the headers alphabetically.
>
Ok, will do
> > +DECLARE_GLOBAL_DATA_PTR;
> > +
> > +int dram_init(void)
> > +{
> > + return fdtdec_setup_mem_size_base();
> > +}
> > +
> > +int dram_init_banksize(void)
> > +{
> > + return fdtdec_setup_memory_banksize();
> > +}
> > +
> > +phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
> > +{
> > + if (gd->ram_size > SZ_2G)
> > + return gd->ram_base + SZ_2G;
>
> What's the intention of this limitation?
>
This is a copy & paste from k1's implementation while K1 has discrete
memory layout which 0x8000 0000 - 0xFFFF FFFF is iomem space
For K3, there is no such problem, so no need this function
> > + return gd->ram_base + gd->ram_size;
> > +}
>
> ...
>
> > diff --git a/board/spacemit/k3/Makefile b/board/spacemit/k3/Makefile
> > new file mode 100644
> > index 00000000000..bd5343be789
> > --- /dev/null
> > +++ b/board/spacemit/k3/Makefile
> > @@ -0,0 +1,5 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > +
> > +obj-y := board.o
> > diff --git a/board/spacemit/k3/board.c b/board/spacemit/k3/board.c
> > new file mode 100644
> > index 00000000000..29994e49ce8
> > --- /dev/null
> > +++ b/board/spacemit/k3/board.c
> > @@ -0,0 +1,4 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > + */
>
> I think it makes sense to omit the source if it's empty for now.
>
Ok, fair
--
Yixun Lan (dlan)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
` (3 preceding siblings ...)
2026-09-23 12:46 ` [PATCH 4/4] doc: spacemit: k3: Add Pico-ITX board Yixun Lan
@ 2026-09-25 5:26 ` E Shattow
2026-10-01 11:19 ` Yixun Lan
4 siblings, 1 reply; 9+ messages in thread
From: E Shattow @ 2026-09-25 5:26 UTC (permalink / raw)
To: Yixun Lan, u-boot
Cc: Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Aurelien Jarno
Hi Yixun, Add CC: Aurelien (per our chat about DMI on K3 and Debian d-i
you may find this interesting)
I have included my report of testing this series with step-by-step build
instructions, after the reply-quote. I was not successful to boot Debian
daily netinst debian-installer ramdisk. However, as an aside, I did
produce build instructions that result in the vendor u-boot v2022.10
fork with additional fixes that is successful when flashed to SPI NOR to
run netinst debian-installer and that success is measured as my baseline
for comparison. I omit my T-by tag for this series until it goes through
a few revisions and I understand better what your goals are if it should
be successful to boot and run debian-installer for example. -E
On 9/23/26 05:46, Yixun Lan wrote:
> Add initial support for SpacemiT K3 Pico-ITX board, the config file
> will enable all basic components which make it able to run into U-Boot
> serial console.
>
> The series actually depend on previous sent patches, I'm not adding
> dependency to this series, but list it here for reference.
>
> Pinctrl:
> https://patch.msgid.link/20260906-pinctrl-v2-1-729da680092c@riscstar.com
> https://patch.msgid.link/20260820-01-k3-pinctrl-support-v1-0-b54a2450c895@kernel.org
>
> GPIO:
> https://patch.msgid.link/20260822-01-gpio-pinctrl-support-v1-1-6be2f4c71c5d@kernel.org
>
> clock and reset:
> https://patch.msgid.link/20260923-01-k3-clock-reset-support-v2-0-6ec0abb1c7b5@kernel.org
>
> Signed-off-by: Yixun Lan <dlan@kernel.org>
> ---
> Yixun Lan (4):
> board: spacemit: add SpacemiT K3 Pico-ITX
> riscv: dts: spacemit: k3: add binman node
> configs: spacemit: Add K3 default configuration
> doc: spacemit: k3: Add Pico-ITX board
>
> arch/riscv/Kconfig | 5 +
> arch/riscv/cpu/k3/Kconfig | 18 +++
> arch/riscv/cpu/k3/Makefile | 5 +
> arch/riscv/cpu/k3/dram.c | 29 +++++
> arch/riscv/dts/k3-u-boot.dtsi | 6 +
> board/spacemit/k3/Kconfig | 30 +++++
> board/spacemit/k3/MAINTAINERS | 8 ++
> board/spacemit/k3/Makefile | 5 +
> board/spacemit/k3/board.c | 4 +
> configs/spacemit_k3_defconfig | 50 ++++++++
> doc/board/spacemit/index.rst | 1 +
> doc/board/spacemit/spacemit-pico-itx.rst | 204 +++++++++++++++++++++++++++++++
> include/configs/k3.h | 13 ++
> 13 files changed, 378 insertions(+)
> ---
> base-commit: 9ab84467bbbdf6a9149f6c66664c65b18c7b7f21
> change-id: 20260921-00-basic-spacemit-k3-838119645d39
>
> Best regards,
> --
> Yixun Lan <dlan@kernel.org>
>
Foreword of testing notes: The build environment is a fresh Debian
"forky" (testing package archive) pbuilder chroot. References to
debian-installer files are from the unmodified daily netinst
debian-installer featuring Linux stable kernel 7.2.6 and dated
end-of-day 2022-09-18 retrieved from:
https://d-i.debian.org/daily-images/riscv64/20260918-20:52/
### Start the chroot environment for testing
sudo DIST="forky" pbuilder execute -- /bin/bash -
###
cd
dpkg --add-architecture riscv64
apt install -y bison ca-certificates flex gcc-riscv64-linux-gnu git
libgnutls28-dev libpython3-dev libssl-dev python3-setuptools swig
apt install -y bc curl lzop device-tree-compiler ssh vim less
git clone https://github.com/riscv-software-src/opensbi.git opensbi.git
git -C opensbi.git checkout 5a175017261a # origin/master as of
end-of-day 2026-09-18
# v4 "platform: generic: spacemit: add K3 platform support"
# https://patchwork.ozlabs.org/project/opensbi/list/?series=522817
curl https://patchwork.ozlabs.org/series/522817/mbox/ | git -C
opensbi.git am
make -C opensbi.git O=../opensbi clean
make -C opensbi.git O=../opensbi CROSS_COMPILE=riscv64-linux-gnu-
PLATFORM=generic
make -C opensbi.git O=../opensbi-itb clean
make -C opensbi.git O=../opensbi-itb CROSS_COMPILE=riscv64-linux-gnu-
PLATFORM=generic FW_TEXT_START=0x10000000
git clone https://git.u-boot-project.org/u-boot/u-boot.git u-boot.git
git -C u-boot.git checkout d677d508c9b7 # Merge tag 'v2026.10-rc5' into
next
# pinctrl: fix on Spacemit K1 SoC
# v2 https://patchwork.ozlabs.org/project/uboot/list/?series=522007
curl https://patchwork.ozlabs.org/series/522007/mbox/ | git -C u-boot.git am
# riscv: spacemit: add pinctrl support for K3 SoC
# v2 https://patchwork.ozlabs.org/project/uboot/list/?series=524932
curl https://patchwork.ozlabs.org/series/524932/mbox/ | git -C u-boot.git am
# gpio: spacemit: add support for K3 SoC
# v1 https://patchwork.ozlabs.org/project/uboot/list/?series=519731
curl https://patchwork.ozlabs.org/series/519731/mbox/ | git -C u-boot.git am
# spacemit: k3: add clock and reset support
# v2 https://patchwork.ozlabs.org/project/uboot/list/?series=524896
curl https://patchwork.ozlabs.org/series/524896/mbox/ | git -C u-boot.git am
# riscv: spacemit: Add support for K3 Pico-ITX board
# v1 https://patchwork.ozlabs.org/project/uboot/list/?series=524926
curl https://patchwork.ozlabs.org/series/524926/mbox/ | git -C u-boot.git am
# riscv: spacemit: add ethernet support for K3 SoC
# v1 https://patchwork.ozlabs.org/project/uboot/list/?series=525020
curl https://patchwork.ozlabs.org/series/525020/mbox/ | git -C u-boot.git am
# tools: mkimage: add SpacemiT K3 boot image support
# v3 https://patchwork.ozlabs.org/project/uboot/list/?series=524562
curl https://patchwork.ozlabs.org/series/524562/mbox/ | git -C u-boot.git am
# adjustment due to merge conflict of k3 platform support and mkimage
sed -i -e '/spacemit-pico-itx/i \ \ \ smtimage'
u-boot.git/doc/board/spacemit/index.rst
git -C u-boot.git add doc/board/spacemit/index.rst
git -C u-boot.git am --continue
make -C u-boot.git O=../u-boot CROSS_COMPILE=riscv64-linux-gnu-
spacemit_k3_defconfig
u-boot.git/scripts/config --file u-boot/.config --enable CMD_WGET
--enable DNS --enable NET_LWIP
make -C u-boot.git O=../u-boot CROSS_COMPILE=riscv64-linux-gnu- olddefconfig
make -C u-boot.git O=../u-boot CROSS_COMPILE=riscv64-linux-gnu-
OPENSBI=../opensbi/platform/generic/firmware/fw_dynamic.bin
git -C u-boot.git remote add -f spacemit-com
https://github.com/spacemit-com/uboot-2022.10.git
git -C u-boot.git checkout k3-br-v1.0.9
sed -i 's%compatible = "ns16550";%compatible = "spacemit,k1-uart",
"intel,xscale-uart", "ns16550";%' u-boot.git/arch/riscv/dts/k3.dtsi
git -C u-boot.git add arch/riscv/dts/k3.dtsi
git -C u-boot.git commit --no-edit -m 'dts: riscv: spacemit: k3 uart
compatible with mainline opensbi'
sed -i '/cluster[01]_frequency/{ s/<.*>/<2200000000>/ }'
u-boot.git/arch/riscv/dts/k3_spl.dts
git -C u-boot.git add arch/riscv/dts/k3_spl.dts
git -C u-boot.git commit --no-edit -m 'dts: riscv: spacemit: restore k3
cluster frequency from firmware v1.0.5'
sed -zi 's%\n#ifdef CONFIG_PHYLIB\n\tphy_init();\n#endif\n%%'
u-boot.git/net/eth_common.c
git -C u-boot.git add net/eth_common.c
git -C u-boot.git commit --no-edit -m 'prepare before cherry-pick
7e0370f37d24'
# cherry-pick 7e0370f37d24 'miiphy: define mii_devs with LIST_HEAD()'
git -C u-boot.git cherry-pick 7e0370f37d24
sed -zi
's%\(\tbootstage_mark(BOOTSTAGE_ID_NET_ETH_START);\)\n%\1\n#ifdef
CONFIG_PHYLIB\n\tphy_init();\n#endif\n%' u-boot.git/net/eth_common.c
git -C u-boot.git add net/eth_common.c
git -C u-boot.git commit --no-edit -m 'cleanup after cherry-pick
7e0370f37d24'
git -C u-boot.git rm board/spacemit/k3/k3.env
git -C u-boot.git commit --no-edit -m 'drop the creation of k3_env.txt'
make -C u-boot.git CROSS_COMPILE=riscv64-linux-gnu- k3_defconfig
make -C u-boot.git CROSS_COMPILE=riscv64-linux-gnu-
u-boot/tools/mkimage -T smtimage -n k3 -d u-boot.git/spl/u-boot-spl.bin
u-boot-spl.bin.FSBL.out
curl -LO
https://raw.githubusercontent.com/spacemit-com/opensbi/k3-br-v1.0.y/platform/generic/spacemit/fw_dynamic.its
u-boot/tools/mkimage -D "-I dts -O dtb -i
opensbi-itb/platform/generic/firmware" -f fw_dynamic.its fw_dynamic.itb
curl -LO
https://raw.githubusercontent.com/spacemit-com/buildroot-ext/k3-br-v1.0.y/board/spacemit/k3/partition_4M.json
ln u-boot/u-boot.itb mainline-u-boot.itb
ls u-boot-spl.bin.FSBL.out mainline-u-boot.itb
ls partition_4M.json fw_dynamic.itb
u-boot.git/{FSBL.bin,bootinfo_spinor.bin,u-boot-env-default.bin,u-boot.itb}
### Reset with FEL
$ fastboot stage FSBL.bin ; fastboot continue ; sleep 10
$ fastboot stage u-boot.itb ; fastboot continue ; sleep 1
$ fastboot continue
=> sf probe && sf erase 0 800000
=> fastboot usb 0
$ fastboot flash mtd partition_4M.json
$ fastboot flash bootinfo bootinfo_spinor.bin
$ fastboot flash fsbl FSBL.bin
$ fastboot flash env u-boot-env-default.bin
$ fastboot flash opensbi fw_dynamic.itb
$ fastboot flash uboot u-boot.itb
$ fastboot reboot
=> usb start
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> load usb 0:1 $fdt_addr_r device-tree/spacemit/k3-pico-itx.dtb
=> load usb 0:1 $kernel_addr_r debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> load usb 0:1 $ramdisk_addr_r debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Baseline result outcome of above, Linux 7.2.6 boots and
debian-installer runs from initramfs successfully.
### Reset with FEL
$ fastboot stage FSBL.bin ; fastboot continue ; sleep 10
$ fastboot stage u-boot.itb ; fastboot continue ; sleep 1
$ fastboot continue
usb start
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> load usb 0:1 $fdt_addr_r device-tree/spacemit/k3-pico-itx.dtb
=> load usb 0:1 $kernel_addr_r debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> load usb 0:1 $ramdisk_addr_r debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Negative result outcome of above:
Booting /MemoryMapped(0x0,0x140000000,0x20000000)
EFI stub: ERROR: Failed to handle fs_proto
[ 96.160] Removing MTD device #0 (nor0) with use count 1
### Reset with FEL
$ fastboot stage u-boot-spl.bin.FSBL.out ; fastboot continue ; sleep 10
$ fastboot stage u-boot.itb ; fastboot continue ; sleep 1
$ fastboot continue
=> sf probe && sf erase 0 800000
=> fastboot usb 0
$ fastboot flash mtd partition_4M.json
$ fastboot flash bootinfo bootinfo_spinor.bin
$ fastboot flash fsbl u-boot-spl.bin.FSBL.out
$ fastboot flash env u-boot-env-default.bin
$ fastboot flash opensbi fw_dynamic.itb
$ fastboot flash uboot u-boot.itb
$ fastboot reboot
=> usb start
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> load usb 0:1 $fdt_addr_r device-tree/spacemit/k3-pico-itx.dtb
=> load usb 0:1 $kernel_addr_r debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> load usb 0:1 $ramdisk_addr_r debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Positive result outcome of above, Linux 7.2.6 boots and
debian-installer runs from initramfs successfully.
### Reset with FEL
$ fastboot stage u-boot-spl.bin.FSBL.out ; fastboot continue ; sleep 10
$ fastboot stage u-boot.itb ; fastboot continue ; sleep 1
$ fastboot continue
=> usb start
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> load usb 0:1 $fdt_addr_r device-tree/spacemit/k3-pico-itx.dtb
=> load usb 0:1 $kernel_addr_r debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> load usb 0:1 $ramdisk_addr_r debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Negative result outcome of above:
Booting /MemoryMapped(0x0,0x140000000,0x20000000)
EFI stub: ERROR: Failed to handle fs_proto
[ 128.493] Removing MTD device #0 (nor0) with use count 1
### Reset with FEL
$ fastboot stage u-boot-spl.bin.FSBL.out ; fastboot continue ; sleep 10
$ fastboot stage mainline-u-boot.itb ; fastboot continue ; sleep 1
$ python3 -m http.server 8000
=> dhcp
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> wget $fdt_addr_r http://host:8000/device-tree/spacemit/k3-pico-itx.dtb
=> wget $kernel_addr_r http://host:8000/debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> wget $ramdisk_addr_r http://host:8000/debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Negative result outcome of above:
Cannot persist EFI variables without system partition
Booting <NULL>
EFI stub: ERROR: Failed to handle fs_proto
[ 0.000000] Booting Linux on hartid 0
[ 0.000000] Linux version 7.2.6+deb14-riscv64
(debian-kernel@lists.debian.org) (riscv64-linux-gnu-gcc-16 (Debian
16.2.0-2) 16.2.0, GNU ld (GNU Binutils for Debian) 2.47) #1 SMP PREEMPT
Debian 7.2.6-1 (2026-09-16)
[ 0.000000] Machine model: SpacemiT K3 Pico-ITX
[ 0.000000] SBI specification v3.0 detected
[ 0.000000] SBI implementation ID=0x1 Version=0x10009
[ 0.000000] SBI TIME extension detected
[ 0.000000] SBI IPI extension detected
[ 0.000000] SBI RFENCE extension detected
[ 0.000000] SBI SRST extension detected
[ 0.000000] SBI DBCN extension detected
[ 0.000000] SBI FWFT extension detected
[ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[ 0.000000] printk: legacy bootconsole [sbi0] enabled
[ 0.000000] efi: EFI v2.11 by Das U-Boot
[ 0.000000] efi: RTPROP=0x8fffd5040 SMBIOS 3.0=0x17ef51000
MEMRESERVE=0x8fffbe040
[ 0.000000] secureboot: Secure boot disabled
[ 0.000000] cma: Failed to reserve 128 MiB
[ 0.000000] OF: reserved mem: 0x0000000100000000..0x000000010003ffff
(256 KiB) nomap non-reusable mmode_resv0@1,0
[ 0.000000] OF: reserved mem: 0x0000000100040000..0x000000010007ffff
(256 KiB) nomap non-reusable mmode_resv1@1,40000
[ 0.000000] NUMA: Faking a node at [mem
0x0000000100000000-0x00000008ffffffff]
[ 0.000000] NODE_DATA(0) allocated [mem 0x8fff86280-0x8fff88c7f]
[ 0.000000] SBI HSM extension detected
[ 0.000000] riscv: base ISA extensions acdfhimv
[ 0.000000] riscv: ELF capabilities acdfimv
[ 0.000000] Queued spinlock using Ziccrse: enabled
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000008ffffffff]
[ 0.000000] Device empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000100000000-0x000000010007ffff]
[ 0.000000] node 0: [mem 0x0000000100080000-0x000000017ef50fff]
[ 0.000000] node 0: [mem 0x000000017ef51000-0x000000017ef51fff]
[ 0.000000] node 0: [mem 0x000000017ef52000-0x000000017ff56fff]
[ 0.000000] node 0: [mem 0x000000017ff57000-0x000000017ff58fff]
[ 0.000000] node 0: [mem 0x000000017ff59000-0x00000008ffbfffff]
[ 0.000000] node 0: [mem 0x00000008ffc00000-0x00000008ffc00fff]
[ 0.000000] node 0: [mem 0x00000008ffc01000-0x00000008fffd4fff]
[ 0.000000] node 0: [mem 0x00000008fffd5000-0x00000008fffd5fff]
[ 0.000000] node 0: [mem 0x00000008fffd6000-0x00000008fffd6fff]
[ 0.000000] node 0: [mem 0x00000008fffd7000-0x00000008ffff7fff]
[ 0.000000] node 0: [mem 0x00000008ffff8000-0x00000008ffffafff]
[ 0.000000] node 0: [mem 0x00000008ffffb000-0x00000008ffffbfff]
[ 0.000000] node 0: [mem 0x00000008ffffc000-0x00000008ffffffff]
[ 0.000000] Initmem setup node 0 [mem
0x0000000100000000-0x00000008ffffffff]
[ 0.000000] percpu: Embedded 33 pages/cpu s95768 r8192 d31208 u135168
[ 0.000000] Kernel command line: initrd=0x130000000,0x2f7fd9b
console=ttyS0,115200 earlycon=sbi
[ 0.000000] printk: log buffer data + meta data: 131072 + 557056 =
688128 bytes
[ 0.000000] Dentry cache hash table entries: 4194304 (order: 13,
33554432 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 2097152 (order: 12,
16777216 bytes, linear)
[ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 32MB
[ 0.000000] software IO TLB: area num 8.
[ 0.000000] software IO TLB: mapped [mem
0x00000008d6600000-0x00000008d8600000] (32MB)
[ 0.000000] Fallback order for Node 0: 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages:
8388608
[ 0.000000] Policy zone: Normal
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] ftrace: allocating 43618 entries in 172 pages
[ 0.000000] ftrace: allocated 172 pages with 4 groups
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to
nr_cpu_ids=8.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Rude variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay
is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
[ 0.000000] RCU Tasks: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[ 0.000000] RCU Tasks Rude: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped using AIA
[ 0.000000] riscv-imsic: interrupt-controller@e0400000: providing
IPIs using interrupt 1
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
contention.
[ 0.000000] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff
max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000000] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps
every 4398046511097ns
[ 0.008111] riscv-timer: Timer interrupt in S-mode is available via
sstc extension
[ 0.016072] Console: colour dummy device 80x25
[ 0.020616] Calibrating delay loop (skipped), value calculated using
timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.030692] pid_max: default: 32768 minimum: 301
[ 0.037341] landlock: Up and running.
[ 0.039054] Yama: disabled by default; enable with sysctl kernel.yama.*
[ 0.045942] AppArmor: AppArmor initialized
[ 0.049946] TOMOYO Linux initialized
[ 0.053934] LSM support for eBPF active
[ 0.058226] Mount-cache hash table entries: 65536 (order: 7, 524288
bytes, linear)
[ 0.065189] Mountpoint-cache hash table entries: 65536 (order: 7,
524288 bytes, linear)
[ 0.073764] VFS: Finished mounting rootfs on nullfs
[ 0.080855] ASID allocator using 16 bits (65536 entries)
[ 0.083577] rcu: Hierarchical SRCU implementation.
[ 0.088348] rcu: Max phase no-delay instances is 1000.
[ 0.093778] Timer migration: 1 hierarchy levels; 8 children per
group; 1 crossnode level
[ 0.102190] Remapping and enabling EFI services.
[ 0.106797] smp: Bringing up secondary CPUs ...
[ 0.114386] smp: Brought up 1 node, 8 CPUs
[ 0.186102] node 0 deferred pages initialised in 68ms
[ 0.188364] Memory: 32817560K/33554432K available (14124K kernel
code, 6338K rwdata, 12288K rodata, 2827K init, 682K bss, 729060K
reserved, 0K cma-reserved)
[ 0.206045] devtmpfs: initialized
[ 0.218929] posixtimers hash table entries: 4096 (order: 4, 65536
bytes, linear)
[ 0.223500] futex hash table entries: 2048 (131072 bytes on 1 NUMA
nodes, total 128 KiB, linear).
[ 0.234235] DMI: SMBIOS 3.7.0 present.
[ 0.236235] DMI: spacemit SpacemiT K3 Pico-ITX/SpacemiT K3 Pico-ITX,
BIOS 2026.10-rc5-00506-g88a94d52fe5a 10/01/2026
[ 0.246912] DMI: Memory slots populated: 0/0
[ 0.251809] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.258379] DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic
allocations
[ 0.264464] audit: initializing netlink subsys (disabled)
[ 0.270026] audit: type=2000 audit(0.188:1): state=initialized
audit_enabled=0 res=1
[ 0.285008] thermal_sys: Registered thermal governor 'fair_share'
[ 0.285018] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.288231] thermal_sys: Registered thermal governor 'step_wise'
[ 0.294297] thermal_sys: Registered thermal governor 'user_space'
[ 0.300379] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.306603] cpuidle: using governor ladder
[ 0.317324] cpuidle: using governor menu
[ 0.329552] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.333453] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.340153] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.347025] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.353373] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.360248] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.372832] ACPI: Interpreter disabled.
[ 0.374099] iommu: Default domain type: Translated
[ 0.378583] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.385586] pps_core: LinuxPPS API ver. 1 registered
[ 0.389872] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[ 0.399129] PTP clock support registered
[ 0.403272] efivars: Registered efivars operations
[ 0.408614] NetLabel: Initializing
[ 0.411371] NetLabel: domain hash size = 128
[ 0.415788] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 0.421549] NetLabel: unlabeled traffic allowed by default
[ 0.427390] vgaarb: loaded
[ 0.429994] clocksource: Switched to clocksource riscv_clocksource
[ 0.437549] VFS: Disk quotas dquot_6.6.0
[ 0.440238] VFS: Dquot-cache hash table entries: 512 (4096 bytes)
[ 0.446927] AppArmor: AppArmor Filesystem Enabled
[ 0.451165] pnp: PnP ACPI: disabled
[ 0.460312] NET: Registered PF_INET protocol family
[ 0.462493] IP idents hash table entries: 262144 (order: 9, 2097152
bytes, linear)
[ 0.476469] tcp_listen_portaddr_hash hash table entries: 16384
(order: 6, 262144 bytes, linear)
[ 0.482419] Table-perturb hash table entries: 65536 (order: 6, 262144
bytes, linear)
[ 0.490301] TCP established hash table entries: 262144 (order: 9,
2097152 bytes, linear)
[ 0.498886] TCP bind hash table entries: 65536 (order: 9, 2097152
bytes, linear)
[ 0.506310] TCP: Hash tables configured (established 262144 bind 65536)
[ 0.512999] MPTCP token hash table entries: 32768 (order: 8, 786432
bytes, linear)
[ 0.520522] UDP hash table entries: 16384 (order: 8, 1048576 bytes,
linear)
[ 0.527796] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.533028] NET: Registered PF_XDP protocol family
[ 0.553901] cpu0: scalar unaligned word access speed is 1.71x byte
access speed (fast)
[ 0.553900] cpu5: scalar unaligned word access speed is 1.41x byte
access speed (fast)
[ 0.553900] cpu4: scalar unaligned word access speed is 1.53x byte
access speed (fast)
[ 0.553900] cpu6: scalar unaligned word access speed is 1.50x byte
access speed (fast)
[ 0.553901] cpu7: scalar unaligned word access speed is 2.17x byte
access speed (fast)
[ 0.553900] cpu1: scalar unaligned word access speed is 1.43x byte
access speed (fast)
[ 0.553900] cpu2: scalar unaligned word access speed is 2.17x byte
access speed (fast)
[ 0.553900] cpu3: scalar unaligned word access speed is 1.43x byte
access speed (fast)
[ 0.631499] cpu2: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631500] cpu0: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631500] cpu3: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631500] cpu1: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631503] cpu5: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631507] cpu6: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.631509] cpu7: vector unaligned word access speed is 4.14x byte
access speed (fast)
[ 0.631509] cpu4: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.692743] PCI: CLS 0 bytes, default 64
[ 0.696891] Trying to unpack rootfs image as initramfs...
[ 0.698109] Initialise system trusted keyrings
[ 0.706679] Key type blacklist registered
[ 0.710852] workingset: timestamp_bits=44 (anon: 39) max_order=23
bucket_order=0 (anon: 0)
[ 0.721558] fuse: init (API version 7.45)
[ 0.723764] integrity: Platform Keyring initialized
[ 0.728085] integrity: Machine keyring initialized
[ 0.733000] Key type asymmetric registered
[ 0.737060] Asymmetric key parser 'x509' registered
[ 0.743227] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 246)
[ 0.749644] io scheduler mq-deadline registered
[ 0.754724] riscv-imsic: interrupt-controller@e0400000:
hart-index-bits: 4, guest-index-bits: 6
[ 0.763070] riscv-imsic: interrupt-controller@e0400000:
group-index-bits: 0, group-index-shift: 24
[ 0.772144] riscv-imsic: interrupt-controller@e0400000: per-CPU IDs
511 at base address 0x00000000e0400000
[ 0.781928] riscv-imsic: interrupt-controller@e0400000: total 4080
interrupts available
[ 0.792895] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.803728] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
[ 0.811096] mousedev: PS/2 mouse device common for all mice
[ 0.814525] riscv-pmu-sbi: SBI PMU extension is available
[ 0.819275] riscv-pmu-sbi: 16 firmware and 18 hardware counters
[ 0.826856] NET: Registered PF_INET6 protocol family
[ 0.831415] Segment Routing with IPv6
[ 0.833952] RPL Segment Routing with IPv6
[ 0.838044] In-situ OAM (IOAM) with IPv6
[ 0.842015] mip6: Mobile IPv6
[ 0.844979] NET: Registered PF_PACKET protocol family
[ 0.850243] mpls_gso: MPLS GSO support
[ 0.859988] registered taskstats version 1
[ 0.861645] Loading compiled-in X.509 certificates
[ 1.078648] Freeing initrd memory: 48636K
[ 1.144399] Loaded X.509 cert 'Build time autogenerated kernel key:
842aea05c03e7d1a797f7470bddc4da5e2015b8a'
[ 1.158233] Demotion targets for Node 0: null
[ 1.160150] Key type .fscrypt registered
[ 1.163644] Key type fscrypt-provisioning registered
[ 1.181142] Key type encrypted registered
[ 1.182234] AppArmor: AppArmor sha256 policy hashing enabled
[ 1.188002] integrity: secureboot mode disabled
[ 1.192542] ima: No TPM chip found, activating TPM-bypass!
[ 1.198096] ima: Allocated hash algorithm: sha256
[ 1.203365] ima: No architecture policies found
[ 1.207500] evm: Initialising EVM extended attributes:
[ 1.212647] evm: security.selinux
[ 1.216003] evm: security.SMACK64 (disabled)
[ 1.220313] evm: security.SMACK64EXEC (disabled)
[ 1.224980] evm: security.SMACK64TRANSMUTE (disabled)
[ 1.230092] evm: security.SMACK64MMAP (disabled)
[ 1.234763] evm: security.apparmor
[ 1.238204] evm: security.ima
[ 1.241194] evm: security.capability
[ 1.244813] evm: HMAC attrs: 0x1
[ 1.264829] riscv-aplic e0804000.interrupt-controller: 512 interrupts
forwarded to MSI base 0x00000000e0400000
[ 1.274365] printk: legacy console [ttyS0] disabled
[ 1.277165] d4017000.serial: ttyS0 at MMIO 0xd4017000 (irq = 12,
base_baud = 907421) is a XScale
[ 1.285879] printk: legacy console [ttyS0] enabled
[ 1.285879] printk: legacy console [ttyS0] enabled
[ 1.295553] printk: legacy bootconsole [sbi0] disabled
[ 1.295553] printk: legacy bootconsole [sbi0] disabled
[ 1.306783] clk: Disabling unused clocks
[ 1.310494] PM: genpd: Di[ 1.317467] Freeing unused kernel image
(initmem) memory: 2824K
[ 1.320869] Run /init as init process
[ 1.648268] usbcore: registered new interface driver usbfs
[ 1.651222] usbcore: registered new interface driver hub
[ 1.656617] usbcore: registered new device driver usb
[ 1.693421] spacemit-dwmac cac80000.ethernet: IRQ sfty not found
[ 1.697139] spacemit-dwmac cac80000.ethernet: User ID: 0x10, Synopsys
ID: 0x54
[ 1.704186] spacemit-dwmac cac80000.ethernet: DWMAC4/5
[ 1.709468] spacemit-dwmac cac80000.ethernet: DMA HW capability
register supported
[ 1.717142] spacemit-dwmac cac80000.ethernet: Active PHY interface:
RGMII (1)
[ 1.724369] spacemit-dwmac cac80000.ethernet: RX Checksum Offload
Engine supported
[ 1.732038] spacemit-dwmac cac80000.ethernet: TX Checksum insertion
supported
[ 1.734006] random: crng init done
[ 1.739266] spacemit-dwmac cac80000.ethernet: Wake-Up On Lan supported
[ 1.749438] spacemit-dwmac cac80000.ethernet: Enable RX Mitigation
via HW Watchdog Timer
[ 1.757527] spacemit-dwmac cac80000.ethernet: Enabled L3L4 Flow TC
(entries=4)
[ 1.764839] spacemit-dwmac cac80000.ethernet: Enabled RFS Flow TC
(entries=10)
[ 1.772164] spacemit-dwmac cac80000.ethernet: Enabling HW TC
(entries=256, max_off=256)
[ 1.780267] spacemit-dwmac cac80000.ethernet: TSO supported
[ 1.785909] spacemit-dwmac cac80000.ethernet: TSO feature enabled
[ 1.792080] spacemit-dwmac cac80000.ethernet: SPH feature enabled
[ 1.798251] spacemit-dwmac cac80000.ethernet: Using 40/40 bits DMA
host/device width
[ 1.892677] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 1.895605] xhci-hcd xhci-hcd.0.auto: new USB bus registered,
assigned bus number 1
[ 1.903512] xhci-hcd xhci-hcd.0.auto: USB0 root hub has no ports
[ 1.909431] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe6d hci
version 0x110 quirks 0x0000808000000010
[ 1.919599] xhci-hcd xhci-hcd.0.auto: irq 16, io mem 0xc0a00000
[ 1.925112] usb usb1: New USB device found, idVendor=1d6b,
idProduct=0002, bcdDevice= 7.02
[ 1.933474] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 1.933594] spacemit-dwmac cac80000.ethernet end0: renamed from eth0
[ 1.940636] usb usb1: Product: xHCI Host Controller
[ 1.940642] usb usb1: Manufacturer: Linux 7.2.6+deb14-riscv64 xhci-hcd
[ 1.958656] usb usb1: SerialNumber: xhci-hcd.0.auto
[ 1.964262] hub 1-0:1.0: USB hub found
[ 1.967414] hub 1-0:1.0: 1 port detected
[ 1.988689] usbcore: registered new device driver onboard-usb-dev
### Reset with FEL
$ fastboot stage u-boot-spl.bin.FSBL.out ; fastboot continue ; sleep 10
$ fastboot stage u-boot.itb ; fastboot continue ; sleep 1
$ fastboot continue
=> sf probe && sf erase 0 800000
=> fastboot usb 0
$ sleep 10
$ fastboot flash mtd partition_4M.json
$ fastboot flash bootinfo bootinfo_spinor.bin
$ fastboot flash fsbl u-boot-spl.bin.FSBL.out
$ fastboot flash env u-boot-env-default.bin
$ fastboot flash opensbi fw_dynamic.itb
$ fastboot flash uboot mainline-u-boot.itb
$ fastboot reboot
$ python3 -m http.server 8000
=> dhcp
=> env set fdt_addr_r 0x138000000
=> env set kernel_addr_r 0x140000000
=> env set kernel_comp_addr_r 0x102000000
=> env set kernel_comp_size 0x20000000
=> env set ramdisk_addr_r 0x130000000
=> wget $fdt_addr_r http://host:8000/device-tree/spacemit/k3-pico-itx.dtb
=> wget $kernel_addr_r http://host:8000/debian-installer/riscv64/linux
=> env set filesize_kernel '0x'$filesize
=> wget $ramdisk_addr_r http://host:8000/debian-installer/riscv64/initrd.gz
=> env set filesize_ramdisk '0x'$filesize
=> env set bootargs 'initrd='$ramdisk_addr_r','$filesize_ramdisk'
console=ttyS0,115200 earlycon=sbi'
=> bootefi $kernel_addr_r:$kernel_comp_size $fdt_addr_r
# specifying the actual kernel filesize doesn't work as expected, use
512MB length kernel_comp_size instead
# Negative result outcome of above:
Cannot persist EFI variables without system partition
Booting <NULL>
EFI stub: ERROR: Failed to handle fs_proto
[ 0.000000] Booting Linux on hartid 0
[ 0.000000] Linux version 7.2.6+deb14-riscv64
(debian-kernel@lists.debian.org) (riscv64-linux-gnu-gcc-16 (Debian
16.2.0-2) 16.2.0, GNU ld (GNU Binutils for Debian) 2.47) #1 SMP PREEMPT
Debian 7.2.6-1 (2026-09-16)
[ 0.000000] Machine model: SpacemiT K3 Pico-ITX
[ 0.000000] SBI specification v3.0 detected
[ 0.000000] SBI implementation ID=0x1 Version=0x10009
[ 0.000000] SBI TIME extension detected
[ 0.000000] SBI IPI extension detected
[ 0.000000] SBI RFENCE extension detected
[ 0.000000] SBI SRST extension detected
[ 0.000000] SBI DBCN extension detected
[ 0.000000] SBI FWFT extension detected
[ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[ 0.000000] printk: legacy bootconsole [sbi0] enabled
[ 0.000000] efi: EFI v2.11 by Das U-Boot
[ 0.000000] efi: RTPROP=0x8fffd5040 SMBIOS 3.0=0x17ef51000
MEMRESERVE=0x8fffbe040
[ 0.000000] secureboot: Secure boot disabled
[ 0.000000] cma: Failed to reserve 128 MiB
[ 0.000000] OF: reserved mem: 0x0000000100000000..0x000000010003ffff
(256 KiB) nomap non-reusable mmode_resv0@1,0
[ 0.000000] OF: reserved mem: 0x0000000100040000..0x000000010007ffff
(256 KiB) nomap non-reusable mmode_resv1@1,40000
[ 0.000000] NUMA: Faking a node at [mem
0x0000000100000000-0x00000008ffffffff]
[ 0.000000] NODE_DATA(0) allocated [mem 0x8fff86280-0x8fff88c7f]
[ 0.000000] SBI HSM extension detected
[ 0.000000] riscv: base ISA extensions acdfhimv
[ 0.000000] riscv: ELF capabilities acdfimv
[ 0.000000] Queued spinlock using Ziccrse: enabled
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000008ffffffff]
[ 0.000000] Device empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000100000000-0x000000010007ffff]
[ 0.000000] node 0: [mem 0x0000000100080000-0x000000017ef50fff]
[ 0.000000] node 0: [mem 0x000000017ef51000-0x000000017ef51fff]
[ 0.000000] node 0: [mem 0x000000017ef52000-0x000000017ff56fff]
[ 0.000000] node 0: [mem 0x000000017ff57000-0x000000017ff58fff]
[ 0.000000] node 0: [mem 0x000000017ff59000-0x00000008ffbfffff]
[ 0.000000] node 0: [mem 0x00000008ffc00000-0x00000008ffc00fff]
[ 0.000000] node 0: [mem 0x00000008ffc01000-0x00000008fffd4fff]
[ 0.000000] node 0: [mem 0x00000008fffd5000-0x00000008fffd5fff]
[ 0.000000] node 0: [mem 0x00000008fffd6000-0x00000008fffd6fff]
[ 0.000000] node 0: [mem 0x00000008fffd7000-0x00000008ffff7fff]
[ 0.000000] node 0: [mem 0x00000008ffff8000-0x00000008ffffafff]
[ 0.000000] node 0: [mem 0x00000008ffffb000-0x00000008ffffbfff]
[ 0.000000] node 0: [mem 0x00000008ffffc000-0x00000008ffffffff]
[ 0.000000] Initmem setup node 0 [mem
0x0000000100000000-0x00000008ffffffff]
[ 0.000000] percpu: Embedded 33 pages/cpu s95768 r8192 d31208 u135168
[ 0.000000] Kernel command line: initrd=0x130000000,0x2f7fd9b
console=ttyS0,115200 earlycon=sbi
[ 0.000000] printk: log buffer data + meta data: 131072 + 557056 =
688128 bytes
[ 0.000000] Dentry cache hash table entries: 4194304 (order: 13,
33554432 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 2097152 (order: 12,
16777216 bytes, linear)
[ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 32MB
[ 0.000000] software IO TLB: area num 8.
[ 0.000000] software IO TLB: mapped [mem
0x00000008d6600000-0x00000008d8600000] (32MB)
[ 0.000000] Fallback order for Node 0: 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages:
8388608
[ 0.000000] Policy zone: Normal
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] ftrace: allocating 43618 entries in 172 pages
[ 0.000000] ftrace: allocated 172 pages with 4 groups
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to
nr_cpu_ids=8.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Rude variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay
is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
[ 0.000000] RCU Tasks: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[ 0.000000] RCU Tasks Rude: Setting shift to 3 and lim to 1
rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped using AIA
[ 0.000000] riscv-imsic: interrupt-controller@e0400000: providing
IPIs using interrupt 1
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
contention.
[ 0.000000] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff
max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000000] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps
every 4398046511097ns
[ 0.008111] riscv-timer: Timer interrupt in S-mode is available via
sstc extension
[ 0.016074] Console: colour dummy device 80x25
[ 0.020618] Calibrating delay loop (skipped), value calculated using
timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.030693] pid_max: default: 32768 minimum: 301
[ 0.037348] landlock: Up and running.
[ 0.039055] Yama: disabled by default; enable with sysctl kernel.yama.*
[ 0.045941] AppArmor: AppArmor initialized
[ 0.049945] TOMOYO Linux initialized
[ 0.053933] LSM support for eBPF active
[ 0.058228] Mount-cache hash table entries: 65536 (order: 7, 524288
bytes, linear)
[ 0.065190] Mountpoint-cache hash table entries: 65536 (order: 7,
524288 bytes, linear)
[ 0.073767] VFS: Finished mounting rootfs on nullfs
[ 0.080862] ASID allocator using 16 bits (65536 entries)
[ 0.083579] rcu: Hierarchical SRCU implementation.
[ 0.088348] rcu: Max phase no-delay instances is 1000.
[ 0.093779] Timer migration: 1 hierarchy levels; 8 children per
group; 1 crossnode level
[ 0.102189] Remapping and enabling EFI services.
[ 0.106806] smp: Bringing up secondary CPUs ...
[ 0.114379] smp: Brought up 1 node, 8 CPUs
[ 0.190073] node 0 deferred pages initialised in 72ms
[ 0.192301] Memory: 32817560K/33554432K available (14124K kernel
code, 6338K rwdata, 12288K rodata, 2827K init, 682K bss, 729060K
reserved, 0K cma-reserved)
[ 0.210016] devtmpfs: initialized
[ 0.222861] posixtimers hash table entries: 4096 (order: 4, 65536
bytes, linear)
[ 0.227433] futex hash table entries: 2048 (131072 bytes on 1 NUMA
nodes, total 128 KiB, linear).
[ 0.238154] DMI: SMBIOS 3.7.0 present.
[ 0.240168] DMI: spacemit SpacemiT K3 Pico-ITX/SpacemiT K3 Pico-ITX,
BIOS 2026.10-rc5-00506-g88a94d52fe5a 10/01/2026
[ 0.250846] DMI: Memory slots populated: 0/0
[ 0.255738] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.261964] DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic
allocations
[ 0.268399] audit: initializing netlink subsys (disabled)
[ 0.273960] audit: type=2000 audit(0.192:1): state=initialized
audit_enabled=0 res=1
[ 0.288932] thermal_sys: Registered thermal governor 'fair_share'
[ 0.288942] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.292155] thermal_sys: Registered thermal governor 'step_wise'
[ 0.298221] thermal_sys: Registered thermal governor 'user_space'
[ 0.304303] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.310534] cpuidle: using governor ladder
[ 0.321249] cpuidle: using governor menu
[ 0.333525] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.337430] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.344129] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.351002] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.357349] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.364225] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.376764] ACPI: Interpreter disabled.
[ 0.378016] iommu: Default domain type: Translated
[ 0.382515] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.389517] pps_core: LinuxPPS API ver. 1 registered
[ 0.393804] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[ 0.403061] PTP clock support registered
[ 0.407209] efivars: Registered efivars operations
[ 0.412530] NetLabel: Initializing
[ 0.415304] NetLabel: domain hash size = 128
[ 0.419720] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 0.425481] NetLabel: unlabeled traffic allowed by default
[ 0.431326] vgaarb: loaded
[ 0.433925] clocksource: Switched to clocksource riscv_clocksource
[ 0.441476] VFS: Disk quotas dquot_6.6.0
[ 0.444171] VFS: Dquot-cache hash table entries: 512 (4096 bytes)
[ 0.450869] AppArmor: AppArmor Filesystem Enabled
[ 0.455100] pnp: PnP ACPI: disabled
[ 0.464253] NET: Registered PF_INET protocol family
[ 0.466437] IP idents hash table entries: 262144 (order: 9, 2097152
bytes, linear)
[ 0.480421] tcp_listen_portaddr_hash hash table entries: 16384
(order: 6, 262144 bytes, linear)
[ 0.486366] Table-perturb hash table entries: 65536 (order: 6, 262144
bytes, linear)
[ 0.494251] TCP established hash table entries: 262144 (order: 9,
2097152 bytes, linear)
[ 0.502836] TCP bind hash table entries: 65536 (order: 9, 2097152
bytes, linear)
[ 0.510259] TCP: Hash tables configured (established 262144 bind 65536)
[ 0.516948] MPTCP token hash table entries: 32768 (order: 8, 786432
bytes, linear)
[ 0.524485] UDP hash table entries: 16384 (order: 8, 1048576 bytes,
linear)
[ 0.531734] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.536976] NET: Registered PF_XDP protocol family
[ 0.557851] cpu0: scalar unaligned word access speed is 1.39x byte
access speed (fast)
[ 0.557850] cpu2: scalar unaligned word access speed is 1.41x byte
access speed (fast)
[ 0.557850] cpu1: scalar unaligned word access speed is 1.45x byte
access speed (fast)
[ 0.557851] cpu5: scalar unaligned word access speed is 1.41x byte
access speed (fast)
[ 0.557851] cpu4: scalar unaligned word access speed is 1.41x byte
access speed (fast)
[ 0.557850] cpu6: scalar unaligned word access speed is 1.41x byte
access speed (fast)
[ 0.557851] cpu7: scalar unaligned word access speed is 1.45x byte
access speed (fast)
[ 0.557851] cpu3: scalar unaligned word access speed is 1.78x byte
access speed (fast)
[ 0.635473] cpu2: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635475] cpu3: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635476] cpu1: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635486] cpu5: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635486] cpu6: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635488] cpu0: vector unaligned word access speed is 4.14x byte
access speed (fast)
[ 0.635490] cpu4: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.635491] cpu7: vector unaligned word access speed is 4.15x byte
access speed (fast)
[ 0.696721] PCI: CLS 0 bytes, default 64
[ 0.700863] Trying to unpack rootfs image as initramfs...
[ 0.702059] Initialise system trusted keyrings
[ 0.710653] Key type blacklist registered
[ 0.714808] workingset: timestamp_bits=44 (anon: 39) max_order=23
bucket_order=0 (anon: 0)
[ 0.725534] fuse: init (API version 7.45)
[ 0.727747] integrity: Platform Keyring initialized
[ 0.732056] integrity: Machine keyring initialized
[ 0.736976] Key type asymmetric registered
[ 0.741038] Asymmetric key parser 'x509' registered
[ 0.747210] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 246)
[ 0.753606] io scheduler mq-deadline registered
[ 0.761046] riscv-imsic: interrupt-controller@e0400000:
hart-index-bits: 4, guest-index-bits: 6
[ 0.767071] riscv-imsic: interrupt-controller@e0400000:
group-index-bits: 0, group-index-shift: 24
[ 0.776147] riscv-imsic: interrupt-controller@e0400000: per-CPU IDs
511 at base address 0x00000000e0400000
[ 0.785934] riscv-imsic: interrupt-controller@e0400000: total 4080
interrupts available
[ 0.796839] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.807712] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
[ 0.815095] mousedev: PS/2 mouse device common for all mice
[ 0.818517] riscv-pmu-sbi: SBI PMU extension is available
[ 0.823266] riscv-pmu-sbi: 16 firmware and 18 hardware counters
[ 0.830815] NET: Registered PF_INET6 protocol family
[ 0.835429] Segment Routing with IPv6
[ 0.837964] RPL Segment Routing with IPv6
[ 0.842036] In-situ OAM (IOAM) with IPv6
[ 0.846008] mip6: Mobile IPv6
[ 0.848973] NET: Registered PF_PACKET protocol family
[ 0.854230] mpls_gso: MPLS GSO support
[ 0.864071] registered taskstats version 1
[ 0.865738] Loading compiled-in X.509 certificates
[ 1.082340] Freeing initrd memory: 48636K
[ 1.148139] Loaded X.509 cert 'Build time autogenerated kernel key:
842aea05c03e7d1a797f7470bddc4da5e2015b8a'
[ 1.161876] Demotion targets for Node 0: null
[ 1.163785] Key type .fscrypt registered
[ 1.167282] Key type fscrypt-provisioning registered
[ 1.184620] Key type encrypted registered
[ 1.185699] AppArmor: AppArmor sha256 policy hashing enabled
[ 1.191488] integrity: secureboot mode disabled
[ 1.196027] ima: No TPM chip found, activating TPM-bypass!
[ 1.201578] ima: Allocated hash algorithm: sha256
[ 1.206831] ima: No architecture policies found
[ 1.210980] evm: Initialising EVM extended attributes:
[ 1.216121] evm: security.selinux
[ 1.219480] evm: security.SMACK64 (disabled)
[ 1.223804] evm: security.SMACK64EXEC (disabled)
[ 1.228464] evm: security.SMACK64TRANSMUTE (disabled)
[ 1.233577] evm: security.SMACK64MMAP (disabled)
[ 1.238246] evm: security.apparmor
[ 1.241679] evm: security.ima
[ 1.244683] evm: security.capability
[ 1.248296] evm: HMAC attrs: 0x1
[ 1.268852] riscv-aplic e0804000.interrupt-controller: 512 interrupts
forwarded to MSI base 0x00000000e0400000
[ 1.278465] printk: legacy console [ttyS0] disabled
[ 1.281174] d4017000.serial: ttyS0 at MMIO 0xd4017000 (irq = 12,
base_baud = 907421) is a XScale
[ 1.289912] printk: legacy console [ttyS0] enabled
[ 1.289912] printk: legacy console [ttyS0] enabled
[ 1.299589] printk: legacy bootconsole [sbi0] disabled
[ 1.299589] printk: legacy bootconsole [sbi0] disabled
[ 1.310763] clk: Disabling unused clocks
[ 1.314542] PM: genpd: Di[ 1.321531] Freeing unused kernel image
(initmem) memory: 2824K
[ 1.324934] Run /init as init process
[ 1.653984] usbcore: registered new interface driver usbfs
[ 1.656920] usbcore: registered new interface driver hub
[ 1.662321] usbcore: registered new device driver usb
[ 1.709947] random: crng init done
[ 1.717194] spacemit-dwmac cac80000.ethernet: IRQ sfty not found
[ 1.720892] spacemit-dwmac cac80000.ethernet: User ID: 0x10, Synopsys
ID: 0x54
[ 1.727946] spacemit-dwmac cac80000.ethernet: DWMAC4/5
[ 1.733227] spacemit-dwmac cac80000.ethernet: DMA HW capability
register supported
[ 1.740894] spacemit-dwmac cac80000.ethernet: Active PHY interface:
RGMII (1)
[ 1.748127] spacemit-dwmac cac80000.ethernet: RX Checksum Offload
Engine supported
[ 1.755799] spacemit-dwmac cac80000.ethernet: TX Checksum insertion
supported
[ 1.763028] spacemit-dwmac cac80000.ethernet: Wake-Up On Lan supported
[ 1.769697] spacemit-dwmac cac80000.ethernet: Enable RX Mitigation
via HW Watchdog Timer
[ 1.777846] spacemit-dwmac cac80000.ethernet: Enabled L3L4 Flow TC
(entries=4)
[ 1.785156] spacemit-dwmac cac80000.ethernet: Enabled RFS Flow TC
(entries=10)
[ 1.792483] spacemit-dwmac cac80000.ethernet: Enabling HW TC
(entries=256, max_off=256)
[ 1.800591] spacemit-dwmac cac80000.ethernet: TSO supported
[ 1.806226] spacemit-dwmac cac80000.ethernet: TSO feature enabled
[ 1.812398] spacemit-dwmac cac80000.ethernet: SPH feature enabled
[ 1.818570] spacemit-dwmac cac80000.ethernet: Using 40/40 bits DMA
host/device width
[ 1.910488] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 1.913409] xhci-hcd xhci-hcd.0.auto: new USB bus registered,
assigned bus number 1
[ 1.921371] xhci-hcd xhci-hcd.0.auto: USB0 root hub has no ports
[ 1.929963] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe6d hci
version 0x110 quirks 0x0000808000000010
[ 1.936924] xhci-hcd xhci-hcd.0.auto: irq 16, io mem 0xc0a00000
[ 1.937182] spacemit-dwmac cac80000.ethernet end0: renamed from eth0
[ 1.942988] usb usb1: New USB device found, idVendor=1d6b,
idProduct=0002, bcdDevice= 7.02
[ 1.957903] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 1.964975] usb usb1: Product: xHCI Host Controller
[ 1.969910] usb usb1: Manufacturer: Linux 7.2.6+deb14-riscv64 xhci-hcd
[ 1.976544] usb usb1: SerialNumber: xhci-hcd.0.auto
[ 1.981829] hub 1-0:1.0: USB hub found
[ 1.985281] hub 1-0:1.0: 1 port detected
[ 2.005405] usbcore: registered new device driver onboard-usb-dev
### End of testing environment
### End of mainline u-boot K3 platform testing report by E Shattow
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board
2026-09-25 5:26 ` [PATCH 0/4] riscv: spacemit: Add support for K3 " E Shattow
@ 2026-10-01 11:19 ` Yixun Lan
0 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2026-10-01 11:19 UTC (permalink / raw)
To: E Shattow
Cc: u-boot, Yao Zi, Tim Ouyang, Leo Liang, Tom Rini, Michal Simek,
Raymond Mao, Hiago De Franco, Junhui Liu, Aurelien Jarno
Hi E Shattow,
On 22:26 Thu 24 Sep , E Shattow wrote:
> Hi Yixun, Add CC: Aurelien (per our chat about DMI on K3 and Debian d-i
> you may find this interesting)
>
> I have included my report of testing this series with step-by-step build
> instructions, after the reply-quote. I was not successful to boot Debian
> daily netinst debian-installer ramdisk. However, as an aside, I did
> produce build instructions that result in the vendor u-boot v2022.10
> fork with additional fixes that is successful when flashed to SPI NOR to
I've not tested with SPI NOR, just using fastboot
> run netinst debian-installer and that success is measured as my baseline
> for comparison. I omit my T-by tag for this series until it goes through
> a few revisions and I understand better what your goals are if it should
> be successful to boot and run debian-installer for example. -E
>
My current goal here is getting a basically functional mainline U-Boot
(with the network/ethernet support), as for booting mainline opensbi + kernel,
a few patches[1] still needed, e.g for opensbi, and the address overlap issue
also need to be fixed..
FYI, I've put all patches together and push a branch here[2], for people
who interested to test, some patches are just a quick hack and need to
improve later..
[1] https://patch.msgid.link/20260729-k3-mimsic-fix-v1-1-368c0aec04b9@pigmoral.tech
https://patch.msgid.link/20260918-k3-aclint-v3-6-cf4fd4050e14@pigmoral.tech
https://patch.msgid.link/20260817033038.2286436-1-guoren@kernel.org
[2] https://github.com/spacemit-com/u-boot/commits/k3/for-next
--
Yixun Lan (dlan)
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-10-01 11:19 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-23 12:46 [PATCH 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
2026-09-23 12:46 ` [PATCH 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
2026-09-23 18:00 ` Yao Zi
2026-09-24 1:21 ` Yixun Lan
2026-09-23 12:46 ` [PATCH 2/4] riscv: dts: spacemit: k3: add binman node Yixun Lan
2026-09-23 12:46 ` [PATCH 3/4] configs: spacemit: Add K3 default configuration Yixun Lan
2026-09-23 12:46 ` [PATCH 4/4] doc: spacemit: k3: Add Pico-ITX board Yixun Lan
2026-09-25 5:26 ` [PATCH 0/4] riscv: spacemit: Add support for K3 " E Shattow
2026-10-01 11:19 ` Yixun Lan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.