1nvic: IRQControllers.NVIC @ sysbus 0xE000E000
2    priorityMask: 0xF0
3    systickFrequency: 32000000
4    IRQ -> cpu@0
5
6cpu: CPU.CortexM @ sysbus
7    cpuType: "cortex-m3"
8    nvic: nvic
9
10systemMemory: Memory.MappedMemory @ sysbus 0x1FF00000
11    size: 0x10000
12
13spi1: SPI.STM32SPI @ sysbus 0x40013000
14
15spi2: SPI.STM32SPI @ sysbus 0x40003800
16
17spi3: SPI.STM32SPI @ sysbus 0x40003C00
18
19exti: IRQControllers.STM32F4_EXTI @ sysbus 0x40010400
20    numberOfOutputLines: 24
21    [0-4] -> nvic@[6-10]
22    [5-9] -> nvicInput23@[0-4]
23    [10-15] -> nvicInput40@[0-5]
24    [20] -> nvic@[3]
25
26nvicInput23: Miscellaneous.CombinedInput @ none
27    numberOfInputs: 5
28    -> nvic@23
29
30nvicInput40: Miscellaneous.CombinedInput @ none
31    numberOfInputs: 6
32    -> nvic@40
33
34
35sram: Memory.MappedMemory @ sysbus 0x20000000
36    size: 0xC000
37
38flash: Memory.MappedMemory @ sysbus 0x08000000
39    size:0x60000
40
41usart1: UART.STM32_UART @ sysbus <0x40013800, +0x100>
42    -> nvic@37
43
44usart2: UART.STM32_UART @ sysbus <0x40004400, +0x100>
45    -> nvic@38
46
47usart3: UART.STM32_UART @ sysbus <0x40004800, +0x100>
48    -> nvic@39
49
50gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x40020000, +0x400>
51    modeResetValue: 0xA8000000
52    pullUpPullDownResetValue: 0x64000000
53    numberOfAFs: 16
54
55gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x40020400, +0x400>
56    modeResetValue: 0x00000280
57    outputSpeedResetValue: 0x000000C0
58    pullUpPullDownResetValue: 0x00000100
59    numberOfAFs: 16
60    [0-15] -> exti@[0-15]
61
62gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x40020800, +0x400>
63    numberOfAFs: 16
64    11 -> exti@11
65
66gpioPortD: GPIOPort.STM32_GPIOPort @ sysbus <0x40020C00, +0x400>
67    numberOfAFs: 16
68
69gpioPortE: GPIOPort.STM32_GPIOPort @ sysbus <0x40021000, +0x400>
70    numberOfAFs: 16
71
72gpioPortF: GPIOPort.STM32_GPIOPort @ sysbus <0x40021800, +0x400>
73    numberOfAFs: 16
74
75gpioPortG: GPIOPort.STM32_GPIOPort @ sysbus <0x40021C00, +0x400>
76    numberOfAFs: 16
77
78gpioPortH: GPIOPort.STM32_GPIOPort @ sysbus <0x40021400, +0x400>
79    numberOfAFs: 16
80
81dma1: DMA.STM32LDMA @ sysbus 0x40026000
82    [0-7] -> nvic@[11-17,47]
83
84i2c1: I2C.STM32F4_I2C @ sysbus 0x40005400
85    EventInterrupt -> nvic@31
86    ErrorInterrupt -> nvic@32
87
88rtc: STM32L_RTC @ sysbus <0x40002800, +0x400>
89    -> exti@20
90
91bitbandPeripherals: Miscellaneous.BitBanding @ sysbus <0x42000000, +0x2000000>
92    peripheralBase: 0x40000000
93
94bitbandSram: Miscellaneous.BitBanding @ sysbus <0x22000000, +0x200000>
95    peripheralBase: 0x20000000
96
97timer2: Timers.STM32_Timer @ sysbus 0x40000000
98    -> nvic@28
99    frequency: 10000000
100    initialLimit: 0xFFFFFFFF
101
102timer3: Timers.STM32_Timer @ sysbus 0x40000400
103    -> nvic@29
104    frequency: 10000000
105    initialLimit: 0xFFFF
106
107timer4: Timers.STM32_Timer @ sysbus 0x40000800
108    -> nvic@30
109    frequency: 10000000
110    initialLimit: 0xFFFF
111
112timer5: Timers.STM32_Timer @ sysbus 0x40000C00
113    -> nvic@45
114    frequency: 10000000
115    initialLimit: 0xFFFFFFFF
116
117timer6: Timers.STM32_Timer @ sysbus 0x40001000
118    -> nvic@43
119    frequency: 10000000
120    initialLimit: 0xFFFF
121
122timer7: Timers.STM32_Timer @ sysbus 0x40001400
123    -> nvic@44
124    frequency: 10000000
125    initialLimit: 0xFFFF
126
127timer9: Timers.STM32_Timer @ sysbus 0x40010800
128    -> nvic@25
129    frequency: 10000000
130    initialLimit: 0xFFFF
131
132timer10: Timers.STM32_Timer @ sysbus 0x40010C00
133    -> nvic@26
134    frequency: 10000000
135    initialLimit: 0xFFFF
136
137timer11: Timers.STM32_Timer @ sysbus 0x40011000
138    -> nvic@27
139    frequency: 10000000
140    initialLimit: 0xFFFF
141
142sysbus:
143    init:
144        ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32L1xx.svd.gz
145        Tag <0x4000280C, 0x40002810> "RTC_ISR" 0x60
146        SilenceRange <0x40003000 4>
147        Tag <0xE0042000 4> "MCU_ID" 0x10000416
148        Tag <0x40012400 4> "ADC_SR" 0xFFFFFFFF
149        Tag <0x40023C18 4> "FLASH_SR"  0xE
150        Tag <0x40007000 4> "PWR_CONTROL" 0x1000
151        Tag <0x40007004 4> "PWR_STATUS"  0x8
152        // Hard set all oscillator RDY bits
153        Tag <0x40023800 4> "RCC_CR" 0x2020202
154
155rccCsr: Python.PythonPeripheral @ sysbus 0x40023834
156    size: 0x4
157    initable: true
158    filename: "scripts/pydev/flipflop.py"
159
160rccIcscr: Python.PythonPeripheral @ sysbus 0x40023804
161    size: 0x4
162    initable: false
163    script: "request.value=0xB000"
164
165