uart: UART.STM32W_UART @ {
        sysbus <0x4000C800, +0x100>;
        sysbus new Bus.BusMultiRegistration { address: 0x4000A808; size: 0x4; region: "irq" }
    }
    -> nvic@5

radio: Wireless.EmberRadio @ {
        sysbus  <0x40001000, +0x2000>;
        sysbus new Bus.BusMultiRegistration { address: 0x4000A000; size: 0x100; region: "irq" };
        sysbus new Bus.BusMultiRegistration { address: 0x40003000; size: 0x1000; region: "encryptor" }
    }
    Tx -> nvic@9
    Rx -> nvic@10
    Tim -> nvic@11

timer1: Timers.STM32_Timer @ sysbus <0x4000E000, +0x1000>
    frequency: 10000000
    initialLimit: 0xFFFF

timer2: Timers.STM32_Timer @ sysbus <0x4000F000, +0x1000>
    -> nvic@44
    frequency: 10000000
    initialLimit: 0xFFFF

flash: Memory.MappedMemory @ {
        sysbus 0x8000000;
        sysbus 0x0
    }
    size: 0x40000

fib: Memory.MappedMemory @ sysbus 0x8040000
    size: 0x1000

internalSram: Memory.MappedMemory @ sysbus 0x20000000
    size: 0x100000

externalRam: Memory.MappedMemory @ sysbus 0x68000000
    size: 0x1000000

nvic: IRQControllers.NVIC @ sysbus 0xE000E000
    priorityMask: 0xF1
    IRQ -> cpu@0

cpu: CPU.CortexM @ sysbus
    cpuType: "cortex-m3"
    nvic: nvic

sysbus:
    init:
        ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32W108.svd.gz

