Add initial support for the Milk-V Duo board. This is something I've been playing around with in my local branch, and I've reached a point where the implementation is enough to boot OpenSBI and reach a Linux shell using an SD card image.
I am sending this as an RFC to get early feedback to understand the gap between this minimal implementation and what is required for a upstream merge. I plan to continue implementing missing blocks (like gpio and clk/rst) in future. Kuan-Wei Chiu (5): target/riscv: Add stubs for T-Head PMU CSRs hw/char: Add dw8250 UART hw/misc: Add Sophgo CV1800B clock controller hw/riscv: Add Sophgo CV1800B SoC support hw/riscv: Add Milk-V Duo board support MAINTAINERS | 11 ++ configs/devices/riscv64-softmmu/default.mak | 1 + hw/char/Kconfig | 4 + hw/char/dw8250.c | 118 ++++++++++++++ hw/char/meson.build | 1 + hw/misc/Kconfig | 3 + hw/misc/cv1800b_clk.c | 89 +++++++++++ hw/misc/meson.build | 1 + hw/riscv/Kconfig | 14 ++ hw/riscv/cv1800b.c | 168 ++++++++++++++++++++ hw/riscv/meson.build | 3 + hw/riscv/milkv_duo.c | 122 ++++++++++++++ include/hw/char/dw8250.h | 27 ++++ include/hw/misc/cv1800b_clk.h | 24 +++ include/hw/riscv/cv1800b.h | 52 ++++++ target/riscv/th_csr.c | 30 ++++ 16 files changed, 668 insertions(+) create mode 100644 hw/char/dw8250.c create mode 100644 hw/misc/cv1800b_clk.c create mode 100644 hw/riscv/cv1800b.c create mode 100644 hw/riscv/milkv_duo.c create mode 100644 include/hw/char/dw8250.h create mode 100644 include/hw/misc/cv1800b_clk.h create mode 100644 include/hw/riscv/cv1800b.h -- 2.54.0.563.g4f69b47b94-goog
