This series contains additional peripheral devices for the nRF51822 microcontroller.
Included devices: - Random Number Generator - Non-volatile Memories - General purpose I/O - Timer - Stub for clock peripheral v5: * Nearly entirely new timer. The old timer had a lot of flaws. Review marks removed. * Basic test for new timer * Flash memory is now implemented by NRF51 NVM using a rom_device; Obeys write_enable and erase_enable. * Removed wrapper around qtest_set_irq (Thomas). * Use g_assert_not_reached in complementary default case in nrf51_gpio (Peter). * Revised multiline comments. v4: * Use int's instead of long's in set_irq_in, allow arbitrary base, fix documentation (Laurent) * Do not clear UICR on reset (Stefan) * Remove c99 style variable declaration (Peter) * Default case for is_connected (Stefan) * Timer retrigger after live migration (Stefan) * Various small fixes (Stefan) v3: * Included device instantiation in this patch * All devices use the common definitions provided by the header * Removed obsolete comment from NVM header * Device Struct names have consistent capitalisation v2: * Factored out common definitions to won header (Stefan) * Add set_irq_in command to support tests for GPIO * Add tests for GPIO * Removed LED matrix from this patch set * Small tidy ups on RNG, NVM, GPIO and Timer Based-on: 20181025005052.27661-1-jus...@mail.ru Steffen Görtz (14): qtest: Add set_irq_in command to set IRQ/GPIO level arm: Add header to host common definition for nRF51 SOC peripherals hw/misc/nrf51_rng: Add NRF51 random number generator peripheral arm: Instantiate NRF51 random number generator hw/nvram/nrf51_nvm: Add nRF51 non-volatile memories arm: Instantiate NRF51 special NVM's and NVMC tests: Add bbc:microbit / nRF51 test suite hw/gpio/nrf51_gpio: Add nRF51 GPIO peripheral arm: Instantiate NRF51 general purpose I/O tests/microbit-test: Add Tests for nRF51 GPIO hw/timer/nrf51_timer: Add nRF51 Timer peripheral arm: Instantiate NRF51 Timers tests/microbit-test: Add Tests for nRF51 Timer arm: Add Clock peripheral stub to NRF51 SOC Makefile.objs | 1 + hw/arm/nrf51_soc.c | 152 ++++++++++--- hw/gpio/Makefile.objs | 1 + hw/gpio/nrf51_gpio.c | 300 ++++++++++++++++++++++++++ hw/gpio/trace-events | 7 + hw/misc/Makefile.objs | 1 + hw/misc/nrf51_rng.c | 262 +++++++++++++++++++++++ hw/nvram/Makefile.objs | 1 + hw/nvram/nrf51_nvm.c | 378 +++++++++++++++++++++++++++++++++ hw/timer/Makefile.objs | 1 + hw/timer/nrf51_timer.c | 337 +++++++++++++++++++++++++++++ hw/timer/trace-events | 5 + include/hw/arm/nrf51.h | 45 ++++ include/hw/arm/nrf51_soc.h | 11 + include/hw/char/nrf51_uart.h | 1 - include/hw/gpio/nrf51_gpio.h | 69 ++++++ include/hw/misc/nrf51_rng.h | 83 ++++++++ include/hw/nvram/nrf51_nvm.h | 64 ++++++ include/hw/timer/nrf51_timer.h | 81 +++++++ qtest.c | 43 ++++ tests/Makefile.include | 2 + tests/libqtest.c | 10 + tests/libqtest.h | 13 ++ tests/microbit-test.c | 358 +++++++++++++++++++++++++++++++ 24 files changed, 2197 insertions(+), 29 deletions(-) create mode 100644 hw/gpio/nrf51_gpio.c create mode 100644 hw/gpio/trace-events create mode 100644 hw/misc/nrf51_rng.c create mode 100644 hw/nvram/nrf51_nvm.c create mode 100644 hw/timer/nrf51_timer.c create mode 100644 include/hw/arm/nrf51.h create mode 100644 include/hw/gpio/nrf51_gpio.h create mode 100644 include/hw/misc/nrf51_rng.h create mode 100644 include/hw/nvram/nrf51_nvm.h create mode 100644 include/hw/timer/nrf51_timer.h create mode 100644 tests/microbit-test.c -- 2.19.1