Skip to content

Conversation

@pigmoral
Copy link

@pigmoral pigmoral commented Sep 1, 2025

This PR adds support the Banana Pi BPI-F3 board featuring the SpacemiT K1 SoC with the N308 RISC-V core.

The initial support for the board include timer, interrupt-controller and uart.

Currently, we need to boot the Official Bianbu image provided by the vendor. This will enable the N308 and configure uart0 for the N308(pinctrl, clock and reset). Afterward, the Zephyr application can be loaded by JTAG.
The Bianbu image is required until the mainline kernel provides a remoteproc driver, and until Zephyr adds support for reset, pinctrl and clock drivers.

Relevant Links:

@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 1, 2025

Comment on lines 727 to 731
#ifdef CONFIG_UART_NS16550_PXA
ns16550_outbyte(dev_cfg, IER(dev), 0x40);
#else
ns16550_outbyte(dev_cfg, IER(dev), 0x00);
#endif
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No way; this should be handled by a quirk property in the DT compatible at least

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your review. I've updated it by introduced a new compatible (intel,xscale-uart) to handle it.

Add spacemit vendor prefix.

Signed-off-by: Junhui Liu <[email protected]>
Add support for Intel XScale PXA UART, which requires setting the UART Unit
Enable (UUE) bit to enable the UART. This is needed for some SoCs, such as
the SpacemiT K1, taht implement the PXA UART variant.

Signed-off-by: Junhui Liu <[email protected]>
Add the Nuclei N308 RISC-V core, which is a 32-bit processor in the N300
series, featuring a 3-stage pipeline.

Signed-off-by: Junhui Liu <[email protected]>
The SpacemiT K1 SoC integrates a Nuclei N308 RISC-V core as a coprocessor,
running at a clock frequency of 32768 * 4 Hz. This describes the N308 core,
including 256 KiB of on-chip SRAM, and two XScale PXA UART peripherals.

Signed-off-by: Junhui Liu <[email protected]>
Add N308 coprocessor support for the SpacemiT K1 SoC, which features eight
X60 Linux cores plus a 32-bit Nuclei N308 microcontroller core.

Signed-off-by: Junhui Liu <[email protected]>
Add initial support for the Banana Pi BPI-F3, an industrial grade RISC-V
development board based on the SpacemiT K1 SoC (8 * X60 cores + N308
coprocessor).

Signed-off-by: Junhui Liu <[email protected]>
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Boards/SoCs area: Devicetree Bindings area: Devicetree area: RISCV RISCV Architecture (32-bit & 64-bit) area: UART Universal Asynchronous Receiver-Transmitter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants