[PATCH 0/2] Do not reserve memory for coprocessor FW
From: Andrei Lalaev
Date: Mon Sep 21 2026 - 11:12:46 EST
Milk-V Duo and Duo-256M reserve a region for coprocessor FW at
the end of RAM. It is not correct because:
- FSBL can be configured to load FW into a different region
- if no firmware is loaded, the reserved memory is wasted
As explained in [1, 2], FSBL should reserve the region at runtime.
The latest FSBL can boot the system without coprocessor FW:
FSBL Jb2829:g6f8962c394dd-dirty:2026-09-20T13:04:17+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00fa00.
SD/0xaa00/0x1000/0x1000/0.P2E.
cv181x DDR init.
ddr_param[0]=0x0.
pkg_type=5
D1_3_2
DDR3-2G-QFN
Data rate=1866.
DDR BIST PASS
PLLS.
PLLE.
C2S/0x0/0x0/0x0.
No C906L image.
MS/0xba00/0x80000000/0x43e00.
SD/0xba00/0x43e00/0x43e00/0.ME.
L2/0x4f800.
SD/0x4f800/0x200/0x200/0.L2/0x33334c42/0xcafe4b49/0x80200000/0x8c200/0x8c200
SD/0x4f800/0x8c200/0x8c200/0.sys_switch_all_to_pll...
Loader_2nd loaded.
Use internal 32k
So it is safe to remove `coprocessor_rtos` nodes.
[1]: https://lore.kernel.org/sophgo/6e4b5c98-7d48-4629-a6a0-4d930327f9a0@xxxxxxxxxx/
[2]: https://lore.kernel.org/sophgo/aqrhRic7Ww6fPhxg@pie/
Signed-off-by: Andrei Lalaev <andrey.lalaev@xxxxxxxxx>
---
Andrei Lalaev (2):
riscv: dts: sophgo: cv1800b-milkv-duo: drop reserved memory node
riscv: dts: sophgo: sg2002-milkv-duo256m: drop reserved memory node
arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts | 11 -----------
arch/riscv/boot/dts/sophgo/sg2002-milkv-duo256m.dts | 11 -----------
2 files changed, 22 deletions(-)
---
base-commit: 93f51579e7df248780214094418f205253383cc5
change-id: 20260921-sophgo-remove-coprocessor-node-4e6c59ab58d2
Best regards,
--
Andrei Lalaev <andrey.lalaev@xxxxxxxxx>