1nvic: IRQControllers.NVIC @ sysbus 0xE000E000
2    priorityMask: 0xF0
3    systickFrequency: 32000000
4    IRQ -> cpu@0
5
6cpu: CPU.CortexM @ sysbus
7    cpuType: "cortex-m85"
8    nvic: nvic
9
10itcm: Memory.MappedMemory @ {
11        sysbus 0x00000000;
12        sysbus 0x10000000
13    }
14    size: 0x10000
15
16code_flash: Memory.MappedMemory @ {
17        sysbus 0x02000000;
18        sysbus 0x12000000
19    }
20    size: 0x200000
21
22factory_flash: Memory.MappedMemory @ {
23        sysbus 0x03008000;
24        sysbus 0x13008000
25    }
26    // Size should be 0x2300, but the registered memory region has to be aligned to page boundaries
27    size: 0x2400
28
29dtcm: Memory.MappedMemory @ {
30        sysbus 0x30000000;
31        sysbus 0x20000000
32    }
33    size: 0x10000
34
35sram: Memory.MappedMemory @ {
36        sysbus 0x22000000;
37        sysbus 0x32000000
38    }
39    size: 0xE0000
40
41standby_sram: Memory.MappedMemory @ {
42        sysbus 0x26000000;
43        sysbus 0x36000000
44    }
45    size: 0x400
46
47data_flash: Memory.MappedMemory @ {
48        sysbus 0x27000000;
49        sysbus 0x37000000
50    }
51    size: 0x3000
52
53option_setting: Memory.ArrayMemory @ {
54        sysbus 0x27030050;
55        sysbus 0x37030050
56    }
57    size: 0x3B0
58
59icu: IRQControllers.RenesasRA_ICU @ sysbus 0x4000c000
60    nvic: nvic
61
62gpt: Timers.RenesasRA_GPT @ sysbus 0x40322000
63    numberOf32BitChannels: 8
64    numberOf16BitChannels: 6
65    commonRegistersOffset: 0x1f00
66    peripheralClockDFrequency: 48000000
67
68gpt_ns: Timers.RenesasRA_GPT @ sysbus 0x50322000
69    numberOf32BitChannels: 8
70    numberOf16BitChannels: 6
71    commonRegistersOffset: 0x1f00
72    peripheralClockDFrequency: 48000000
73    [0x0-0x7C] -> icu@[0x0A1-0x11D]
74
75agt0: Timers.RenesasRA_AGT @ sysbus 0x40221000
76    lowSpeedOnChipOscillatorFrequency: 32768
77    subClockOscillatorFrequency: 32768
78    peripheralClockBFrequency: 60000000
79    IRQ -> icu@0x046
80    CompareMatchA -> icu@0x047
81    CompareMatchB -> icu@0x048
82
83agt1: Timers.RenesasRA_AGT @ sysbus 0x40221100
84    lowSpeedOnChipOscillatorFrequency: 32768
85    subClockOscillatorFrequency: 32768
86    peripheralClockBFrequency: 60000000
87    IRQ -> icu@0x049
88    CompareMatchA -> icu@0x04A
89    CompareMatchB -> icu@0x04B
90
91sci0: UART.RenesasRA8M1_SCI @ sysbus 0x40358000
92    frequency: 8_000_000
93    ReceiveIRQ -> icu@0x124
94    TransmitIRQ -> icu@0x125
95    TransmitEndIRQ -> icu@0x126
96
97sci1: UART.RenesasRA8M1_SCI @ sysbus 0x40358100
98    frequency: 8_000_000
99    ReceiveIRQ -> icu@0x12B
100    TransmitIRQ -> icu@0x12C
101    TransmitEndIRQ -> icu@0x12D
102
103sci2: UART.RenesasRA8M1_SCI @ sysbus 0x40358200
104    frequency: 8_000_000
105    ReceiveIRQ -> icu@0x132
106    TransmitIRQ -> icu@0x133
107    TransmitEndIRQ -> icu@0x134
108
109sci3: UART.RenesasRA8M1_SCI @ sysbus 0x40358300
110    frequency: 8_000_000
111    ReceiveIRQ -> icu@0x139
112    TransmitIRQ -> icu@0x13A
113    TransmitEndIRQ -> icu@0x13B
114
115sci4: UART.RenesasRA8M1_SCI @ sysbus 0x40358400
116    frequency: 8_000_000
117    ReceiveIRQ -> icu@0x140
118    TransmitIRQ -> icu@0x141
119    TransmitEndIRQ -> icu@0x142
120
121sci9: UART.RenesasRA8M1_SCI @ sysbus 0x40358900
122    frequency: 8_000_000
123    ReceiveIRQ -> icu@0x163
124    TransmitIRQ -> icu@0x164
125    TransmitEndIRQ -> icu@0x165
126
127portMisc: GPIOPort.RenesasRA_GPIOMisc @ sysbus 0x40400D00
128    version: Version.RA8
129
130port0: GPIOPort.RenesasRA8_GPIO @ {
131        sysbus 0x40400000;
132        sysbus new Bus.BusMultiRegistration { address: 0x40400800; size: 0x40; region: "pinConfiguration" }
133    }
134    portNumber: 0x0
135    numberOfConnections: 14
136    pfsMisc: portMisc
137
138    IRQ0 -> icu@1
139    IRQ1 -> icu@2
140    IRQ2 -> icu@3
141    IRQ3 -> icu@4
142    IRQ4 -> icu@5
143    IRQ5 -> icu@6
144    IRQ6 -> icu@7
145    IRQ7 -> icu@8
146    IRQ8 -> icu@9
147    IRQ9 -> icu@10
148    IRQ10 -> icu@11
149    IRQ11 -> icu@12
150    IRQ12 -> icu@13
151    IRQ13 -> icu@14
152    IRQ14 -> icu@15
153    IRQ15 -> icu@16
154
155port1: GPIOPort.RenesasRA8_GPIO @ {
156        sysbus 0x40400020;
157        sysbus new Bus.BusMultiRegistration { address: 0x40400840; size: 0x40; region: "pinConfiguration" }
158    }
159    portNumber: 0x1
160    numberOfConnections: 12
161    pfsMisc: portMisc
162
163    IRQ0 -> icu@1
164    IRQ1 -> icu@2
165    IRQ2 -> icu@3
166    IRQ3 -> icu@4
167    IRQ4 -> icu@5
168    IRQ5 -> icu@6
169    IRQ6 -> icu@7
170    IRQ7 -> icu@8
171    IRQ8 -> icu@9
172    IRQ9 -> icu@10
173    IRQ10 -> icu@11
174    IRQ11 -> icu@12
175    IRQ12 -> icu@13
176    IRQ13 -> icu@14
177    IRQ14 -> icu@15
178    IRQ15 -> icu@16
179
180port2: GPIOPort.RenesasRA8_GPIO @ {
181        sysbus 0x40400040;
182        sysbus new Bus.BusMultiRegistration { address: 0x40400880; size: 0x40; region: "pinConfiguration" }
183    }
184    portNumber: 0x2
185    numberOfConnections: 14
186    pfsMisc: portMisc
187
188    IRQ0 -> icu@1
189    IRQ1 -> icu@2
190    IRQ2 -> icu@3
191    IRQ3 -> icu@4
192    IRQ4 -> icu@5
193    IRQ5 -> icu@6
194    IRQ6 -> icu@7
195    IRQ7 -> icu@8
196    IRQ8 -> icu@9
197    IRQ9 -> icu@10
198    IRQ10 -> icu@11
199    IRQ11 -> icu@12
200    IRQ12 -> icu@13
201    IRQ13 -> icu@14
202    IRQ14 -> icu@15
203    IRQ15 -> icu@16
204
205port3: GPIOPort.RenesasRA8_GPIO @ {
206        sysbus 0x40400060;
207        sysbus new Bus.BusMultiRegistration { address: 0x404008C0; size: 0x40; region: "pinConfiguration" }
208    }
209    portNumber: 0x3
210    numberOfConnections: 16
211    pfsMisc: portMisc
212
213    IRQ0 -> icu@1
214    IRQ1 -> icu@2
215    IRQ2 -> icu@3
216    IRQ3 -> icu@4
217    IRQ4 -> icu@5
218    IRQ5 -> icu@6
219    IRQ6 -> icu@7
220    IRQ7 -> icu@8
221    IRQ8 -> icu@9
222    IRQ9 -> icu@10
223    IRQ10 -> icu@11
224    IRQ11 -> icu@12
225    IRQ12 -> icu@13
226    IRQ13 -> icu@14
227    IRQ14 -> icu@15
228    IRQ15 -> icu@16
229
230port4: GPIOPort.RenesasRA8_GPIO @ {
231        sysbus 0x40400080;
232        sysbus new Bus.BusMultiRegistration { address: 0x40400900; size: 0x40; region: "pinConfiguration" }
233    }
234    portNumber: 0x4
235    numberOfConnections: 16
236    pfsMisc: portMisc
237
238    IRQ0 -> icu@1
239    IRQ1 -> icu@2
240    IRQ2 -> icu@3
241    IRQ3 -> icu@4
242    IRQ4 -> icu@5
243    IRQ5 -> icu@6
244    IRQ6 -> icu@7
245    IRQ7 -> icu@8
246    IRQ8 -> icu@9
247    IRQ9 -> icu@10
248    IRQ10 -> icu@11
249    IRQ11 -> icu@12
250    IRQ12 -> icu@13
251    IRQ13 -> icu@14
252    IRQ14 -> icu@15
253    IRQ15 -> icu@16
254
255port5: GPIOPort.RenesasRA8_GPIO @ {
256        sysbus 0x404000A0;
257        sysbus new Bus.BusMultiRegistration { address: 0x40400940; size: 0x40; region: "pinConfiguration" }
258    }
259    portNumber: 0x5
260    numberOfConnections: 16
261    pfsMisc: portMisc
262
263    IRQ0 -> icu@1
264    IRQ1 -> icu@2
265    IRQ2 -> icu@3
266    IRQ3 -> icu@4
267    IRQ4 -> icu@5
268    IRQ5 -> icu@6
269    IRQ6 -> icu@7
270    IRQ7 -> icu@8
271    IRQ8 -> icu@9
272    IRQ9 -> icu@10
273    IRQ10 -> icu@11
274    IRQ11 -> icu@12
275    IRQ12 -> icu@13
276    IRQ13 -> icu@14
277    IRQ14 -> icu@15
278    IRQ15 -> icu@16
279
280port6: GPIOPort.RenesasRA8_GPIO @ {
281        sysbus 0x404000C0;
282        sysbus new Bus.BusMultiRegistration { address: 0x40400980; size: 0x40; region: "pinConfiguration" }
283    }
284    portNumber: 0x6
285    numberOfConnections: 15
286    pfsMisc: portMisc
287
288    IRQ0 -> icu@1
289    IRQ1 -> icu@2
290    IRQ2 -> icu@3
291    IRQ3 -> icu@4
292    IRQ4 -> icu@5
293    IRQ5 -> icu@6
294    IRQ6 -> icu@7
295    IRQ7 -> icu@8
296    IRQ8 -> icu@9
297    IRQ9 -> icu@10
298    IRQ10 -> icu@11
299    IRQ11 -> icu@12
300    IRQ12 -> icu@13
301    IRQ13 -> icu@14
302    IRQ14 -> icu@15
303    IRQ15 -> icu@16
304
305port7: GPIOPort.RenesasRA8_GPIO @ {
306        sysbus 0x404000E0;
307        sysbus new Bus.BusMultiRegistration { address: 0x404009C0; size: 0x40; region: "pinConfiguration" }
308    }
309    portNumber: 0x7
310    numberOfConnections: 16
311    pfsMisc: portMisc
312
313    IRQ0 -> icu@1
314    IRQ1 -> icu@2
315    IRQ2 -> icu@3
316    IRQ3 -> icu@4
317    IRQ4 -> icu@5
318    IRQ5 -> icu@6
319    IRQ6 -> icu@7
320    IRQ7 -> icu@8
321    IRQ8 -> icu@9
322    IRQ9 -> icu@10
323    IRQ10 -> icu@11
324    IRQ11 -> icu@12
325    IRQ12 -> icu@13
326    IRQ13 -> icu@14
327    IRQ14 -> icu@15
328    IRQ15 -> icu@16
329
330port8: GPIOPort.RenesasRA8_GPIO @ {
331        sysbus 0x40400100;
332        sysbus new Bus.BusMultiRegistration { address: 0x40400A00; size: 0x40; region: "pinConfiguration" }
333    }
334    portNumber: 0x8
335    numberOfConnections: 16
336    pfsMisc: portMisc
337
338    IRQ0 -> icu@1
339    IRQ1 -> icu@2
340    IRQ2 -> icu@3
341    IRQ3 -> icu@4
342    IRQ4 -> icu@5
343    IRQ5 -> icu@6
344    IRQ6 -> icu@7
345    IRQ7 -> icu@8
346    IRQ8 -> icu@9
347    IRQ9 -> icu@10
348    IRQ10 -> icu@11
349    IRQ11 -> icu@12
350    IRQ12 -> icu@13
351    IRQ13 -> icu@14
352    IRQ14 -> icu@15
353    IRQ15 -> icu@16
354
355port9: GPIOPort.RenesasRA8_GPIO @ {
356        sysbus 0x40400120;
357        sysbus new Bus.BusMultiRegistration { address: 0x40400A40; size: 0x40; region: "pinConfiguration" }
358    }
359    portNumber: 0x9
360    numberOfConnections: 16
361    pfsMisc: portMisc
362
363    IRQ0 -> icu@1
364    IRQ1 -> icu@2
365    IRQ2 -> icu@3
366    IRQ3 -> icu@4
367    IRQ4 -> icu@5
368    IRQ5 -> icu@6
369    IRQ6 -> icu@7
370    IRQ7 -> icu@8
371    IRQ8 -> icu@9
372    IRQ9 -> icu@10
373    IRQ10 -> icu@11
374    IRQ11 -> icu@12
375    IRQ12 -> icu@13
376    IRQ13 -> icu@14
377    IRQ14 -> icu@15
378    IRQ15 -> icu@16
379
380portA: GPIOPort.RenesasRA8_GPIO @ {
381        sysbus 0x40400140;
382        sysbus new Bus.BusMultiRegistration { address: 0x40400A80; size: 0x40; region: "pinConfiguration" }
383    }
384    portNumber: 0xA
385    numberOfConnections: 16
386    pfsMisc: portMisc
387
388    IRQ0 -> icu@1
389    IRQ1 -> icu@2
390    IRQ2 -> icu@3
391    IRQ3 -> icu@4
392    IRQ4 -> icu@5
393    IRQ5 -> icu@6
394    IRQ6 -> icu@7
395    IRQ7 -> icu@8
396    IRQ8 -> icu@9
397    IRQ9 -> icu@10
398    IRQ10 -> icu@11
399    IRQ11 -> icu@12
400    IRQ12 -> icu@13
401    IRQ13 -> icu@14
402    IRQ14 -> icu@15
403    IRQ15 -> icu@16
404
405portB: GPIOPort.RenesasRA8_GPIO @ {
406        sysbus 0x40400160;
407        sysbus new Bus.BusMultiRegistration { address: 0x40400AC0; size: 0x40; region: "pinConfiguration" }
408    }
409    portNumber: 0xB
410    numberOfConnections: 8
411    pfsMisc: portMisc
412
413    IRQ0 -> icu@1
414    IRQ1 -> icu@2
415    IRQ2 -> icu@3
416    IRQ3 -> icu@4
417    IRQ4 -> icu@5
418    IRQ5 -> icu@6
419    IRQ6 -> icu@7
420    IRQ7 -> icu@8
421    IRQ8 -> icu@9
422    IRQ9 -> icu@10
423    IRQ10 -> icu@11
424    IRQ11 -> icu@12
425    IRQ12 -> icu@13
426    IRQ13 -> icu@14
427    IRQ14 -> icu@15
428    IRQ15 -> icu@16
429
430// This is an 8-bit register. During initialization we sometimes require
431// this register to first be 0 and then non 0. Hence the use of flipflop.
432SYSC_SCICKCR: Python.PythonPeripheral @ sysbus 0x4001e055
433    size: 0x1
434    initable: true
435    filename: "scripts/pydev/flipflop.py"
436
437iic0: I2C.RenesasRA_IIC @ sysbus 0x4025e000
438    ReceiveIRQ -> icu@0x05C
439    TransmitIRQ -> icu@0x05D
440    TransmitEndIRQ -> icu@0x05E
441    ErrorOrEventIRQ -> icu@0x05F
442
443iic1: I2C.RenesasRA_IIC @ sysbus 0x4025e100
444    ReceiveIRQ -> icu@0x061
445    TransmitIRQ -> icu@0x062
446    TransmitEndIRQ -> icu@0x063
447    ErrorOrEventIRQ -> icu@0x064
448
449sysbus:
450    init:
451        Tag <0x40000000,0x40000e43> "RMPU" // Renesas Memory Protection Unit
452        Tag <0x40002000,0x40002157> "SRAM" // SRAM Control
453        Tag <0x40003000,0x40004c03> "BUS" // BUS Control
454        Tag <0x40004000,0x40004017> "TZF" // TrustZone Filter
455        Tag <0x40006000,0x40006097> "ICU_COMMON" // Common Interrupt Controller
456        Tag <0x40008000,0x40008d03> "CPSCU" // CPU System Security Control Unit
457        Tag <0x4000a000,0x4000a037> "DMAC0" // Direct memory access controller 0
458        Tag <0x4000a800,0x4000a8b3> "DMA" // DMAC Module Activation
459        Tag <0x4000ac00,0x4000ac27> "DTC" // Data Transfer Controller
460        Tag <0x40011000,0x40011307> "CPU_OCD" // On-Chip Debug
461        Tag <0x4001b000,0x4001b317> "CPU_DBG" // Debug Function
462        Tag <0x4001c100,0x4001c143> "FCACHE" // Flash Cache
463        Tag <0x4001e000,0x4001ee2b> "SYSC" // System Control
464        Tag <0x4001e03c,0x4001e03d> "OSCSF" 0x69 // Oscillation Stabilization Flag Register
465        Tag <0x4011b17c,0x4011b183> "TSD" // Temperature Sensor Data
466        Tag <0x4011c000,0x4011c043> "FLAD" // Data Flash
467        Tag <0x4011e000,0x4011e817> "FACI" // Flash Application Command Interface
468        Tag <0x40201000,0x402010fb> "ELC" // Event Link Controller
469        Tag <0x40202000,0x402020ab> "RTC" // Realtime Clock
470        Tag <0x40202200,0x4020220f> "IWDT" // Independent Watchdog Timer
471        Tag <0x40202400,0x4020240f> "CAC" // Clock Frequency Accuracy Measurement Circuit
472        Tag <0x40202600,0x4020260f> "WDT" // Watchdog Timer
473        Tag <0x40203000,0x40203023> "MSTP" // Module Stop Control A,B,C,D,E
474        Tag <0x40204000,0x40204063> "PSCU" // Peripheral Security Control Unit
475        Tag <0x40212000,0x40213027> "POEG" // Port Output Enable Module for GPT
476        Tag <0x40220000,0x4022001b> "ULPT0" // Ultra-Low Power Timer 0
477        Tag <0x40235000,0x40235007> "TSN" // Temperature Sensor
478        Tag <0x40236000,0x40236047> "ACMPHS0" // High-Speed Analog Comparator 0
479        Tag <0x40250000,0x40250527> "USBFS" // USB 2.0 FS Module
480        Tag <0x40252000,0x40252213> "SDHI0" // SD Host Interface 0
481        Tag <0x4025d000,0x4025d037> "SSIE0" // Serial Sound Interface Enhanced (SSIE)
482        Tag <0x40268000,0x4026823b> "xSPI" // eXpanded SPI
483        Tag <0x40310000,0x4031000f> "CRC" // CRC Calculator
484        Tag <0x40311000,0x4031101b> "DOC" // Data Operation Circuit-4
485        Tag <0x40332000,0x403321e3> "ADC120" // 12bit A/D Converter 0
486        Tag <0x40332200,0x403323e3> "ADC121" // 12bit A/D Converter 1
487        Tag <0x40333000,0x403340c7> "DAC12" // 12-bit D/A converter
488        Tag <0x40342000,0x40343FFF> "GLCDC" // Graphics LCD Controller
489        Tag <0x40344000,0x403440fb> "DRW" // 2D Drawing Engine
490        Tag <0x40346000,0x403469f3> "DSILINK" // DSI Link
491        Tag <0x40346c00,0x40346d47> "DPHYCNT" // D-PHY Controller Top
492        Tag <0x40348000,0x4034a0a7> "CEU" // Capture Engine Unit
493        Tag <0x40351000,0x40351173> "USBHS" // USB 2.0 High-Speed Module
494        Tag <0x40354000,0x403540df> "EDMAC0" // DMA Controller for the Ethernet Controller Channel 0
495        Tag <0x40354100,0x40355983> "ETHERC0" // Ethernet Controller Channel 0
496        Tag <0x4035c000,0x4035c073> "SPI0" // Serial Peripheral Interface 0
497        Tag <0x4035f000,0x4035f403> "I3C" // I2C I3C unified IP
498        Tag <0x4036f200,0x4036f217> "ECCMB0" // Error correction circuit for MBRAM0
499        Tag <0x40380000,0x40381b4b> "CANFD0" // CANFD Module 0
500        Tag <0x40400800,0x40400e37> "PFS" // Pmn Pin Function Control Register
501