This patchset adds some missing timer and counter devices to the MPS2 boards:
* the MPS2 "fpgaio" register bank includes some registers which provide various kinds of free-running counter * the boards have an instance fo the CMSDK "dual timer module" Together these are sufficient for QEMU's mps2-an505 emulation to pass the "timer test" subsection of the self-test program which can be found (behind a clickthrough EULA) in the Cortex-M33_IoT_kit_2_0.zip at: https://developer.arm.com/products/system-design/development-boards/fpga-prototyping-boards/download-fpga-images The dual-timer patch ended up a bit big; I can try to split that up if people would prefer that for review. thanks -- PMM Peter Maydell (5): hw/misc/mps2-fpgaio: Implement 1Hz and 100Hz counters hw/misc/mps2-fpgaio: Implement PSCNTR and COUNTER hw/timer/cmsdk-apb-dualtimer: Implement CMSDK dual timer module hw/arm/iotkit: Wire up the dualtimer hw/arm/mps2: Wire up dual-timer in mps2-an385 and mps2-an511 hw/timer/Makefile.objs | 1 + include/hw/arm/iotkit.h | 3 +- include/hw/misc/mps2-fpgaio.h | 10 + include/hw/timer/cmsdk-apb-dualtimer.h | 72 ++++ hw/arm/iotkit.c | 8 +- hw/arm/mps2.c | 11 + hw/misc/mps2-fpgaio.c | 146 ++++++- hw/timer/cmsdk-apb-dualtimer.c | 515 +++++++++++++++++++++++++ MAINTAINERS | 2 + default-configs/arm-softmmu.mak | 1 + hw/timer/trace-events | 5 + 11 files changed, 767 insertions(+), 7 deletions(-) create mode 100644 include/hw/timer/cmsdk-apb-dualtimer.h create mode 100644 hw/timer/cmsdk-apb-dualtimer.c -- 2.17.1