Hi Alistair,
I rebased the K230 patchset on your latest riscv-to-apply.next branch and
made some adjustments.
Please review the patchset when you have time. Thanks!
---
This patch series adds support for U-Boot + OpenSBI + standard Linux kernel on
K230 board. Thanks to Peng Jiang, Mig Yang, Renzao Ren, Yao Zi for their help.
Test command with the direct Linux boot:
```
$QEMU -M k230 \
-kernel [Image] \
-dtb [k230-qemu.dtb] \
-initrd [rootfs.cpio.gz] \
-nographic
```
The k230-boot-assets repo [1] provides K230 Linux kernel images built with
k230-sdk and Yocto.
For more information, see docs/system/riscv/k230.rst.
---
PATCH v8 changelog:
- Patches: Rebased on Alistair's riscv-to-apply.next branch.
- Patch 1: Fixed mmode() check bug, see Milk-v Duo patchset thread [2].
- Patch 2: Registered riscv64_machine_interfaces for K230 machine.
PATCH v7 changelog:
- Patches: Removed invalid tags for patchset.
- Patches: Updated the K230 datasheet link in the patchset comment header.
- Patch 2: Removed the unnecessary changes to MAINTAINERS.
- Patch 2: Fixed an Oops caused by accesses to an unimpl UART MMIO address.
- Patch 2: Adjusted the K230 machine hart count to 1.
- Patch 2: Supported direct boot linux with `-kernel`.
- Patch 3: Aligned the WDT interrupt number with the K230 datasheet.
- Patch 5: Updated k230.rst Linux boot docs.
PATCH v6 changelog:
- Patches: Rebased on the latest Alistair's riscv-to-apply.next branch.
- Patch 4: Picked up Fabiano's Acked-by.
PATCH v5 changelog:
- Patches: Rebased on Alistair's riscv-to-apply.next branch.
- Patch 2: Fixed reset vector ROM jump to trap-handler bug.
PATCH v4 changelog:
- Patches: Rebased on the latest master branch.
- Patches: No functional changes from v3.
PATCH v3 changelog:
- Patch 1: Align T-Head C908 CPU's RISC-V extension with XUANTIE-QEMU.
- Patch 2: Adjust PLIC and CLINT addresses to match K230 datasheet.
PATCH v2 changelog:
- Patch 1: Add Svpbmt extension support for the T-Head C908 CPU.
- Patch 2: Move the k230.rst definition from MAINTAINERS to Patch 5.
- Patch 5: Apply Daniel's bugfix to build the k230 documentation successfully.
PATCH v1 changelog:
- Patch 1: Add T-Head C908 and C908v CPU support.
- Patch 2: Add K230 board initial support(big core is not supported yet).
- Patch 3: Add Programmable Watchdog Timer (WDT) peripheral support.
- Patch 4: Add QEMU test for K230 watchdog.
- Patch 5: Add documentation for K230 machine.
---
Link:
[1] https://github.com/zevorn/k230-boot-assets
[2] https://lore.kernel.org/qemu-devel/agZFchak-jsc2moK@ZEVORN-PC.localdomain/
Thanks,
Chao
Chao Liu (5):
target/riscv: add thead-c908 cpu support
hw/riscv: add k230 board initial support
hw/watchdog: add k230 watchdog initial support
tests/qtest: add test for K230 watchdog
docs/system/riscv: add documentation for k230 machine
MAINTAINERS | 11 +
docs/system/riscv/k230.rst | 113 +++++++
docs/system/target-riscv.rst | 1 +
hw/riscv/Kconfig | 11 +
hw/riscv/k230.c | 526 +++++++++++++++++++++++++++++++++
hw/riscv/meson.build | 2 +-
hw/watchdog/Kconfig | 4 +
hw/watchdog/k230_wdt.c | 296 +++++++++++++++++++
hw/watchdog/meson.build | 1 +
hw/watchdog/trace-events | 9 +
include/hw/riscv/k230.h | 149 ++++++++++
include/hw/watchdog/k230_wdt.h | 121 ++++++++
target/riscv/cpu-qom.h | 2 +
target/riscv/cpu.c | 51 ++++
target/riscv/th_csr.c | 376 ++++++++++++++++++++++-
tests/qtest/k230-wdt-test.c | 189 ++++++++++++
tests/qtest/meson.build | 3 +-
17 files changed, 1862 insertions(+), 3 deletions(-)
create mode 100644 docs/system/riscv/k230.rst
create mode 100644 hw/riscv/k230.c
create mode 100644 hw/watchdog/k230_wdt.c
create mode 100644 include/hw/riscv/k230.h
create mode 100644 include/hw/watchdog/k230_wdt.h
create mode 100644 tests/qtest/k230-wdt-test.c
--
2.54.0