fsmcBank1: Memory.MappedMemory @ sysbus 0xC0000000
    size: 0x10000000

sram: Memory.MappedMemory @ sysbus 0x20000000
    size: 0x60000

flash: Memory.MappedMemory @ sysbus 0x08000000
    size: 0x200000

usart1: UART.STM32F7_USART @ sysbus 0x40011000
    frequency: 200000000
    IRQ -> nvic@37

usart2: UART.STM32F7_USART @ sysbus 0x40004400
    frequency: 200000000
    IRQ -> nvic@38

usart3: UART.STM32F7_USART @ sysbus 0x40004800
    frequency: 200000000
    IRQ -> nvic@39

usart6: UART.STM32F7_USART @ sysbus 0x40011400
    frequency: 200000000
    IRQ -> nvic@71

can1: CAN.STMCAN @ sysbus <0x40006400, +0x400>
    [0-3] -> nvic@[19-22]

nvic: IRQControllers.NVIC @ sysbus 0xE000E000
    priorityMask: 0xF0
    systickFrequency: 216000000
    IRQ -> cpu@0

cpu: CPU.CortexM @ sysbus
    cpuType: "cortex-m7"
    PerformanceInMips: 462
    nvic: nvic

exti: IRQControllers.STM32F4_EXTI @ sysbus 0x40013C00
    numberOfOutputLines: 24
    [0-4] -> nvic@[6-10]
    [5-9] -> nvicInput23@[0-4]
    [10-15] -> nvicInput40@[0-5]

nvicInput23: Miscellaneous.CombinedInput @ none
    numberOfInputs: 5
    -> nvic@23

nvicInput40: Miscellaneous.CombinedInput @ none
    numberOfInputs: 6
    -> nvic@40

gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x40020000, +0x400>
    modeResetValue: 0xA8000000
    pullUpPullDownResetValue: 0x64000000
    numberOfAFs: 16
    [0-15] -> syscfg#0@[0-15]

gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x40020400, +0x400>
    modeResetValue: 0x00000280
    outputSpeedResetValue: 0x000000C0
    pullUpPullDownResetValue: 0x00000100
    numberOfAFs: 16
    [0-15] -> syscfg#1@[0-15]

gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x40020800, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#2@[0-15]

gpioPortD: GPIOPort.STM32_GPIOPort @ sysbus <0x40020C00, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#3@[0-15]

gpioPortE: GPIOPort.STM32_GPIOPort @ sysbus <0x40021000, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#4@[0-15]

gpioPortF: GPIOPort.STM32_GPIOPort @ sysbus <0x40021400, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#5@[0-15]

gpioPortG: GPIOPort.STM32_GPIOPort @ sysbus <0x40021800, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#6@[0-15]

gpioPortH: GPIOPort.STM32_GPIOPort @ sysbus <0x40021C00, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#7@[0-15]

gpioPortI: GPIOPort.STM32_GPIOPort @ sysbus <0x40022000, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#8@[0-15]

gpioPortJ: GPIOPort.STM32_GPIOPort @ sysbus <0x40022400, +0x400>
    numberOfAFs: 16
    [0-15] -> syscfg#9@[0-15]

gpioPortK: GPIOPort.STM32_GPIOPort @ sysbus <0x40022800, +0x400>
    numberOfAFs: 16
    [0-7] -> syscfg#10@[0-7]

ethernet: Network.SynopsysEthernetMAC @ sysbus 0x40028000
    -> nvic@61

rom: Memory.MappedMemory @ sysbus 0x1FFF0000
    size: 0x10000

spi1: SPI.STM32SPI @ sysbus 0x40013000
    IRQ -> nvic@35

spi2: SPI.STM32SPI @ sysbus 0x40003800
    IRQ -> nvic@36

spi3: SPI.STM32SPI @ sysbus 0x40003C00
    IRQ -> nvic@51

dma1: DMA.STM32DMA @ sysbus 0x40026000
    [0-7] -> nvic@[11-17,47]

dma2: DMA.STM32DMA @ sysbus 0x40026400
    [0-7] -> nvic@[56-60,68-70]

ltdc: Video.STM32LTDC @ sysbus 0x40016800
    -> nvic@88

dma2d: DMA.STM32DMA2D @ sysbus 0x4002B000
    -> nvic@90

i2c1: I2C.STM32F7_I2C @ sysbus 0x40005400
    EventInterrupt -> nvic@31
    ErrorInterrupt -> nvic@32

i2c2: I2C.STM32F7_I2C @ sysbus 0x40005800
    EventInterrupt -> nvic@33
    ErrorInterrupt -> nvic@34

i2c3: I2C.STM32F7_I2C @ sysbus 0x40005C00
    EventInterrupt -> nvic@72
    ErrorInterrupt -> nvic@73

i2c4: I2C.STM32F7_I2C @ sysbus 0x40006000
    EventInterrupt -> nvic@95
    ErrorInterrupt -> nvic@96

syscfg: Miscellaneous.STM32_SYSCFG @ sysbus 0x40013800
    [0-15] -> exti@[0-15]

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

rtc: Timers.STM32F4_RTC @ sysbus 0x40002800
    AlarmIRQ -> nvic@41

rcc: Miscellaneous.STM32F4_RCC @ sysbus 0x40023800
    rtcPeripheral: rtc

rng: Miscellaneous.STM32F4_RNG @ sysbus 0x50060800
    -> nvic@80

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

pwrCsr1: Python.PythonPeripheral @ sysbus 0x40007004
    size: 0x4
    initable: true
    filename: "scripts/pydev/flipflop.py"
                                   
sdmmc: SD.STM32SDMMC @ sysbus 0x40012c00
    IRQ -> nvic@49
    DMAReceive -> dma2@3

flash_regs: Memory.MappedMemory @ sysbus 0x40023C00
    size: 0x400

timer5: Python.PythonPeripheral @ sysbus 0x40000C24
    size: 0x4
    initable: true
    filename: "scripts/pydev/ticker.py"

timer6: Timers.STM32_Timer @ sysbus 0x40001000
    -> nvic@54
    frequency: 10000000
    initialLimit: 0xFFFF

sysbus:
    init:
        Tag <0xE0001000, 0xE0001FFF> "M4_DWT" 
        ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32F7x6.svd.gz
