1cpu: CPU.CortexM @ sysbus
2    cpuType: "cortex-m23"
3    nvic: nvic
4
5nvic: IRQControllers.NVIC @ sysbus 0xE000E000
6    systickFrequency: 120000000
7    IRQ -> cpu@0
8
9icu: IRQControllers.RenesasRA_ICU @ sysbus 0x40006000
10    nvic: nvic
11    eventToInterruptLink: EventToInterruptLinkType.RA2
12    numberOfExternalInterrupts: 8
13    highestEventNumber: 0xA9
14    numberOfNVICOutputs: 32
15
16code_flash: Memory.MappedMemory @ sysbus 0x0
17    size: 0x20000
18
19data_flash: Memory.MappedMemory @ sysbus 0x40100000
20    size: 0x1000
21
22sram: Memory.MappedMemory @ sysbus 0x20004000
23    size: 0x4000
24
25portMisc: GPIOPort.RenesasRA_GPIOMisc @ sysbus 0x40040D00
26
27port0: GPIOPort.RenesasRA2_GPIO @ {
28        sysbus 0x40040000;
29        sysbus new Bus.BusMultiRegistration { address: 0x40040800; size: 0x40; region: "pinConfiguration" }
30    }
31    portNumber: 0x0
32    numberOfConnections: 16
33    pfsMisc: portMisc
34
35    IRQ0 -> icu@1
36    IRQ1 -> icu@2
37    IRQ2 -> icu@3
38    IRQ3 -> icu@4
39    IRQ4 -> icu@5
40    IRQ5 -> icu@6
41    IRQ6 -> icu@7
42    IRQ7 -> icu@8
43    IRQ8 -> icu@9
44    IRQ9 -> icu@10
45    IRQ10 -> icu@11
46    IRQ11 -> icu@12
47    IRQ12 -> icu@13
48    IRQ13 -> icu@14
49    IRQ14 -> icu@15
50    IRQ15 -> icu@16
51
52port1: GPIOPort.RenesasRA2_GPIO @ {
53        sysbus 0x40040020;
54        sysbus new Bus.BusMultiRegistration { address: 0x40040840; size: 0x40; region: "pinConfiguration" }
55    }
56    portNumber: 0x1
57    numberOfConnections: 14
58    pfsMisc: portMisc
59
60    IRQ0 -> icu@1
61    IRQ1 -> icu@2
62    IRQ2 -> icu@3
63    IRQ3 -> icu@4
64    IRQ4 -> icu@5
65    IRQ5 -> icu@6
66    IRQ6 -> icu@7
67    IRQ7 -> icu@8
68    IRQ8 -> icu@9
69    IRQ9 -> icu@10
70    IRQ10 -> icu@11
71    IRQ11 -> icu@12
72    IRQ12 -> icu@13
73    IRQ13 -> icu@14
74    IRQ14 -> icu@15
75    IRQ15 -> icu@16
76
77port2: GPIOPort.RenesasRA2_GPIO @ {
78        sysbus 0x40040040;
79        sysbus new Bus.BusMultiRegistration { address: 0x40040880; size: 0x40; region: "pinConfiguration" }
80    }
81    portNumber: 0x2
82    numberOfConnections: 16
83    pfsMisc: portMisc
84
85    IRQ0 -> icu@1
86    IRQ1 -> icu@2
87    IRQ2 -> icu@3
88    IRQ3 -> icu@4
89    IRQ4 -> icu@5
90    IRQ5 -> icu@6
91    IRQ6 -> icu@7
92    IRQ7 -> icu@8
93    IRQ8 -> icu@9
94    IRQ9 -> icu@10
95    IRQ10 -> icu@11
96    IRQ11 -> icu@12
97    IRQ12 -> icu@13
98    IRQ13 -> icu@14
99    IRQ14 -> icu@15
100    IRQ15 -> icu@16
101
102port3: GPIOPort.RenesasRA2_GPIO @ {
103        sysbus 0x40040060;
104        sysbus new Bus.BusMultiRegistration { address: 0x400408C0; size: 0x40; region: "pinConfiguration" }
105    }
106    portNumber: 0x3
107    numberOfConnections: 5
108    pfsMisc: portMisc
109
110    IRQ0 -> icu@1
111    IRQ1 -> icu@2
112    IRQ2 -> icu@3
113    IRQ3 -> icu@4
114    IRQ4 -> icu@5
115    IRQ5 -> icu@6
116    IRQ6 -> icu@7
117    IRQ7 -> icu@8
118    IRQ8 -> icu@9
119    IRQ9 -> icu@10
120    IRQ10 -> icu@11
121    IRQ11 -> icu@12
122    IRQ12 -> icu@13
123    IRQ13 -> icu@14
124    IRQ14 -> icu@15
125    IRQ15 -> icu@16
126
127port4: GPIOPort.RenesasRA2_GPIO @ {
128        sysbus 0x40040080;
129        sysbus new Bus.BusMultiRegistration { address: 0x40040900; size: 0x40; region: "pinConfiguration" }
130    }
131    portNumber: 0x4
132    numberOfConnections: 16
133    pfsMisc: portMisc
134
135    IRQ0 -> icu@1
136    IRQ1 -> icu@2
137    IRQ2 -> icu@3
138    IRQ3 -> icu@4
139    IRQ4 -> icu@5
140    IRQ5 -> icu@6
141    IRQ6 -> icu@7
142    IRQ7 -> icu@8
143    IRQ8 -> icu@9
144    IRQ9 -> icu@10
145    IRQ10 -> icu@11
146    IRQ11 -> icu@12
147    IRQ12 -> icu@13
148    IRQ13 -> icu@14
149    IRQ14 -> icu@15
150    IRQ15 -> icu@16
151
152port5: GPIOPort.RenesasRA2_GPIO @ {
153        sysbus 0x400400A0;
154        sysbus new Bus.BusMultiRegistration { address: 0x40040940; size: 0x40; region: "pinConfiguration" }
155    }
156    portNumber: 0x5
157    numberOfConnections: 3
158    pfsMisc: portMisc
159
160    IRQ0 -> icu@1
161    IRQ1 -> icu@2
162    IRQ2 -> icu@3
163    IRQ3 -> icu@4
164    IRQ4 -> icu@5
165    IRQ5 -> icu@6
166    IRQ6 -> icu@7
167    IRQ7 -> icu@8
168    IRQ8 -> icu@9
169    IRQ9 -> icu@10
170    IRQ10 -> icu@11
171    IRQ11 -> icu@12
172    IRQ12 -> icu@13
173    IRQ13 -> icu@14
174    IRQ14 -> icu@15
175    IRQ15 -> icu@16
176
177port9: GPIOPort.RenesasRA2_GPIO @ {
178        sysbus 0x40040120;
179        sysbus new Bus.BusMultiRegistration { address: 0x40040A40; size: 0x40; region: "pinConfiguration" }
180    }
181    portNumber: 0x9
182    numberOfConnections: 16
183    pfsMisc: portMisc
184
185    IRQ0 -> icu@1
186    IRQ1 -> icu@2
187    IRQ2 -> icu@3
188    IRQ3 -> icu@4
189    IRQ4 -> icu@5
190    IRQ5 -> icu@6
191    IRQ6 -> icu@7
192    IRQ7 -> icu@8
193    IRQ8 -> icu@9
194    IRQ9 -> icu@10
195    IRQ10 -> icu@11
196    IRQ11 -> icu@12
197    IRQ12 -> icu@13
198    IRQ13 -> icu@14
199    IRQ14 -> icu@15
200    IRQ15 -> icu@16
201
202gpt: Timers.RenesasRA_GPT @ sysbus 0x40078000
203    numberOf32BitChannels: 4
204    numberOf16BitChannels: 6
205    commonRegistersOffset: 0xff0
206    peripheralClockDFrequency: 48000000
207    [0x00-0x03] -> icu@[0x46-0x49]
208    // GPT0_CMPE and _CMPF are not connected
209    [0x06-0x07] -> icu@[0x4A-0x4B]
210    // GPT0_PC is not connected
211    // GPT1..3 are not connected
212    [0x24-0x27] -> icu@[0x5E-0x61]
213    // GPT4_CMPE and _CMPF are not connected
214    [0x2A-0x2B] -> icu@[0x62-0x63]
215    // GPT4_PC is not connected
216    [0x2D-0x30] -> icu@[0x64-0x67]
217    // GPT5_CMPE and _CMPF are not connected
218    [0x33-0x34] -> icu@[0x68-0x69]
219    // GPT5_PC is not connected
220    [0x36-0x39] -> icu@[0x6A-0x6D]
221    // GPT6_CMPE and _CMPF are not connected
222    [0x3C-0x3D] -> icu@[0x6E-0x6F]
223    // GPT6_PC is not connected
224    [0x3F-0x42] -> icu@[0x98-0x9B]
225    // GPT7_CMPE and _CMPF are not connected
226    [0x45-0x46] -> icu@[0x9C-0x9D]
227    // GPT7_PC is not connected
228    [0x48-0x4B] -> icu@[0x9E-0xA1]
229    // GPT8_CMPE and _CMPF are not connected
230    [0x4E-0x4F] -> icu@[0xA2-0xA3]
231    // GPT8_PC is not connected
232    [0x51-0x54] -> icu@[0xA4-0xA7]
233    // GPT9_CMPE and _CMPF are not connected
234    [0x57-0x58] -> icu@[0xA8-0xA9]
235    // GPT9_PC is not connected
236
237agt0: Timers.RenesasRA_AGT @ sysbus 0x40084000
238    lowSpeedOnChipOscillatorFrequency: 32768
239    subClockOscillatorFrequency: 32768
240    peripheralClockBFrequency: 24000000
241    IRQ -> icu@0x11
242    CompareMatchA -> icu@0x12
243    CompareMatchB -> icu@0x13
244
245agt1: Timers.RenesasRA_AGT @ sysbus 0x40084100
246    lowSpeedOnChipOscillatorFrequency: 32768
247    subClockOscillatorFrequency: 32768
248    peripheralClockBFrequency: 24000000
249    IRQ -> icu@0x14
250    CompareMatchA -> icu@0x15
251    CompareMatchB -> icu@0x16
252
253sci0: SCI.RenesasRA6M5_SCI @ sysbus 0x40070000
254    frequency: 32000000
255    enableManchesterMode: false
256    enableFIFO: true
257    fullModel: false
258    ReceiveIRQ -> icu@0x71
259    TransmitIRQ -> icu@0x72
260    TransmitEndIRQ -> icu@0x73
261
262sci1: SCI.RenesasRA6M5_SCI @ sysbus 0x40070020
263    frequency: 32000000
264    enableManchesterMode: false
265    enableFIFO: false
266    fullModel: false
267    ReceiveIRQ -> icu@0x77
268    TransmitIRQ -> icu@0x78
269    TransmitEndIRQ -> icu@0x79
270
271sci2: SCI.RenesasRA6M5_SCI @ sysbus 0x40070040
272    frequency: 32000000
273    enableManchesterMode: false
274    enableFIFO: false
275    fullModel: false
276    ReceiveIRQ -> icu@0x8E
277    TransmitIRQ -> icu@0x8F
278    TransmitEndIRQ -> icu@0x90
279
280sci9: SCI.RenesasRA6M5_SCI @ sysbus 0x40070120
281    frequency: 32000000
282    enableManchesterMode: false
283    enableFIFO: false
284    fullModel: false
285    ReceiveIRQ -> icu@0x7C
286    TransmitIRQ -> icu@0x7D
287    TransmitEndIRQ -> icu@0x7E
288
289sysc_oscsf: Python.PythonPeripheral @ sysbus 0x4001E03C
290    size: 0x4
291    initable: true
292    script: "request.value = 0xFF"
293
294iic0: I2C.RenesasRA_IIC @ sysbus 0x40053000
295    ReceiveIRQ -> icu@0x27
296    TransmitIRQ -> icu@0x28
297    TransmitEndIRQ -> icu@0x29
298    ErrorOrEventIRQ -> icu@0x2A
299
300sysbus:
301    init:
302        Tag <0x40000000,0x40000d27> "RMPU" // Renesas Memory Protection Unit
303        Tag <0x40002000,0x40002007> "SRAM" // SRAM Control
304        Tag <0x40003000,0x40004837> "BUS" // BUS Control
305        Tag <0x40005400,0x40005413> "DTC" // Data Transfer Controller
306        Tag <0x4001b000,0x4001b017> "DBG" // Debug Function
307        Tag <0x4001e000,0x4001e493> "SYSC" // System Control
308        Tag <0x40040800,0x40040d13> "PFS" // Pmn Pin Function Control Register
309        Tag <0x40041000,0x4004105b> "ELC" // Event Link Controller
310        Tag <0x40042000,0x40042107> "POEG" // Port Output Enable Module for GPT
311        Tag <0x40044000,0x4004402f> "RTC" // Realtime Clock
312        Tag <0x40044200,0x4004420b> "WDT" // Watchdog Timer
313        Tag <0x40044400,0x40044407> "IWDT" // Independent Watchdog Timer
314        Tag <0x40044600,0x4004460f> "CAC" // Clock Frequency Accuracy Measurement Circuit
315        Tag <0x40047000,0x40047017> "MSTP" // Module Stop Control B, C, D
316        Tag <0x40054100,0x40054107> "DOC" // Data Operation Circuit
317        Tag <0x4005c000,0x4005c0f3> "ADC120" // 12-bit A/D Converter
318        Tag <0x40072000,0x40072013> "SPI0" // Serial Peripheral Interface
319        Tag <0x40074000,0x4007400f> "CRC" // Cyclic Redundancy Check Calculator
320        Tag <0x40078ff0,0x40078ff7> "GPT_OPS" // Output Phase Switching Controller
321        Tag <0x40080000,0x4008000b> "KINT" // Key Interrupt Function
322        Tag <0x40082000,0x4008203f> "CTSU" // Capacitive Touch Sensing Unit
323        Tag <0x40085e00,0x40085e03> "ACMPLP" // Low-Power Analog Comparator
324        Tag <0x407ec000,0x407effcb> "FLCN" // Flash I/O Registers
325