This patch series does three things: 1) Adds an implementation of the OpenTitan Always-On Timer's watchdog functionality 2) Fixes a bug encountered with the SiFive PLIC device during development 3) Updates the register addresses and adds support for writes to mtime for the Ibex timer
(2) is necessary for the bark interrupt to work. (3) will bring the Ibex timer up to spec. Tyler Ng (4): hw/watchdog: wdt_ibex_aon.c: Implement the watchdog for the OpenTitan hw/intc: sifive_plic.c: Fix interrupt priority index. hw/timer: ibex_timer.c: Update register addresses hw/timer: ibex_timer.c: Add support for writes to mtime hw/intc/sifive_plic.c | 2 +- hw/riscv/Kconfig | 4 + hw/riscv/opentitan.c | 22 +- hw/timer/ibex_timer.c | 114 +++++--- hw/watchdog/Kconfig | 3 + hw/watchdog/meson.build | 1 + hw/watchdog/wdt_ibex_aon.c | 432 +++++++++++++++++++++++++++++ include/hw/riscv/opentitan.h | 9 +- include/hw/timer/ibex_timer.h | 5 + include/hw/watchdog/wdt_ibex_aon.h | 67 +++++ tests/qtest/ibex-aon-timer-test.c | 189 +++++++++++++ tests/qtest/meson.build | 3 + 12 files changed, 809 insertions(+), 42 deletions(-) create mode 100644 hw/watchdog/wdt_ibex_aon.c create mode 100644 include/hw/watchdog/wdt_ibex_aon.h create mode 100644 tests/qtest/ibex-aon-timer-test.c -- 2.30.2