1//
2// This platform is based on LiteX headers
3// shipped together with Foboot: the Bootloader for Fomu
4// https://github.com/im-tomu/foboot/tree/637bbf10fa9a0b7f52cbd459d80c8c7532d56a18/sw/include/generated
5//
6
7rom: Memory.MappedMemory @ {
8        sysbus 0x00000000;
9        sysbus 0x80000000 // shadow
10    }
11    size: 0x00002000
12
13sram: Memory.MappedMemory @ {
14        sysbus 0x10000000;
15        sysbus 0x90000000 // shadow
16    }
17    size: 0x00020000
18
19my_fake_memory: Memory.MappedMemory @ {
20        sysbus 0xf0000000
21    }
22    size: 0x00020000
23
24vexriscv_debug: Memory.MappedMemory @ {
25        sysbus 0x700f0000;
26        sysbus 0xf00f0000 // shadow
27    }
28    // according to the header this memory has a size of 0x10,
29    // but it's currently not possible to allocate such a small memory in Renode
30    size: 0x00001000
31
32cpu: CPU.VexRiscv @ sysbus
33    cpuType: "rv32im_zicsr_zifencei"
34
35timer0: Timers.LiteX_Timer @ {
36        sysbus 0x60002800;
37        sysbus 0xE0002800 // shadow
38    }
39    frequency: 12000000
40    -> cpu@0
41
42valenty: USB.ValentyUSB @ {
43        sysbus 0x60004800;
44        sysbus 0xe0004800 // shadow
45    }
46    -> cpu@3
47
48spi: SPI.PicoRV_SPI @ {
49    sysbus 0x60005000;
50    sysbus 0xe0005000 // shadow
51}
52
53flash: SPI.Micron_MT25Q @ spi
54    underlyingMemory: flash_mem
55
56flash_mem: Memory.MappedMemory @ {
57        sysbus 0x20000000;
58        sysbus 0xA0000000 // shadow
59    }
60    size: 0x4000000
61
62sysbus:
63    init:
64        Tag <0xe0000000 0x800> "CTRL"
65        Tag <0xe0005800 0x800> "TOUCH"
66        Tag <0xE0006000 0x800> "REBOOT"
67        Tag <0xE0006800 0x800> "RGB"
68        Tag <0xE0007000 0x800> "VERSION"
69