From: Jack Wang <[email protected]> This series adds support for reset management unit found on k230 soc and successfully wires it up to k230 machine;
The register design are implemented based on k230 trm and linux reset driver (drivers/reset/reset-k230.c) detailed implementations: 1. write-enable mask for control registers(strobe in the upper 16 bits) 2. hardware auto-clearing for reset and flush request bits 3. latching of Done bits and w1c logic 4. qtest coverage for register read/write behaviors and hardware state modelin There are some checkpatch style warnings (line length, comment formatting) that will be addressed in v2 based on reviewer feedback. this is my first time for hardware-unit modeling so apologies for possible mistake. I am apprecitated for any feedback Jack Wang (2): hw/misc/k230_rmu: add Kendryte K230 Reset Management Unit model hw/riscv/k230: wire up the RMU device docs/system/riscv/k230.rst | 1 + hw/misc/Kconfig | 3 + hw/misc/k230_rmu.c | 280 ++++++++++++++++++++++++++++++++++++ hw/misc/meson.build | 1 + hw/misc/trace-events | 6 + hw/riscv/Kconfig | 1 + hw/riscv/k230.c | 10 +- include/hw/misc/k230_rmu.h | 76 ++++++++++ include/hw/riscv/k230.h | 2 + tests/qtest/k230-rmu-test.c | 125 ++++++++++++++++ tests/qtest/meson.build | 3 +- 11 files changed, 504 insertions(+), 4 deletions(-) create mode 100644 hw/misc/k230_rmu.c create mode 100644 include/hw/misc/k230_rmu.h create mode 100644 tests/qtest/k230-rmu-test.c -- 2.53.0
