[PATCH v2 0/9] riscv: spacemit: k1: add pinctrl/GPIO and SPI NOR support
Guodong Xu
guodong at riscstar.com
Wed May 20 12:45:44 CEST 2026
This series adds pinctrl, GPIO, and SPI NOR flash support for the
SpacemiT K1. Drivers are usable in both SPL and U-Boot proper. In
SPL, the QSPI controller and SPI NOR flash are probed during early
init, and the SPL boot device is changed from memory-mapped NOR to
SPI so the common loader reads the next-stage image from NOR. It
sits on top of the K1 SPL bring-up series [1], which depends on the
K1 clock/reset/dts migration series [4].
>From v2 I am taking over this submission from Raymond Mao, and
have re-authored some of the patches. v1 is at [2].
To apply on origin/master, two prerequisite series on lore must be
applied first, in this order:
1. K1 clock/reset/dts migration [4] (8 patches)
2. K1 SPL bring-up v4 [1] (14 patches)
3. This series (9 patches)
For each series:
b4 am <cover-msgid>
git am ./*.mbx
The full stack (already in apply order) is at [3].
BR,
Guodong Xu
Link: https://lore.kernel.org/u-boot/20260519-b4-k1-spl-bring-up-v4-0-3915a2a904c1@riscstar.com/ [1]
Link: https://lore.kernel.org/u-boot/20260422143112.1329478-1-raymondmaoca@gmail.com/ [2]
Link: https://github.com/docularxu/u-boot/tree/b4/k1-spl-pinctrl-spinor-v2 [3]
Link: https://lore.kernel.org/u-boot/20260510-b4-k1-clk-reset-upstream-dts-v1-0-db0b0503ee44@riscstar.com/ [4]
Dropped or absorbed from v1, seven v1 patches are not in v2:
Five touched the local arch/riscv/dts/k1*.dts that [1] removed in
the OF_UPSTREAM move. The upstream K1 dts already provides the
pinctrl includes and the qspi at d420c000 node:
- v1 3/16 "dts: k1: fix gpio ranges"
- v1 4/16 "dts: k1: import pinctrl dts file from upstream folder"
- v1 5/16 "dts: k1: remove embedded subnode in pin configs"
- v1 10/16 "dts: k1: add QSPI controller support"
- v1 16/16 "spacemit: k1: rename device tree prefix from k1- to k1_"
Absorbed into SPL series v4 [1]:
- v1 13/16 "spacemit: k1: append RISCV_MMODE_TIMERBASE"
- v1 15/16 "spacemit: k1: Add support for mmc regulator initialization"
No new patches in v2.
Changes in v2 (vs v1):
- Drop the seven patches above.
- Patch 4/9, "spl: k1: enable SPI NOR flash detection and boot" (v1 11/16):
- Adds QSPI controller and flash node to k1-musepi-pro-u-boot.dtsi with
bootph-pre-ram markers,
- switches default DT to k1-musepi-pro, and calls nor_early_init()
from SPL.
- Patch 6/9 "spacemit: k1: Add multiple device tree support" (v1 14/16):
- Reworked to use binman --fit-multi-config so u-boot.itb packs
- multiple board DTs.
- Patch 8/9 "gpio: add gpio driver for Spacemit K1 SoC" (v1 1/16):
- Add .request/.rfree ops delegating to pinctrl;
- xlate() uses gpio_flags_xlate().
- Patch 9/9 "configs: k1: enable pinctrl and gpio" (v1 6/16):
- Also enable CONFIG_CLK and CONFIG_CLK_CCF for U-Boot proper.
Link to v1: https://lore.kernel.org/u-boot/20260422143112.1329478-1-raymondmaoca@gmail.com/
Signed-off-by: Guodong Xu <guodong at riscstar.com>
---
Guodong Xu (3):
spl: k1: enable SPI NOR flash detection and boot
spacemit: k1: Add multiple device tree support
configs: k1: enable pinctrl and gpio
Raymond Mao (6):
mtd: spi: select SPL_SPI_FLASH_TINY in SPL stage
mtd: spi: enable spi_nor_remove() in soft reset config
spi: fsl: add support for Spacemit K1 SoC
riscv: binman: Always set default configuration in FIT image
pinctrl: add pinctrl driver for Spacemit K1 SoC
gpio: add gpio driver for Spacemit K1 SoC
arch/riscv/dts/binman.dtsi | 2 -
arch/riscv/dts/k1-musepi-pro-u-boot.dtsi | 273 +++++++++++++++
board/spacemit/k1/MAINTAINERS | 3 +
board/spacemit/k1/spl.c | 56 +++-
configs/spacemit_k1_defconfig | 35 +-
drivers/gpio/Kconfig | 8 +
drivers/gpio/Makefile | 1 +
drivers/gpio/spacemit_gpio.c | 253 ++++++++++++++
drivers/mtd/spi/Makefile | 5 +-
drivers/mtd/spi/sf_probe.c | 8 +-
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/spacemit/Kconfig | 9 +
drivers/pinctrl/spacemit/Makefile | 2 +
drivers/pinctrl/spacemit/pinctrl-k1.c | 550 +++++++++++++++++++++++++++++++
drivers/spi/fsl_qspi.c | 9 +
16 files changed, 1201 insertions(+), 15 deletions(-)
---
base-commit: ba87dd05ec82c06673e98ea50d84cf062798af6e
change-id: 20260519-b4-k1-spl-pinctrl-spinor-c66649702a95
Best regards,
--
Guodong Xu <guodong at riscstar.com>
More information about the U-Boot
mailing list