[PATCH v8 0/5] Add support for K230 board

Chao Liu posted 5 patches 1 day, 8 hours ago
Failed in applying to current master (apply log)
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
[PATCH v8 0/5] Add support for K230 board
Posted by Chao Liu 1 day, 8 hours ago
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