@@ -25,11 +25,15 @@
#define NRF51_IOMEM_SIZE 0x20000000
#define NRF51_PERIPHERAL_SIZE 0x00001000
+#define NRF51_RADIO_BASE 0x40001000
#define NRF51_UART_BASE 0x40002000
#define NRF51_TWI_BASE 0x40003000
+#define NRF51_GPIOTE_BASE 0x40006000
#define NRF51_TIMER_BASE 0x40008000
+#define NRF51_TEMP_BASE 0x4000c000
#define NRF51_RNG_BASE 0x4000D000
#define NRF51_NVMC_BASE 0x4001E000
+#define NRF51_PPI_BASE 0x4001f000
#define NRF51_GPIO_BASE 0x50000000
#define NRF51_PRIVATE_BASE 0xF0000000
@@ -170,6 +170,17 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
memory_region_add_subregion_overlap(&s->container,
NRF51_IOMEM_BASE, &s->clock, -1);
+ create_unimplemented_device("nrf51_soc.radio", NRF51_RADIO_BASE,
+ NRF51_PERIPHERAL_SIZE);
+ create_unimplemented_device("nrf51_soc.uarte", NRF51_UART_BASE,
+ NRF51_PERIPHERAL_SIZE);
+ create_unimplemented_device("nrf51_soc.gpiote", NRF51_GPIOTE_BASE,
+ NRF51_PERIPHERAL_SIZE);
+ create_unimplemented_device("nrf51_soc.temp", NRF51_TEMP_BASE,
+ NRF51_PERIPHERAL_SIZE);
+ create_unimplemented_device("nrf51_soc.ppi", NRF51_PPI_BASE,
+ NRF51_PERIPHERAL_SIZE);
+
create_unimplemented_device("nrf51_soc.io", NRF51_IOMEM_BASE,
NRF51_IOMEM_SIZE);
create_unimplemented_device("nrf51_soc.private",
Map some peripherals used by Zephyr Project: https://github.com/zephyrproject-rtos/zephyr/blob/zephyr-v2.2.0/dts/arm/nordic/nrf51822.dtsi Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- include/hw/arm/nrf51.h | 4 ++++ hw/arm/nrf51_soc.c | 11 +++++++++++ 2 files changed, 15 insertions(+)