This patchset adds a model of the Arm Musca devboards ('musca-a' and 'musca-b1'). These boards are described here: https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a-test-chip-board https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-b-test-chip-board
They're based on the SSE-200 subsystem for embedded which we already have a model of. The two boards are somewhat similar but have a different layout of devices (Musca-B1 puts them behind a more sophisticated PPC setup). I've tested Musca-A with the Zephyr RTOS's "hello world" program, and Musca-B1 with Arm Trusted Firmware M. (Arm-TFM does in theory support also Musca-A, but in practice it requires proper QSPI flash device support there; Zephyr currently supports only Musca-A.) Zephyr getting started guide: https://docs.zephyrproject.org/latest/getting_started/index.html Arm-TFM build instructions: https://git.trustedfirmware.org/trusted-firmware-m.git/about/docs/user_guides/tfm_build_instruction.md The first half of the patchset is some fairly straightforward bugfixes and enhancements to various devices; the second half does the actual implementation. thanks -- PMM Peter Maydell (14): hw/arm/armsse: Fix miswiring of expansion IRQs hw/misc/tz-ppc: Support having unused ports in the middle of the range hw/timer/pl031: Allow use as an embedded-struct device hw/timer/pl031: Convert to using trace events hw/char/pl011: Allow use as an embedded-struct device hw/char/pl011: Support all interrupt lines hw/char/pl011: Use '0x' prefix when logging hex numbers hw/arm/armsse: Document SRAM_ADDR_WIDTH property in header comment hw/arm/armsse: Allow boards to specify init-svtor hw/arm/musca.c: Implement models of the Musca-A and -B1 boards hw/arm/musca: Add PPCs hw/arm/musca: Add MPCs hw/arm/musca: Wire up PL031 RTC hw/arm/musca: Wire up PL011 UARTs hw/arm/Makefile.objs | 1 + include/hw/arm/armsse.h | 5 + include/hw/char/pl011.h | 34 ++ include/hw/misc/tz-ppc.h | 8 +- include/hw/timer/pl031.h | 44 +++ hw/arm/armsse.c | 10 +- hw/arm/musca.c | 669 ++++++++++++++++++++++++++++++++ hw/char/pl011.c | 81 ++-- hw/misc/tz-ppc.c | 32 ++ hw/timer/pl031.c | 80 ++-- MAINTAINERS | 7 + default-configs/arm-softmmu.mak | 1 + hw/timer/trace-events | 6 + 13 files changed, 890 insertions(+), 88 deletions(-) create mode 100644 include/hw/timer/pl031.h create mode 100644 hw/arm/musca.c -- 2.20.1