blob: a6f86932480f4b43373248e08310e975ad335855 [file] [edit]
i2c0: I2C.EFR32_I2CController @ {
sysbus <0x4B000000, +0x4000>; // I2C0_S
sysbus <0x5B000000, +0x4000> // I2C0_NS
}
-> nvic@27
usart0: UART.EFR32xG2_USART_0 @ {
sysbus <0x4005C000, +0x4000>; // USART0_S
sysbus <0x5005C000, +0x4000> // USART0_NS
}
clockFrequency: 39000000
ReceiveIRQ -> nvic@9
TransmitIRQ -> nvic@10
RxDataAvailableRequest -> ldma@0x0040
RxDataAvailableSingleRequest -> ldma@0x1040
RxDataAvailableGpioSignal -> gpioPort@0x1201
TxBufferLowRequest -> ldma@0x0042
TxBufferLowSingleRequest -> ldma@0x1042
TxEmptyRequest -> ldma@0x0044
eusart0: UART.EFR32xG2_EUSART_2 @ {
sysbus <0x4B010000, +0x4000>; // EUSART0_S
sysbus <0x5B010000, +0x4000> // EUSART0_NS
}
clockFrequency: 39000000
ReceiveIRQ -> nvic@11
TransmitIRQ -> nvic@12
RxFifoLevel -> ldma@0x00F0
RxFifoLevelGpioSignal -> gpioPort@0x1202
TxFifoLevel -> ldma@0x00F1
eusart1: UART.EFR32xG2_EUSART_2 @ {
sysbus <0x400A0000, +0x4000>; // EUSART1_S
sysbus <0x500A0000, +0x4000> // EUSART1_NS
}
clockFrequency: 39000000
ReceiveIRQ -> nvic@13
TransmitIRQ -> nvic@14
RxFifoLevel -> ldma@0x0100
RxFifoLevelGpioSignal -> gpioPort@0x1203
TxFifoLevel -> ldma@0x0101
radio: Wireless.EFR32xG24_Radio @ {
sysbus new Bus.BusMultiRegistration { address: 0x40098000; size: 0x4000; region: "hostmailbox" };
sysbus new Bus.BusMultiRegistration { address: 0x50098000; size: 0x4000; region: "hostmailbox_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xA8004000; size: 0x4000; region: "frc" };
sysbus new Bus.BusMultiRegistration { address: 0xA800C000; size: 0x4000; region: "agc" };
sysbus new Bus.BusMultiRegistration { address: 0xA8010000; size: 0x4000; region: "crc" };
sysbus new Bus.BusMultiRegistration { address: 0xA8014000; size: 0x4000; region: "modem" };
sysbus new Bus.BusMultiRegistration { address: 0xA8018000; size: 0x4000; region: "synth" };
sysbus new Bus.BusMultiRegistration { address: 0xA801C000; size: 0x4000; region: "protimer" };
sysbus new Bus.BusMultiRegistration { address: 0xA8020000; size: 0x4000; region: "rac" };
sysbus new Bus.BusMultiRegistration { address: 0xA802C000; size: 0x4000; region: "rfmailbox" };
sysbus new Bus.BusMultiRegistration { address: 0xAA000000; size: 0x4000; region: "bufc" };
sysbus new Bus.BusMultiRegistration { address: 0xB8004000; size: 0x4000; region: "frc_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB800C000; size: 0x4000; region: "agc_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB8010000; size: 0x4000; region: "crc_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB8014000; size: 0x4000; region: "modem_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB8018000; size: 0x4000; region: "synth_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB801C000; size: 0x4000; region: "protimer_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB8020000; size: 0x4000; region: "rac_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xB802C000; size: 0x4000; region: "rfmailbox_ns" };
sysbus new Bus.BusMultiRegistration { address: 0xBA000000; size: 0x4000; region: "bufc_ns" }
}
ram: sram
sequencer: seqcpu
// Main CPU interrupts
AutomaticGainControlIRQ -> nvic@30
BufferControllerIRQ -> nvic@31
FrameControllerPrioritizedIRQ -> nvic@32
FrameControllerIRQ -> nvic@33
ModulatorAndDemodulatorIRQ -> nvic@34
ProtocolTimerIRQ -> nvic@35
RadioControllerRadioStateMachineIRQ -> nvic@36
RadioControllerSequencerIRQ -> nvic@37
HostMailboxIRQ -> nvic@38
SynthesizerIRQ -> nvic@39
// Sequencer CPU interrupts
SeqOffIRQ ->seqnvic@0
SeqRxWarmIRQ ->seqnvic@1
SeqRxSearchIRQ ->seqnvic@2
SeqRxFrameIRQ ->seqnvic@3
SeqRxPoweringDownIRQ ->seqnvic@4
SeqRx2RxIRQ ->seqnvic@5
SeqRxOverflowIRQ ->seqnvic@6
SeqRx2TxIRQ ->seqnvic@7
SeqTxWarmIRQ ->seqnvic@8
SeqTxIRQ ->seqnvic@9
SeqTxPoweringDownIRQ ->seqnvic@10
SeqTx2RxIRQ ->seqnvic@11
SeqTx2TxIRQ ->seqnvic@12
SeqShutdownIRQ ->seqnvic@13
SeqRadioControllerIRQ ->seqnvic@14
SeqFrameControllerIRQ ->seqnvic@15
SeqFrameControllerPriorityIRQ ->seqnvic@16
SeqModulatorAndDemodulatorIRQ ->seqnvic@17
SeqBufferControllerIRQ ->seqnvic@18
SeqAutomaticGainControlIRQ ->seqnvic@19
SeqProtocolTimerIRQ -> seqnvic@20
SeqSynthesizerIRQ -> seqnvic@22
SeqRfMailboxIRQ -> seqnvic@23
msc: Miscellaneous.SiLabs.EFR32xG2_MSC_3 @ {
sysbus <0x40030000, +0x4000>; // MSC_S
sysbus <0x50030000, +0x4000> // MSC_NS
}
cpu: cpu
IRQ -> nvic@50
flashSize: 0x180000
flashPageSize: 0x2000
gpioPort: GPIOPort.EFR32xG2_GPIO_3 @ {
sysbus <0x4003C000, +0x4000>; // GPIO_S
sysbus <0x5003C000, +0x4000> // GPIO_NS
}
EvenIRQ -> nvic@26
OddIRQ -> nvic@25
bitclear: Miscellaneous.BitAccess
address: 0x2000
mode: BitAccessMode.Clear
bitset: Miscellaneous.BitAccess
address: 0x1000
mode: BitAccessMode.Set
sram: Memory.MappedMemory @ sysbus 0x20000000
size: 0x40000
seqram: Memory.MappedMemory @ {
sysbus 0xA0000000;
sysbus 0xB0000000;
sysbus new Bus.BusPointRegistration {
address: 0x0;
cpu: seqcpu
}
}
size: 0x4000
frcram: Memory.MappedMemory @ {
sysbus 0xA0004000;
sysbus 0xB0004000;
sysbus new Bus.BusPointRegistration {
address: 0x00004000;
cpu: seqcpu
}
}
size: 0x1000
nvic: IRQControllers.NVIC @ sysbus new Bus.BusPointRegistration {
address: 0xE000E000;
cpu: cpu
}
-> cpu@0
systickFrequency: 39000000
seqnvic: IRQControllers.NVIC @ sysbus new Bus.BusPointRegistration {
address: 0xE000E000;
cpu: seqcpu
}
-> seqcpu@0
cpu: CPU.CortexM @ sysbus
nvic: nvic
cpuType: "cortex-m33"
cpuId: 0
seqcpu: CPU.CortexM @ sysbus
nvic: seqnvic
cpuType: "cortex-m0+"
cpuId: 1
IsHalted: true
timer0: Timers.EFR32xG2_TIMER_1 @ {
sysbus <0x40048000, +0x4000>; // TIMER0_S
sysbus <0x50048000, +0x4000> // TIMER0_NS
}
frequency: 20000000 //expected frequency for power manager HW tests
width: 16
-> nvic@4
timer1: Timers.EFR32_Timer @ {
sysbus <0x4004C000, +0x4000>; // TIMER1_S
sysbus <0x5004C000, +0x4000> // TIMER1_NS
}
frequency: 0x1000000 //bogus
width: TimerWidth.Bit16
-> nvic@5
ldma: DMA.EFR32MG24_LDMA @ {
sysbus new Bus.BusMultiRegistration { address: 0x40040000; size: 0x4000; region: "ldma" }; // LDMA_S
sysbus new Bus.BusMultiRegistration { address: 0x50040000; size: 0x4000; region: "ldma" }; // LDMA_NS
sysbus new Bus.BusMultiRegistration { address: 0x40044000; size: 0x4000; region: "ldmaxbar" }; // LDMAXBAR_S
sysbus new Bus.BusMultiRegistration { address: 0x50044000; size: 0x4000; region: "ldmaxbar" } // LDMAXBAR_NS
}
-> nvic@21
wtimer0: Timers.EFR32_Timer @ {
sysbus <0x4B004000, +0x4000>; // WDOG0_S
sysbus <0x5B004000, +0x4000> // WDOG0_NS
}
frequency: 0x1000000 //bogus
width: TimerWidth.Bit32
-> nvic@42
wtimer1: Timers.EFR32_Timer @ {
sysbus <0x4B008000, +0x4000>; // WDOG1_S
sysbus <0x5B008000, +0x4000> // WDOG1_NS
}
frequency: 0x1000000 //bogus
width: TimerWidth.Bit32
-> nvic@43
deviceInformation: Miscellaneous.SiLabs.EFR32xG2_DeviceInformation @ sysbus 0x0FE08000
deviceFamily: DeviceFamily.EFR32MG24
deviceNumber: 0x1
flashDevice: flash
sramDevice: sram
DCDC_IF: Python.PythonPeripheral @ sysbus 0x50094028
size: 0x4
initable: true
script: "request.Value = 0xffffffff"
flash: Memory.MappedMemory @ sysbus 0x08000000
size: 0x17E000
cmu: Miscellaneous.SiLabs.EFR32xG2_CMU_3 @ {
sysbus <0x40008000, +0x4000>; // CMU_S
sysbus <0x50008000, +0x4000> // CMU_NS
}
hfxo: hfxo
dpll: dpll
lfxo: Miscellaneous.SiLabs.EFR32xG2_LFXO_1 @ {
sysbus <0x40020000, +0x4000>; // LFXO_S
sysbus <0x50020000, +0x4000> // LFXO_NS
}
hfrco0: Miscellaneous.SiLabs.EFR32xG2_HFRCO_2 @ {
sysbus <0x40010000, +0x4000>; // HFRCO_S
sysbus <0x50010000, +0x4000> // HFRCO_NS
}
dpll: Miscellaneous.SiLabs.EFR32xG2_DPLL_1 @ {
sysbus <0x4001C000, +0x4000>; // DPLL0_S
sysbus <0x5001C000, +0x4000> // DPLL0_NS
}
lfrco: Miscellaneous.SiLabs.EFR32xG2_LFRCO_2 @ {
sysbus <0x40024000, +0x4000>; // LFRCO_S
sysbus <0x50024000, +0x4000> // LFRCO_NS
}
hfxo: Miscellaneous.SiLabs.EFR32xG2_HFXO_3 @ {
sysbus <0x4A004000, +0x4000>; // HFXO0_S
sysbus <0x5A004000, +0x4000> // HFXO0_NS
}
startupDelayTicks: 3 //should remain <= 20 to pass early wakeup conditions
IRQ -> nvic@44
hfrco1: Miscellaneous.SiLabs.EFR32xG2_HFRCO_2 @ {
sysbus <0x4A000000, +0x4000>; // HFRCOEM23_S
sysbus <0x5A000000, +0x4000> // HFRCOEM23_NS
}
emu: Miscellaneous.SiLabs.EFR32xG2_EMU_3 @ {
sysbus <0x40004000, +0x4000>; // EMU_S
sysbus <0x50004000, +0x4000> // EMU_NS
}
syscfg: Miscellaneous.SiLabs.EFR32xG2_SYSCFG_3 @ {
sysbus <0x4007C000, +0x4000>; // SYSCFG_S
sysbus <0x5007C000, +0x4000> // SYSCFG_NS
}
sysrtc: Miscellaneous.SiLabs.EFR32xG2_SYSRTC_1 @ {
sysbus <0x400A8000, +0x4000>; // SYSRTC0_S
sysbus <0x500A8000, +0x4000> // SYSRTC0_NS
}
frequency: 32768
IRQ -> nvic@67
semailbox: Miscellaneous.SiLabs.EFR32xG2_SEMAILBOX_1 @ {
sysbus <0x4C000000, +0x4000>; // SEMAILBOX_S
sysbus <0x5C000000, +0x4000> // SEMAILBOX_NS
}
RxIRQ -> nvic@65
TxIRQ -> nvic@66
prs: Miscellaneous.SiLabs.EFR32xG2_PRS_3 @ {
sysbus <0x40038000, +0x4000>; // PRS_S
sysbus <0x50038000, +0x4000> // PRS_NS
}
hfxo: hfxo
sysrtc: sysrtc
radioaes: Miscellaneous.SiLabs.EFR32xG2_AES_1 @ {
sysbus <0x44000000, +0x4000>; // RADIOAES_S
sysbus <0x54000000, +0x4000> // RADIOAES_NS
}
IRQ -> nvic@48
flashuserdata: Miscellaneous.SiLabs.EFR32xG24_FlashUserData @ sysbus <0x0FE00000, +0x7F>
itm : Miscellaneous.SiLabs.EFR32xG2_SLAB_ITM @ sysbus 0xE0000000
sysbus:
init add:
Tag <0x40000000, 0x40003FFF> "SCRATCHPAD_S"
Tag <0x40004000, 0x40007FFF> "EMU_S"
Tag <0x40008000, 0x4000BFFF> "CMU_S"
Tag <0x40010000, 0x40013FFF> "HFRCO0_S"
Tag <0x40018000, 0x4001BFFF> "FSRCO_S"
Tag <0x4001C000, 0x4001FFFF> "DPLL0_S"
Tag <0x40020000, 0x40023FFF> "LFXO_S"
Tag <0x40024000, 0x40027FFF> "LFRCO_S"
Tag <0x40028000, 0x4002BFFF> "ULFRCO_S"
Tag <0x40030000, 0x40033FFF> "MSC_S"
Tag <0x40034000, 0x40037FFF> "ICACHE0_S"
Tag <0x40038000, 0x4003BFFF> "PRS_S"
Tag <0x4003C000, 0x4003FFFF> "GPIO_S"
Tag <0x40040000, 0x40043FFF> "LDMA_S"
Tag <0x40044000, 0x40047FFF> "LDMAXBAR_S"
Tag <0x40048000, 0x4004BFFF> "TIMER0_S"
Tag <0x4004C000, 0x4004FFFF> "TIMER1_S"
Tag <0x40050000, 0x40053FFF> "TIMER2_S"
Tag <0x40054000, 0x40057FFF> "TIMER3_S"
Tag <0x40058000, 0x4005BFFF> "TIMER4_S"
Tag <0x4005C000, 0x4005FFFF> "USART0_S"
Tag <0x40064000, 0x40067FFF> "BURTC_S"
Tag <0x40068000, 0x4006BFFF> "I2C1_S"
Tag <0x40078000, 0x4007BFFF> "SYSCFG_S_CFGNS"
Tag <0x4007C000, 0x4007FFFF> "SYSCFG_S"
Tag <0x40080000, 0x40083FFF> "BURAM_S"
Tag <0x40088000, 0x4008BFFF> "GPCRC_S"
Tag <0x40094000, 0x40097FFF> "DCDC_S"
Tag <0x40098000, 0x4009BFFF> "HOSTMAILBOX_S"
Tag <0x400A0000, 0x400A3FFF> "EUSART1_S"
Tag <0x400A8000, 0x400ABFFF> "SYSRTC0_S"
Tag <0x400B0000, 0x400B3FFF> "KEYSCAN_S"
Tag <0x400B4000, 0x400B7FFF> "DMEM_S"
Tag <0x44000000, 0x44003FFF> "RADIOAES_S"
Tag <0x44008000, 0x4400BFFF> "SMU_S"
Tag <0x4400C000, 0x4400FFFF> "SMU_S_CFGNS"
Tag <0x49000000, 0x49003FFF> "LETIMER0_S"
Tag <0x49004000, 0x49007FFF> "IADC0_S"
Tag <0x49008000, 0x4900BFFF> "ACMP0_S"
Tag <0x4900C000, 0x4900FFFF> "ACMP1_S"
Tag <0x49024000, 0x49027FFF> "VDAC0_S"
Tag <0x49028000, 0x4902BFFF> "VDAC1_S"
Tag <0x49030000, 0x49033FFF> "PCNT0_S"
Tag <0x4A000000, 0x4A003FFF> "HFRCOEM23_S"
Tag <0x4A004000, 0x4A007FFF> "HFXO0_S"
Tag <0x4B000000, 0x4B003FFF> "I2C0_S"
Tag <0x4B004000, 0x4B007FFF> "WDOG0_S"
Tag <0x4B008000, 0x4B00BFFF> "WDOG1_S"
Tag <0x4B010000, 0x4B013FFF> "EUSART0_S"
Tag <0x4C000000, 0x4C003FFF> "SEMAILBOX_S"
Tag <0x4D000000, 0x4D003FFF> "MVP_S"
Tag <0x50000000, 0x50003FFF> "SCRATCHPAD_NS"
Tag <0x50004000, 0x50007FFF> "EMU_NS"
Tag <0x50008000, 0x5000BFFF> "CMU_NS"
Tag <0x50010000, 0x50013FFF> "HFRCO0_NS"
Tag <0x50018000, 0x5001BFFF> "FSRCO_NS"
Tag <0x5001C000, 0x5001FFFF> "DPLL0_NS"
Tag <0x50020000, 0x50023FFF> "LFXO_NS"
Tag <0x50024000, 0x50027FFF> "LFRCO_NS"
Tag <0x50028000, 0x5002BFFF> "ULFRCO_NS"
Tag <0x50030000, 0x50033FFF> "MSC_NS"
Tag <0x50034000, 0x50037FFF> "ICACHE0_NS"
Tag <0x50038000, 0x5003BFFF> "PRS_NS"
Tag <0x5003C000, 0x5003FFFF> "GPIO_NS"
Tag <0x50040000, 0x50043FFF> "LDMA_NS"
Tag <0x50044000, 0x50047FFF> "LDMAXBAR_NS"
Tag <0x50048000, 0x5004BFFF> "TIMER0_NS"
Tag <0x5004C000, 0x5004FFFF> "TIMER1_NS"
Tag <0x50050000, 0x50053FFF> "TIMER2_NS"
Tag <0x50054000, 0x50057FFF> "TIMER3_NS"
Tag <0x50058000, 0x5005BFFF> "TIMER4_NS"
Tag <0x5005C000, 0x5005FFFF> "USART0_NS"
Tag <0x50064000, 0x50067FFF> "BURTC_NS"
Tag <0x50068000, 0x5006BFFF> "I2C1_NS"
Tag <0x50078000, 0x5007BFFF> "SYSCFG_NS_CFGNS"
Tag <0x5007C000, 0x5007FFFF> "SYSCFG_NS"
Tag <0x50080000, 0x50083FFF> "BURAM_NS"
Tag <0x50088000, 0x5008BFFF> "GPCRC_NS"
Tag <0x50094000, 0x50097FFF> "DCDC_NS"
Tag <0x50098000, 0x5009BFFF> "HOSTMAILBOX_NS"
Tag <0x500A0000, 0x500A3FFF> "EUSART1_NS"
Tag <0x500A8000, 0x500ABFFF> "SYSRTC0_NS"
Tag <0x500B0000, 0x500B3FFF> "KEYSCAN_NS"
Tag <0x500B4000, 0x500B7FFF> "DMEM_NS"
Tag <0x54000000, 0x54003FFF> "RADIOAES_NS"
Tag <0x54008000, 0x5400BFFF> "SMU_NS"
Tag <0x5400C000, 0x5400FFFF> "SMU_NS_CFGNS"
Tag <0x59000000, 0x59003FFF> "LETIMER0_NS"
Tag <0x59004000, 0x59007FFF> "IADC0_NS"
Tag <0x59008000, 0x5900BFFF> "ACMP0_NS"
Tag <0x5900C000, 0x5900FFFF> "ACMP1_NS"
Tag <0x59024000, 0x59027FFF> "VDAC0_NS"
Tag <0x59028000, 0x5902BFFF> "VDAC1_NS"
Tag <0x59030000, 0x59033FFF> "PCNT0_NS"
Tag <0x5A000000, 0x5A003FFF> "HFRCOEM23_NS"
Tag <0x5A004000, 0x5A007FFF> "HFXO0_NS"
Tag <0x5B000000, 0x5B003FFF> "I2C0_NS"
Tag <0x5B004000, 0x5B007FFF> "WDOG0_NS"
Tag <0x5B008000, 0x5B00BFFF> "WDOG1_NS"
Tag <0x5B010000, 0x5B013FFF> "EUSART0_NS"
Tag <0x5D000000, 0x5D003FFF> "MVP_NS"
Tag <0x54000000, 0x540007FF> "RADIOAES_NS"
Tag <0x5C000000, 0x5C00007F> "SEMAILBOX_NS"
Tag <0xA8004000, 0xA8007FFF> "FRC"
Tag <0xA800C000, 0xA800FFFF> "AGC"
Tag <0xA8010000, 0xA8013FFF> "CRC"
Tag <0xA8014000, 0xA8017FFF> "MODEM"
Tag <0xA8018000, 0xA801BFFF> "SYNTH"
Tag <0xA801C000, 0xA801FFFF> "PROTIMER"
Tag <0xA8020000, 0xA8023FFF> "RAC"
Tag <0xA802C000, 0xA802FFFF> "RFMAILBOX"
Tag <0xAA000000, 0xAA003FFF> "BUFC"
Tag <0xB8004000, 0xB8007FFF> "FRC_NS"
Tag <0xB800C000, 0xB800FFFF> "AGC_NS"
Tag <0xB8010000, 0xB8013FFF> "CRC_NS"
Tag <0xB8014000, 0xB8017FFF> "MODEM_NS"
Tag <0xB8018000, 0xB801BFFF> "SYNTH_NS"
Tag <0xB801C000, 0xB801FFFF> "PROTIMER_NS"
Tag <0xB8020000, 0xB8023FFF> "RAC_NS"
Tag <0xB802C000, 0xB802FFFF> "RFMAILBOX_NS"
Tag <0xBA000000, 0xBA003FFF> "BUFC_NS"
Tag <0xE0000000, 0xE0000FFF> "ITM"
Tag <0x0FE00000, 0x0FE00009> "FLASH_USER_DATA"