1rom: Memory.MappedMemory @ sysbus 0x0
2    size: 0x10000
3
4sram: Memory.MappedMemory @ sysbus 0x10000000
5    size: 0x2000
6
7main_ram: Memory.MappedMemory @ sysbus 0x40000000
8    size: 0x20000000
9
10clint: IRQControllers.CoreLevelInterruptor @ sysbus 0xf0010000
11    frequency: 100000000
12    [0, 1] -> cpu@[101, 100]
13
14plic: IRQControllers.PlatformLevelInterruptController @ sysbus 0xf0c00000
15    [0, 1] -> cpu@[11, 9]
16    numberOfSources: 31
17    numberOfContexts: 2
18    prioritiesEnabled: false
19
20cpu: CPU.VexRiscv @ sysbus
21    cpuType: "rv32ima_zicsr_zifencei"
22    privilegedArchitecture: PrivilegedArchitecture.Priv1_10
23
24    timeProvider: clint
25
26ctrl: Miscellaneous.LiteX_SoC_Controller_CSR32 @ { sysbus 0xf0000000 }
27
28sysbus:
29    init add:
30        SilenceRange <0xf0000800 0x200> # ddrphy
31
32uart: UART.LiteX_UART @ { sysbus 0xf0001000 }
33    -> cpu@0
34
35timer0: Timers.LiteX_Timer_CSR32 @ { sysbus 0xf0001800 }
36    -> cpu@1
37    frequency: 100000000
38
39mmc_controller: SD.LiteSDCard_CSR32 @ {
40    sysbus 0xf0005000; // phy
41    sysbus new Bus.BusMultiRegistration { address: 0xf0003800; size: 0x100; region: "core" };
42    sysbus new Bus.BusMultiRegistration { address: 0xf0003000; size: 0x100; region: "reader" };
43    sysbus new Bus.BusMultiRegistration { address: 0xf0004800; size: 0x100; region: "writer" }
44}
45
46sysbus:
47    init add:
48        SilenceRange <0xf0005800 0x200> # sdram
49
50litex_video: Video.LiteX_Framebuffer_CSR32 @ {
51    sysbus new Bus.BusMultiRegistration { address: 0xf0006000; size: 0xc; region: "dma" };
52    sysbus new Bus.BusMultiRegistration { address: 0xf0006800; size: 0x24; region: "vtg" }
53}
54    format: PixelFormat.XBGR8888
55    memory: main_ram
56    offset: 0x00c00000
57    hres: 800
58    vres: 600
59