uart0: UART.NS16550 @ sysbus <0x70006000, +0x40>
    wideRegisters: true
    -> gic@36

uart1: UART.NS16550 @ sysbus <0x70006040, +040>
    wideRegisters: true
    -> gic@37

uart2: UART.NS16550 @ sysbus <0x70006200, +0x100>
    wideRegisters: true
    -> gic@46

uart3: UART.NS16550 @ sysbus <0x70006300, +0x100>
    wideRegisters: true
    -> gic@58

uart4: UART.NS16550 @ sysbus <0x70003400, +0x100>
    wideRegisters: true
    -> gic@59

dmaHost1xA: DMA.TegraDmaHost1X @ sysbus 0x50010000

dmaHost1xB: DMA.TegraDmaHost1X @ sysbus 0x50004000

memory: Memory.MappedMemory @ {
        sysbus 0;
        sysbus 0x80000000
    }
    size: 0x40000000

iRam: Memory.MappedMemory @ sysbus 0x40000000
    size: 0x100000

privateTimer: Timers.ARM_PrivateTimer @ sysbus 0x50040600
    -> gic#0@29
    frequency: 667000000

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

tmr1: Timers.TegraTimer @ sysbus 0x60005000
    -> gic@0

tmr2: Timers.TegraTimer @ sysbus 0x60005008
    -> gic@1

tmrUs: Timers.TegraUsecTimer @ sysbus 0x60005010

tmr3: Timers.TegraTimer @ sysbus 0x60005050
    -> gic@41

tmr4: Timers.TegraTimer @ sysbus 0x60005058
    -> gic@42

pl310: Cache.PL310 @ sysbus <0x50043000, +0x1000>

cpu: CPU.ARMv7A @ sysbus
    cpuType: "cortex-a9"
    genericInterruptController: gic

usbEhci1: USBDeprecated.EHCIHostController @ sysbus <0x7D000000, +0x1000>
    -> gic@20

usbEhci2: USBDeprecated.EHCIHostController @ sysbus <0x7D004000, +0x1000>
    -> gic@21

usbEhci3: USBDeprecated.EHCIHostController @ sysbus <0x7D008000, +0x1000>
    -> gic@23

apbDma: DMA.TegraDma @ sysbus 0x6000A000
    [0-15] -> gic@[104-119]

i2c1: I2C.TegraI2CController @ sysbus <0x7000C000, +0x100>
    -> gic@38

i2c2: I2C.TegraI2CController @ sysbus <0x7000C400, +0x100>
    -> gic@84

i2c3: I2C.TegraI2CController @ sysbus <0x7000C500, +0x100>
    -> gic@92

i2c4: I2C.TegraI2CController @ sysbus <0x7000C700, +0x100>
    -> gic@124

i2c5: I2C.TegraI2CController @ sysbus <0x7000D000, +0x100>
    -> gic@53

fb0: Video.TegraDisplay @ sysbus 0x54200000

fb1: Video.TegraDisplay @ sysbus 0x54240000

syncPts: Video.TegraSyncpts @ sysbus 0x50000000

nvPaPmcBase: Python.PythonPeripheral @ sysbus 0x7000E400
    size: 0x4
    initable: false
    script: "request.Value = 1"

pgUpTag0: Python.PythonPeripheral @ sysbus 0x60000000
    size: 0x4
    initable: true
    script: "request.Value = 0x55555555"

memoryControllerMemsize: Python.PythonPeripheral @ sysbus 0x7000F410
    size: 0x4
    initable: true
    script: "request.Value = 0x60000"

nandHack1: Python.PythonPeripheral @ sysbus 0x70008000
    size: 0x4
    initable: true
    script: "request.Value = 0x0"

nandHackNandStatus: Python.PythonPeripheral @ sysbus 0x70008004
    size: 0x4
    initable: true
    script: "request.Value = 0x1 | (1<<8)"

nandHackIsr: Python.PythonPeripheral @ sysbus 0x70008008
    size: 0x4
    initable: true
    script: "request.Value = 0xFFFFFFFF"

oscFreqDetStatus: Python.PythonPeripheral @ sysbus 0x6000605C
    size: 0x4
    initable: true
    script: "request.Value = 732"

pllC: Python.PythonPeripheral @ sysbus 0x60006080
    size: 0x4
    initable: true
    script: "request.Value = ((1<<30) | (50 << 8) | 0xEC)"

pllM: Python.PythonPeripheral @ sysbus 0x60006090
    size: 0x4
    initable: true
    script: "request.Value = ((1<<30) | (300 << 8) | 0xEC)"

pllP: Python.PythonPeripheral @ sysbus 0x600060A0
    size: 0x4
    initable: true
    script: "request.Value = ((1<<28) | (408 << 8) | 0xEC)"

superclock1: Python.PythonPeripheral @ sysbus 0x60006368
    size: 0x4
    initable: true
    script: "request.Value = 0x20000000"

