cpu0: CPU.ARMv7R @ sysbus
    cpuType: "cortex-r8"
    genericInterruptController: gic
    numberOfMPURegions: 24
    cpuId: 0
    signalsUnit: signalsUnit

signalsUnit: Miscellaneous.CortexR8SignalsUnit @ sysbus
    snoopControlUnit: scu

scu: Miscellaneous.ArmSnoopControlUnit @ sysbus 0xae000000

gic: IRQControllers.ARM_GenericInterruptController @ {
        sysbus new Bus.BusMultiRegistration { address: 0xae000100; size: 0x100; region: "cpuInterface" };
        sysbus new Bus.BusMultiRegistration { address: 0xae001000; size: 0x1000; region: "distributor" }
    }
    architectureVersion: .GICv1
    supportsTwoSecurityStates: false
    // GIC -> ARM CPU interrupt connections are generated automatically

privateTimer0: Timers.ARM_PrivateTimer @ {
        sysbus new Bus.BusPointRegistration { address: 0xae000600; cpu: cpu0 }
    }
    -> gic#0@29
    frequency: 667000000

mem: Memory.MappedMemory @ sysbus 0x0
    size: 0x8000000

uart1: UART.Cadence_UART @ sysbus 0xff010000
    -> gic@22

ttc0: Timers.Cadence_TTC @ sysbus 0xff110000
    [0-2] -> gic@[36-38]

