1uart0: UART.ImxUart @ sysbus 0x40027000
2    IRQ -> mscm@53
3
4uart1: UART.ImxUart @ sysbus 0x40028000
5    IRQ -> mscm@54
6
7uart2: UART.ImxUart @ sysbus 0x40029000
8    IRQ -> mscm@55
9
10eDma0: DMA.VybridDma @ sysbus <0x40018000, +0x2000> { -> mscm@0 }
11eDma1: DMA.VybridDma @ sysbus <0x40098000, +0x2000> { -> mscm@2 }
12fb: Video.VybridDCU @ sysbus <0x40058000, +0x2000>
13
14usbEhci0: USBDeprecated.EHCIHostController @ sysbus <0x40034000, +0x2000>
15    IRQ -> mscm@67
16
17usbEhci1: USBDeprecated.EHCIHostController @ sysbus <0x400B4000, +0x2000>
18    IRQ -> mscm@68
19
20i2c0: I2C.VybridI2C @ sysbus 0x40066000 { -> mscm@63 }
21i2c1: I2C.VybridI2C @ sysbus 0x40067000
22timers: Timers.PeriodicInterruptTimer @ sysbus <0x40037000, +0x1000> { -> mscm@31 }
23
24bootRom: Memory.MappedMemory @ sysbus 0
25    size: 0x80000
26
27ocRam: Memory.MappedMemory @ { sysbus 0x3F000000; sysbus 0x1F000000 }
28    size: 0x80000
29
30tcml: Memory.MappedMemory @ sysbus 0x1F800000
31    size: 0x8000
32
33tcmu: Memory.MappedMemory @ sysbus 0x3F800000
34    size: 0x8000
35
36memory: Memory.MappedMemory @ sysbus 0x80000000
37    size: 0x10000000
38
39gic: IRQControllers.ARM_GenericInterruptController @ {
40        sysbus new Bus.BusMultiRegistration { address: 0x40003000; size: 0x1000; region: "distributor" };
41        sysbus new Bus.BusMultiRegistration { address: 0x40002100; size: 0x100; region: "cpuInterface" }
42    }
43    0 -> cpuA5@0
44    supportsTwoSecurityStates: false
45    architectureVersion: IRQControllers.ARM_GenericInterruptControllerVersion.GICv1
46
47cpuA5: CPU.ARMv7A @ sysbus
48    cpuType: "cortex-a9"
49    genericInterruptController: gic
50
51nvic: IRQControllers.NVIC @ sysbus 0xE000E000
52    systickFrequency: 24000000
53    IRQ -> cpuM4@0
54
55cpuM4: CPU.CortexM @ sysbus
56    cpuType: "cortex-m4"
57    nvic: nvic
58    IsHalted: true
59
60gpio0: GPIOPort.NXPGPIOPort @ {
61        sysbus new Bus.BusMultiRegistration { address: 0x400FF000; size: 0x40; region: "gpio" };
62        sysbus new Bus.BusMultiRegistration { address: 0x40049000; size: 0xD0; region: "port" }
63    }
64    numberOfPins: 32
65    -> gic@0x6B
66
67gpio1: GPIOPort.NXPGPIOPort @ {
68    sysbus new Bus.BusMultiRegistration { address: 0x400FF040; size: 0x40; region: "gpio" };
69    sysbus new Bus.BusMultiRegistration { address: 0x4004A000; size: 0xD0; region: "port" }}
70    numberOfPins: 32
71
72gpio2: GPIOPort.NXPGPIOPort @ {
73    sysbus new Bus.BusMultiRegistration { address: 0x400FF080; size: 0x40; region: "gpio" };
74    sysbus new Bus.BusMultiRegistration { address: 0x4004B000; size: 0xD0; region: "port" }}
75    numberOfPins: 32
76
77gpio3: GPIOPort.NXPGPIOPort @ {
78    sysbus new Bus.BusMultiRegistration { address: 0x400FF0C0; size: 0x40; region: "gpio" };
79    sysbus new Bus.BusMultiRegistration { address: 0x4004C000; size: 0xD0; region: "port" }}
80    numberOfPins: 32
81
82gpio4: GPIOPort.NXPGPIOPort @ {
83    sysbus new Bus.BusMultiRegistration { address: 0x400FF100; size: 0x40; region: "gpio" };
84    sysbus new Bus.BusMultiRegistration { address: 0x4004D000; size: 0xD0; region: "port" }}
85    numberOfPins: 32
86
87mscm: IRQControllers.MSCM @ sysbus 0x40001000
88    [0-111, 224-227] -> gic@[8-119, 0-3]
89    [112-223, 228-231] -> nvic@[8-119, 0-3]
90
91globalTimer: Timers.ARM_GlobalTimer @ sysbus 0x40002200
92    0 -> gic#0@27
93    frequency: 528000000
94    irqController: gic
95
96sema4: Miscellaneous.SEMA4 @ sysbus 0x4001D000
97    CPU0 -> gic@4
98    CPU1 -> nvic@4
99
100nand: MTD.FSLNAND @ sysbus 0x400E0000 { -> mscm@75 }
101
102sysbus:
103    init:
104        // DDR settings (u-boot checks for ram size this way
105        // CR001
106        Tag <0x400AE004, 0x400AE007> "DDRMC_CR001" 0x00020B10
107        // CR073
108        Tag <0x400AE124, 0x400AE127> "DDRMC_CR073" 0x0a010300
109        // CR078
110        Tag <0x400AE138, 0x400AE13B> "DDRMC_CR078" 0x0000000c
111
112        Tag <0x40050080, 0x40050083> "ANADIG_PLL4_NUM" 0xFFFFFFFF
113        Tag <0x40050090, 0x40050093> "ANADIG_PLL4_DENOM" 0xFFFFFFFF
114
115        Tag <0x40050010, 0x40050013> "ANADIG_PLL3_CTRL" 0xFFFFFFFF
116        Tag <0x40050020, 0x40050023> "ANADIG_PLL7_CTRL" 0xFFFFFFFF
117        Tag <0x400500E0, 0x400500E3> "ANADIG_PLL5_CTRL" 0xFFFFFFFF
118        Tag <0x40050070, 0x40050073> "ANADIG_PLL4_CTRL" 0xFFFFFFFF
119        Tag <0x40044304, 0x40044307> "QuadSPI0_LCKCR" 0xFFFFFFFF
120        Tag <0x40050830, 0x40050833> "USBPHY0_CTRL" 0xFFFFFFFF
121