superclock2: Python.PythonPeripheral @ sysbus 0x60006370
    size: 0x4
    initable: true
    script: "request.Value = 0x20000000"

sdmmc3: Python.PythonPeripheral @ sysbus 0x600061BC
    size: 0x4
    initable: true
    script: "request.Value = 0x4"

clkSrc: Python.PythonPeripheral @ sysbus 0x60006104
    size: 0x20
    initable: true
    script: "request.Value = (1<<30)"

clkSrcA: Python.PythonPeripheral @ sysbus 0x60006124
    size: 0x4
    initable: true
    script: "request.Value = (0<<30) | (100<<8)"

clkSrc_: Python.PythonPeripheral @ sysbus 0x60006128
    size: 0x6c
    initable: true
    script: "request.Value = (0<<30) | 8"

pllSomething2: Python.PythonPeripheral @ sysbus 0x600060D0
    size: 0x4
    initable: true
    script: "request.Value = 0x8000000"

pllSomething3: Python.PythonPeripheral @ sysbus 0x600060DC
    size: 0x4
    initable: true
    script: "request.Value = 0x8000000"

pllSomething: Python.PythonPeripheral @ sysbus 0x60006004
    size: 0x4
    initable: true
    script: "request.Value = 0x8000000"

test111: Python.PythonPeripheral @ sysbus 0x7000F204
    size: 0x4
    initable: true
    script: "request.Value=0xFFFFFFFF"

apbMiscGpHidrev0: Python.PythonPeripheral @ sysbus 0x70000804
    size: 0x4
    initable: true
    script: "request.Value = 0x12300003 | (0x1 << 4) | (0x3 << 16) | (0x30 << 8)"

clockHack: Python.PythonPeripheral @ sysbus 0x60006020
    size: 0x4
    initable: true
    script: "request.Value = 0x20000000"

clkRstControllerSclkBurstpolicy0: Python.PythonPeripheral @ sysbus 0x60006028
    size: 0x4
    initable: true
    script: "request.Value = 0x20000000"

kfuseHack: Python.PythonPeripheral @ sysbus 0x7000F800
    size: 0x4
    initable: true
    script: "request.Value = (0x4 << 16)"

kfuseHack2: Python.PythonPeripheral @ sysbus 0x7000F9FC
    size: 0x4
    initable: true
    script: "request.Value = (0x1)"

kfuseSkuInfo: Python.PythonPeripheral @ sysbus 0x7000F910
    size: 0x4
    initable: true
    script: "request.Value = (0x81)"

kfuseTestProgRevision: Python.PythonPeripheral @ sysbus 0x7000F928
    size: 0x4
    initable: true
    script: "request.Value = 36"

fuseSpeedoCalib: Python.PythonPeripheral @ sysbus 0x7000F914
    size: 0x4
    initable: true
    script: "request.Value = 0x01000100"

pwrGateStatus: Python.PythonPeripheral @ sysbus 0x7000E438
    size: 0x4
    initable: true
    filename: "scripts/pydev/flipflop.py"

miscDebug: Python.PythonPeripheral @ sysbus 0x70000014
    size: 0x4
    initable: true
    script: "request.Value = 0xFFFFFFFF"

tegraId: Python.PythonPeripheral @ sysbus 0x70000860
    size: 0x4
    initable: true
    script: "request.Value = 0xFFFFFFFF"

sysbus:
    init:
        SilenceRange <0x6000411C, 0x6000411F>
        SilenceRange <0x6000401C, 0x6000401F>
        SilenceRange <0x60004124, 0x6000412B>
        SilenceRange <0x7C000012, 0x7C000015>
        SilenceRange <0x7000F9F4, 0x7000F9F7>
        Tag <0x60004000,0x60004FFF> "TEGRA_PRIMARY_ICTLR_BASE"
        Tag <0x60006000,0x60006FFF> "CLOCK_AND_RESET"
        Tag <0x6000D000,0x6000DFFF> "tegra-gpio"
        Tag <0x7000F000,0x7000F3FF> "memory-controller"
        Tag <0x70000000,0x70000FFF> "MISC"
        Tag <0x6000C000,0x6000CFFF> "CACHE_CTLR"
        Tag <0x7000E000,0x7000E0FF> "RTC"
        Tag <0x50000000,0x50023FFF> "NVRM_GRAPHICS_HOST"
        Tag <0x7000E400,0x7000E4FF> "PMC"
        Tag <0x7000F800,0x7000FBFF> "KFUSE"
        Tag <0x6000F000,0x6000FFFF> "Exception_vectors"
        Tag <0x50040000,0x50041FFF> "ARM_PERIPHBASE"
        Tag <0x54280000,0x5428FFFF> "HDMI"
        Tag <0x54080000,0x5408FFFF> "VI_CSI"

