1rom: Memory.MappedMemory @ sysbus 0x00000000
2    size: 0x0000b000
3
4sram: Memory.MappedMemory @ sysbus 0x01000000
5    size: 0x00002000
6
7main_ram: Memory.MappedMemory @ sysbus 0x40000000
8    size: 0x10000000
9
10uart: UART.LiteX_UART @ sysbus 0x82002000
11    -> cpu@0
12
13eth: Network.LiteX_Ethernet_CSR32 @ {
14        sysbus 0x82004800;
15
16        sysbus new Bus.BusMultiRegistration { address: 0x80000000; size: 0x2000; region: "buffer" };
17
18        sysbus new Bus.BusMultiRegistration { address: 0x82004000; size: 0x800; region: "phy" }
19    }
20    -> cpu@2
21
22phy: Network.EthernetPhysicalLayer @ eth 0
23    VendorSpecific1: 0x4400 // MDIO status: 100Mbps + link up
24
25spi: SPI.LiteX_SPI_Flash @ {
26    sysbus 0x60005000;
27    sysbus 0xe0005000
28}
29
30flash: SPI.Micron_MT25Q @ spi
31    underlyingMemory: flash_mem
32
33flash_mem: Memory.MappedMemory @ {
34        sysbus 0x20000000;
35        sysbus 0xA0000000 // shadow
36    }
37    size: 0x02000000
38
39cpu: CPU.VexRiscv @ sysbus
40    cpuType: "rv32imac_zicsr"
41    privilegedArchitecture: PrivilegedArchitecture.Priv1_10
42
43timer0: Timers.LiteX_Timer_CSR32 @ sysbus 0x82002800
44    frequency: 100000000
45    -> cpu@1
46
47cas: GPIOPort.LiteX_ControlAndStatus @ {
48        sysbus 0x60006800;
49        sysbus 0xe0006800 // shadow
50    }
51
52    0 -> led0@0
53    1 -> led1@0
54    2 -> led2@0
55    3 -> led3@0
56
57// leds are in range 0-31
58led0: Miscellaneous.LED @ cas 0
59led1: Miscellaneous.LED @ cas 1
60led2: Miscellaneous.LED @ cas 2
61led3: Miscellaneous.LED @ cas 3
62
63// switches are in range 32-63
64switch0: Miscellaneous.Button @ cas 32
65    -> cas@32
66switch1: Miscellaneous.Button @ cas 33
67    -> cas@33
68switch2: Miscellaneous.Button @ cas 34
69    -> cas@34
70switch3: Miscellaneous.Button @ cas 35
71    -> cas@35
72
73// buttons are in range 64-95
74button0: Miscellaneous.Button @ cas 64
75    -> cas@64
76button1: Miscellaneous.Button @ cas 65
77    -> cas@65
78button2: Miscellaneous.Button @ cas 66
79    -> cas@66
80button3: Miscellaneous.Button @ cas 67
81    -> cas@67
82
83sysbus:
84    init:
85        Tag <0x82000000 0x1000> "CSR_CTRL_BASE"
86        Tag <0x82001000 0x0800> "CSR_IDENTIFIER_MEM_BASE"
87        Tag <0x82001800 0x0200> "CSR_UART_PHY_BASE"
88        Tag <0x82002000 0x0800> "CSR_UART_BASE"
89        Tag <0x82002800 0x0200> "CSR_TIMER0_BASE"
90        Tag <0x82003000 0x0800> "CSR_DDRPHY_BASE"
91        Tag <0x82003800 0x0800> "CSR_SDRAM_BASE"
92        Tag <0x82004000 0x0800> "CSR_ETHPHY_BASE"
93        Tag <0x82004800 0x0800> "CSR_ETHMAC_BASE"
94        Tag <0x82005000 0x0100> "CSR_LEDS_BASE"
95