Derived capabilities and integration matrix

tools/maintenance/capabilities.py derives this table by reading maintained soc.json, routes.json and reference-Board board.json, then running the production resolver/binding emitter on software assemblies. The table is not another configuration input. Capability changes start with original facts, implementation and regressions, then --write refreshes derived prose and --check rejects stale content.

  • Mode is a bounded SoC-declared mode; a mode without routes does not authorize connections.

  • Reviewed SoC routes describe maintained chip routes, not PCB continuity/electrical qualification.

  • Declared reference Boards means the Board has a binding, not that the default assembly enables it or physical acceptance passed.

  • Resolver fixtures are TOML software fixtures actually accepted by the current resolver.

  • Selected production source reads full ops identifiers from actual generated faces and matches initialized exported definitions in production C; comments, strings, declarations and similar prefixes are not definitions. This is bounded source-consistency evidence, not compilation/execution/physical measurement. Blank columns explicitly lack such evidence.

Rows marked native (MODEL; physical=false) project only Native software models actually selected and generated by the current resolver. They establish no physical peripheral counts, pins, IRQs, Board routes or board capability; their route and Board columns are therefore empty. Unselected host-model inventory is omitted.

The table inherits no old-candidate qualification for new HEAD and infers no physical results. The three actual Boards are disconnected; HIL remains not_executed. Exact mode limits/ownership are in support scope.

python tools/maintenance/capabilities.py --check
python tools/maintenance/capabilities.py --write

Query an exact selection and its validation stages

The global table helps find existing routes; product suitability requires an exact assembly. Run this read-only query from a fixed source or SDK root and select your own TOML. Successful execution prints JSON without updating the matrix below:

python tools/maintenance/capabilities.py --assembly tools/configure/assemblies/qiming-baremetal-uart-dma.toml

The report preserves the Board, full part, package, backend, clock, CPU, IRQ, physical PCB revision, memory domains, resource owners and input hashes. Controllers and endpoints each carry their selected public contracts. Additional public faces are listed separately in companion_interfaces, not represented as endpoints. DMA and pins come from this resolution, not another route in the family. This example selects finite USART1 dma-tx on F407ZG; it does not extend support to every F407 peripheral or UART mode.

validation separates the stages below. By default, the query only runs the production resolver and contract projection; it neither searches old reports nor compiles, tests, flashes or measures. Thus not_assessed means this query did not assess that stage, not that the implementation failed or was never executed historically.

Stage

Value in this query

Evidence required for acceptance

configuration

validated

The complete current input passes the resolver; this establishes no execution qualification

host_models

not_assessed

Actual test reports for the corresponding source and model scope

arm_image

not_assessed

Exact configuration, compiler, ELF, link and resource reports

installed_sdk

not_assessed

Independent public-interface consumption of a fixed SDK

software_candidate

not_assessed

Clean source, complete plan, two offline builds and sealed artifacts

physical_hil

not_assessed for MCU; not_applicable for Native

Actual station, Board, image, observations and admission results

Match configuration_sha256 and input_identities with the source, configuration and tool identities in actual execution evidence. After source, mode or Board changes, do not inherit another record’s passed value. physical_qualified remains false; successful resolution does not verify unknown PCB facts. Find existing records through the software-evidence entry; each record applies to its immutable source and actual scope. Configuration, software and physical stages are separate evidence, not one automatically promoted support level.

To map a Platform diagnostic controller index back to the assembly, use named ordinals and optional read-only labels. This entry reuses existing capability objects; an ordinal is not a typed factory ID, and a label proves neither readiness nor ownership. It changes neither the acceptance stages of this page’s JSON query nor the derived support matrix with runtime state.

Explicitly associate a sealed candidate

To inspect existing execution evidence, append the original candidate path to the same query:

python tools/maintenance/capabilities.py --assembly tools/configure/assemblies/qiming-baremetal-uart-dma.toml --candidate /path/to/sealed/candidate.json

The tool invokes the original candidate verifier to check all payloads, qualifications and linked artifacts, without running new tests. The report keeps both current_source and evidence.reference.source; the referenced source does not replace the current checkout. evidence.relation becomes exact_source_and_configuration only when clean commit/tree/submodules and the complete exact resolved configuration match; only then are the original candidate’s four software stages projected as passed. This is a read-only association with original execution, not a new execution.

A valid candidate from another source is marked historical_source; a different configuration is marked configuration_mismatch. Both retain not_assessed for the current selection. Missing, modified or invalid original evidence rejects the query rather than downgrading to a verified reference. Without --candidate, no Git or evidence observation is needed. Restore a portable candidate’s original closure using the existing artifact tools before providing its candidate.json; a package digest or download location alone cannot establish a passing state.

No software candidate changes physical_hil, physical_qualified=false, or family/mode rows in the aggregate table below. Hardware status still requires an actual station and observations of the same image; one passing exact configuration does not imply all Boards, backends, clocks or modes passed.

SoC

Controller

Kind

Mode

Reviewed SoC routes

Declared reference Boards

Resolver fixtures

Selected production source

gd32f303

ADC0

adc

single-shot

adc-pa0

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-devices-freertos.toml, tests/contracts/mainstream_assembly/gd303-devices.toml

drivers/adc/legacy_adc/legacy_adc.c

gd32f303

EXTI0

exti

edge-event

exti0-pa0

gd32f303-rct6-reference

tests/contracts/declared_io_assembly/gd303.toml

soc/gd32/gd32f303/drivers/exti.c

gd32f303

EXTI1

exti

edge-event

exti1-pa1

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-devices-freertos.toml, tests/contracts/mainstream_assembly/gd303-devices.toml

soc/gd32/gd32f303/drivers/exti.c

gd32f303

FMC

flash

poll-word

flash-internal

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-devices-freertos.toml, tests/contracts/mainstream_assembly/gd303-devices.toml

drivers/flash/legacy_flash/legacy_flash.c

gd32f303

FWDGT

watchdog

independent

fwdgt-internal

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-spi-watchdog-freertos.toml, tests/contracts/mainstream_assembly/gd303-spi-watchdog.toml, tools/configure/assemblies/gd32-f303-baremetal-spi-watchdog.toml, tools/configure/assemblies/gd32-f303-freertos-spi-watchdog.toml

soc/gd32/gd32f303/drivers/watchdog.c

gd32f303

GPIOA

gpio

input

gpio-pa4, gpio-pa5

gd32f303-rct6-reference

tests/contracts/declared_io_assembly/gd303.toml

soc/gd32/gd32f303/drivers/gpio.c

gd32f303

GPIOA

gpio

output

gpio-pa4, gpio-pa5

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-io-freertos.toml, tests/contracts/mainstream_assembly/gd303-io.toml, tools/configure/assemblies/gd32-f303-baremetal-io.toml, tools/configure/assemblies/gd32-f303-freertos-io.toml

soc/gd32/gd32f303/drivers/gpio.c

gd32f303

I2C0

i2c

irq-messages

i2c0-pb6-pb7

gd32f303-rct6-reference

tests/contracts/legacy_transport_assembly/gd32f303-baremetal-i2c.toml, tests/contracts/legacy_transport_assembly/gd32f303-freertos-i2c.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

gd32f303

SPI0

spi

short-poll

spi0-pa5-pa6-pa7

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-spi-watchdog-freertos.toml, tests/contracts/mainstream_assembly/gd303-spi-watchdog.toml, tools/configure/assemblies/gd32-f303-baremetal-spi-watchdog.toml, tools/configure/assemblies/gd32-f303-freertos-spi-watchdog.toml

soc/gd32/gd32f303/drivers/spi.c

gd32f303

TIMER2

pwm

fixed-pwm

pwm-pa6

gd32f303-rct6-reference

tests/contracts/mainstream_assembly/gd303-devices-freertos.toml, tests/contracts/mainstream_assembly/gd303-devices.toml

drivers/timer/legacy_pwm/legacy_pwm.c

gd32f303

USART0

uart

dma-duplex

usart0-pa9-pa10

gd32f303-rct6-reference

tests/contracts/legacy_transport_assembly/gd32f303-baremetal-dma-duplex.toml, tests/contracts/legacy_transport_assembly/gd32f303-freertos-dma-duplex.toml

drivers/uart/uart_v1_channel_dma/uart_v1_channel_dma.c

gd32f303

USART0

uart

dma-tx

usart0-pa9-pa10

gd32f303-rct6-reference

tests/contracts/legacy_transport_assembly/gd32f303-baremetal-dma-tx.toml, tests/contracts/legacy_transport_assembly/gd32f303-freertos-dma-tx.toml

drivers/uart/uart_v1_channel_dma/uart_v1_channel_dma.c

gd32f303

USART0

uart

irq-bytes

usart0-pa9-pa10

gd32f303-rct6-reference

tests/contracts/legacy_transport_assembly/gd32f303-baremetal-irq-bytes.toml, tests/contracts/legacy_transport_assembly/gd32f303-freertos-irq-bytes.toml, tests/contracts/mainstream_assembly/gd303-io-freertos.toml, tests/contracts/mainstream_assembly/gd303-io.toml, tools/configure/assemblies/gd32-f303-baremetal-io.toml, tools/configure/assemblies/gd32-f303-freertos-io.toml

soc/gd32/gd32f303/drivers/uart.c

gd32f470

ADC0

adc

low-rate-scan

adc0-pa0-pa1

—

tests/contracts/gd32_assembly/adc-scan.toml

soc/gd32/gd32f470/drivers/adc.c

gd32f470

ADC0

adc

single-shot

adc0-pa0

—

tests/contracts/gd32_assembly/adc.toml

soc/gd32/gd32f470/drivers/adc.c

gd32f470

ADC0

adc

trigger-dma

adc0-pa0, adc0-pa0-pa1

—

tests/contracts/gd32_assembly/blocks.toml

soc/gd32/gd32f470/drivers/adc_stream.c

gd32f470

ADC0

adc

trigger-dma-continuous

adc0-pa0, adc0-pa0-pa1

—

tests/contracts/gd32_assembly/adc-continuous.toml, tests/contracts/io_evolution_assembly/gd470-adc-stream-profile.toml

soc/gd32/gd32f470/drivers/adc_continuous.c

gd32f470

CAN0

can

classic-irq

can0-pa11-pa12

—

tests/contracts/can_assembly/gd32-both.toml, tests/contracts/can_assembly/gd32-first.toml

io/src/controllers/can_controller.c

gd32f470

CAN1

can

classic-irq

can1-pb12-pb13

—

tests/contracts/can_assembly/gd32-both.toml

io/src/controllers/can_controller.c

gd32f470

ENET

eth

raw-rmii

rmii-a-c-g

—

tests/contracts/ethernet_assembly/gd32-freertos.toml, tests/contracts/ethernet_assembly/gd32.toml

io/src/controllers/eth_mac.c

gd32f470

ENET

eth_frames

rmii-vlan-sg-ptp

rmii-frames-a-c-g

—

cmake/package/verification/io_evolution/gd470-eth-frames.toml

io/src/controllers/eth_frames_mac.c

gd32f470

EXTI3

exti

edge-event

exti3-pe3

—

tests/contracts/gd32_assembly/exti.toml

soc/gd32/gd32f470/drivers/exti.c

gd32f470

FMC

flash

poll-word

physical-flash

gd32f470zg-liangshan

tests/contracts/gd32_assembly/flash.toml

soc/gd32/gd32f470/drivers/flash.c

gd32f470

FWDGT

watchdog

independent

independent-watchdog

gd32f470zg-liangshan

tests/contracts/gd32_assembly/watchdog.toml

soc/gd32/gd32f470/drivers/watchdog.c

gd32f470

GPIOB

gpio

input

gpiob0, gpiob1

—

tests/contracts/declared_io_assembly/gd470-input.toml

soc/gd32/gd32f470/drivers/gpio.c

gd32f470

GPIOB

gpio

output

gpiob0, gpiob1

—

tests/contracts/declared_io_assembly/gd470.toml

soc/gd32/gd32f470/drivers/gpio.c

gd32f470

GPIOD

gpio

input

gpiod7

gd32f470zg-liangshan

tests/contracts/declared_io_assembly/gd470.toml

soc/gd32/gd32f470/drivers/gpio.c

gd32f470

GPIOD

gpio

output

gpiod7

gd32f470zg-liangshan

tests/contracts/physical_platform_assembly/gd32-gpio.toml, tools/configure/assemblies/liangshan-baremetal-gpio.toml, tools/configure/assemblies/liangshan-baremetal.toml, tools/configure/assemblies/liangshan-freertos-gpio.toml, tools/configure/assemblies/liangshan-freertos.toml

soc/gd32/gd32f470/drivers/gpio.c

gd32f470

I2C0

i2c

dma-messages

i2c0-pb6-pb7

—

tests/contracts/gd32_assembly/i2c-dma.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

gd32f470

I2C0

i2c

irq-messages

i2c0-pb6-pb7

—

tests/contracts/gd32_assembly/i2c-irq.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair-irq.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

gd32f470

I2C0

i2c

poll-messages

i2c0-pb6-pb7

—

tests/contracts/gd32_assembly/blocks.toml, tests/contracts/gd32_assembly/dma.toml, tests/contracts/gd32_assembly/i2c.toml, tests/contracts/gd32_assembly/multi.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml

soc/gd32/gd32f470/drivers/i2c.c

gd32f470

I2C1

i2c

dma-messages

i2c1-pb10-pb11

—

tests/contracts/multi_controller_assembly/gd32-freertos.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair.toml, tests/contracts/multi_controller_assembly/gd32.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

gd32f470

I2C1

i2c

irq-messages

i2c1-pb10-pb11

—

tests/contracts/multi_controller_assembly/gd32-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/gd32-i2c-pair-irq.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

gd32f470

I2C1

i2c

poll-messages

i2c1-pb10-pb11

—

tests/contracts/gd32_assembly/blocks.toml, tests/contracts/gd32_assembly/dma.toml, tests/contracts/gd32_assembly/multi.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml

soc/gd32/gd32f470/drivers/i2c.c

gd32f470

SPI0

spi

dma-full-duplex

spi0-pa5-pa7

—

tests/contracts/multi_controller_assembly/gd32-freertos.toml, tests/contracts/multi_controller_assembly/gd32.toml

soc/gd32/gd32f470/drivers/spi_dma.c

gd32f470

SPI0

spi

short-poll

spi0-pa5-pa7

—

tests/contracts/gd32_assembly/blocks.toml, tests/contracts/gd32_assembly/dma.toml, tests/contracts/gd32_assembly/multi.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml

soc/gd32/gd32f470/drivers/spi.c

gd32f470

SPI4

spi

dma-full-duplex

spi4-pf6-pf9

gd32f470zg-liangshan

tests/contracts/gd32_assembly/blocks.toml, tests/contracts/gd32_assembly/dma.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml, tests/contracts/multi_controller_assembly/gd32-freertos.toml, tests/contracts/multi_controller_assembly/gd32.toml

io/src/mechanisms/spi_dma_sequence.c, soc/gd32/gd32f470/drivers/spi_dma.c

gd32f470

SPI4

spi

short-poll

spi4-pf6-pf9

gd32f470zg-liangshan

tests/contracts/gd32_assembly/multi.toml, tests/contracts/gd32_assembly/spi.toml, tests/contracts/io_evolution_assembly/gd470-spi-transaction.toml, tools/configure/assemblies/liangshan-baremetal-spi.toml, tools/configure/assemblies/liangshan-freertos-spi.toml

soc/gd32/gd32f470/drivers/spi.c

gd32f470

TIMER0

advanced_pwm

complementary-pwm

complementary-pa8-pb12-pb13

—

tests/contracts/timer_assembly/gd32-freertos.toml, tests/contracts/timer_assembly/gd32.toml

soc/gd32/gd32f470/drivers/advanced_pwm.c

gd32f470

TIMER2

pwm

fixed-pwm

timer2-pa6

—

tests/contracts/gd32_assembly/pwm.toml

soc/gd32/gd32f470/drivers/timer.c

gd32f470

TIMER3

timer_capture

edge-capture

capture-pb6

—

tests/contracts/timer_assembly/gd32-freertos.toml, tests/contracts/timer_assembly/gd32.toml

soc/gd32/gd32f470/drivers/timer_capture.c

gd32f470

USART0

uart

dma-duplex

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/dma-duplex.toml, tests/contracts/uart_rx_compact_assembly/gd470-dma-duplex.toml, tests/contracts/uart_rx_compact_assembly/gd470-mixed-duplex-tx.toml

soc/gd32/gd32f470/drivers/uart_duplex.c

gd32f470

USART0

uart

dma-duplex-continuous

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/dma-duplex-continuous.toml, tests/contracts/uart_rx_compact_assembly/gd470-dma-duplex-continuous.toml

soc/gd32/gd32f470/drivers/uart_duplex.c

gd32f470

USART0

uart

dma-tx

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/blocks.toml, tests/contracts/gd32_assembly/dma.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml, tests/contracts/multi_controller_assembly/gd32-freertos.toml, tests/contracts/multi_controller_assembly/gd32.toml, tests/contracts/uart_rx_compact_assembly/gd470-dma-tx.toml

soc/gd32/gd32f470/drivers/uart_dma.c

gd32f470

USART0

uart

irq-blocks

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/uart_rx_compact_assembly/gd470-irq-blocks.toml

soc/gd32/gd32f470/drivers/uart_stream.c

gd32f470

USART0

uart

irq-byte-event

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/multi.toml, tests/contracts/io_evolution_assembly/gd470-uart7e2.toml, tests/contracts/uart_rx_compact_assembly/gd470-irq.toml, tools/configure/assemblies/liangshan-baremetal-uart.toml, tools/configure/assemblies/liangshan-baremetal.toml, tools/configure/assemblies/liangshan-freertos-uart.toml, tools/configure/assemblies/liangshan-freertos.toml

soc/gd32/gd32f470/drivers/uart.c

gd32f470

USART0

uart

irq-words

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/io_evolution_assembly/gd470-uart9n1-probe.toml, tests/contracts/io_evolution_assembly/gd470-uart9n1.toml

soc/gd32/gd32f470/drivers/uart_word.c

gd32f470

USART0

uart

rx-dma-continuous

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/rx-dma-continuous.toml, tests/contracts/io_evolution_assembly/gd470-uart-stream-profile.toml, tests/contracts/uart_rx_compact_assembly/gd470-rx-dma-continuous.toml

soc/gd32/gd32f470/drivers/uart_receive.c

gd32f470

USART0

uart

rx-dma-idle

usart0-pa9-pa10

gd32f470zg-liangshan

tests/contracts/gd32_assembly/rx-dma-idle.toml, tests/contracts/uart_rx_compact_assembly/gd470-mixed-rx-tx.toml, tests/contracts/uart_rx_compact_assembly/gd470-rx-dma-idle.toml

soc/gd32/gd32f470/drivers/uart_receive.c

gd32f470

USART1

uart

dma-tx

usart1-pa2-pa3

—

tests/contracts/multi_controller_assembly/gd32-freertos.toml, tests/contracts/multi_controller_assembly/gd32.toml, tests/contracts/uart_rx_compact_assembly/gd470-mixed-duplex-tx.toml, tests/contracts/uart_rx_compact_assembly/gd470-mixed-rx-tx.toml

soc/gd32/gd32f470/drivers/uart_dma.c

gd32f470

USART1

uart

irq-blocks

usart1-pa2-pa3

—

tests/contracts/gd32_assembly/blocks.toml

soc/gd32/gd32f470/drivers/uart_stream.c

gd32f470

USART1

uart

irq-byte-event

usart1-pa2-pa3

—

tests/contracts/gd32_assembly/dma.toml, tests/contracts/gd32_assembly/multi.toml, tests/contracts/io_evolution_assembly/gd470-spi-dma-transaction.toml

soc/gd32/gd32f470/drivers/uart.c

gd32f470

USBFS

usb_device

device-fs

usbfs-pa11-pa12

—

tests/contracts/usb_assembly/gd32-freertos.toml, tests/contracts/usb_assembly/gd32-interrupt.toml, tests/contracts/usb_assembly/gd32.toml

io/src/controllers/usb_device_controller.c

stm32f103

ADC1

adc

single-shot

adc-pa0

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-devices-freertos.toml, tests/contracts/mainstream_assembly/f103-devices.toml

drivers/adc/legacy_adc/legacy_adc.c

stm32f103

EXTI0

exti

edge-event

exti0-pa0

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-exti.toml, tools/configure/assemblies/stm32-f103-exti.toml

soc/stm32/stm32f103/drivers/exti.c

stm32f103

EXTI1

exti

edge-event

exti1-pa1

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-exti.toml, tools/configure/assemblies/stm32-f103-exti.toml

soc/stm32/stm32f103/drivers/exti.c

stm32f103

FLASH

flash

poll-word

flash-internal

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-devices-freertos.toml, tests/contracts/mainstream_assembly/f103-devices.toml

drivers/flash/legacy_flash/legacy_flash.c

stm32f103

GPIOA

gpio

input

gpio-pa4, gpio-pa5

stm32f103rb-nucleo-reference

tests/contracts/declared_io_assembly/f103.toml

soc/stm32/stm32f103/drivers/gpio.c

stm32f103

GPIOA

gpio

output

gpio-pa4, gpio-pa5

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-exti.toml, tests/contracts/mainstream_assembly/f103-io-freertos.toml, tests/contracts/mainstream_assembly/f103-io.toml, tests/contracts/mainstream_assembly/f103-watchdog.toml, tools/configure/assemblies/stm32-f103-baremetal.toml, tools/configure/assemblies/stm32-f103-exti.toml, tools/configure/assemblies/stm32-f103-freertos.toml, tools/configure/assemblies/stm32-f103-watchdog.toml

soc/stm32/stm32f103/drivers/gpio.c

stm32f103

I2C1

i2c

irq-messages

i2c1-pb6-pb7

stm32f103rb-nucleo-reference

tests/contracts/legacy_transport_assembly/stm32f103-baremetal-i2c.toml, tests/contracts/legacy_transport_assembly/stm32f103-freertos-i2c.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

stm32f103

IWDG

watchdog

independent

iwdg

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-watchdog.toml, tools/configure/assemblies/stm32-f103-watchdog.toml

soc/stm32/stm32f103/drivers/watchdog.c

stm32f103

SPI1

spi

short-poll

spi1-pa5-pa6-pa7

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-spi-freertos.toml, tests/contracts/mainstream_assembly/f103-spi.toml, tools/configure/assemblies/stm32-f103-spi.toml

soc/stm32/stm32f103/drivers/spi.c

stm32f103

TIM3

pwm

fixed-pwm

pwm-pa6

stm32f103rb-nucleo-reference

tests/contracts/mainstream_assembly/f103-devices-freertos.toml, tests/contracts/mainstream_assembly/f103-devices.toml

drivers/timer/legacy_pwm/legacy_pwm.c

stm32f103

USART2

uart

dma-duplex

usart2-pa2-pa3

stm32f103rb-nucleo-reference

tests/contracts/legacy_transport_assembly/stm32f103-baremetal-dma-duplex.toml, tests/contracts/legacy_transport_assembly/stm32f103-freertos-dma-duplex.toml

drivers/uart/uart_v1_channel_dma/uart_v1_channel_dma.c

stm32f103

USART2

uart

dma-tx

usart2-pa2-pa3

stm32f103rb-nucleo-reference

tests/contracts/legacy_transport_assembly/stm32f103-baremetal-dma-tx.toml, tests/contracts/legacy_transport_assembly/stm32f103-freertos-dma-tx.toml

drivers/uart/uart_v1_channel_dma/uart_v1_channel_dma.c

stm32f103

USART2

uart

irq-bytes

usart2-pa2-pa3

stm32f103rb-nucleo-reference

tests/contracts/legacy_transport_assembly/stm32f103-baremetal-irq-bytes.toml, tests/contracts/legacy_transport_assembly/stm32f103-freertos-irq-bytes.toml, tests/contracts/mainstream_assembly/f103-exti.toml, tests/contracts/mainstream_assembly/f103-io-freertos.toml, tests/contracts/mainstream_assembly/f103-io.toml, tests/contracts/mainstream_assembly/f103-watchdog.toml, tools/configure/assemblies/stm32-f103-baremetal.toml, tools/configure/assemblies/stm32-f103-exti.toml, tools/configure/assemblies/stm32-f103-freertos.toml, tools/configure/assemblies/stm32-f103-watchdog.toml

soc/stm32/stm32f103/drivers/uart.c

stm32f407

ADC1

adc

low-rate-scan

adc1-ch0-pa0, adc1-scan-pa0-pa1

—

tests/contracts/stm32_assembly/ve-adc-scan.toml, tests/contracts/stm32_assembly/zg-adc-scan.toml

soc/stm32/stm32f407/drivers/adc.c

stm32f407

ADC1

adc

single-shot

adc1-ch0-pa0

—

tests/contracts/stm32_assembly/ve-adc.toml, tests/contracts/stm32_assembly/zg-adc.toml

soc/stm32/stm32f407/drivers/adc.c

stm32f407

ADC1

adc

trigger-dma

adc1-ch0-pa0, adc1-scan-pa0-pa1

—

tests/contracts/stm32_assembly/ve-blocks.toml, tests/contracts/stm32_assembly/zg-blocks.toml

soc/stm32/stm32f407/drivers/adc_stream.c

stm32f407

ADC1

adc

trigger-dma-continuous

adc1-ch0-pa0, adc1-scan-pa0-pa1

—

tests/contracts/declared_io_assembly/ve-word-adc-can.toml, tests/contracts/io_evolution_assembly/f407-adc-stream-profile.toml, tests/contracts/stm32_assembly/zg-adc-continuous.toml

soc/stm32/stm32f407/drivers/adc_continuous.c

stm32f407

CAN1

can

classic-irq

can1-pa11-pa12

stm32f407zg-qiming-v31

tests/contracts/can_assembly/stm32-both.toml, tests/contracts/can_assembly/stm32-first.toml, tests/contracts/declared_io_assembly/ve-word-adc-can.toml

io/src/controllers/can_controller.c

stm32f407

CAN2

can

classic-irq

can2-pb12-pb13

stm32f407zg-qiming-v31

tests/contracts/can_assembly/stm32-both.toml, tests/contracts/declared_io_assembly/ve-word-adc-can.toml

io/src/controllers/can_controller.c

stm32f407

ETH

eth

raw-rmii

rmii-a-c-g

—

tests/contracts/ethernet_assembly/stm32-zg-freertos.toml, tests/contracts/ethernet_assembly/stm32-zg.toml

io/src/controllers/eth_mac.c

stm32f407

ETH

eth_frames

rmii-vlan-sg-ptp

rmii-frames-a-c-g

—

cmake/package/verification/io_evolution/f407zg-eth-frames.toml

io/src/controllers/eth_frames_mac.c

stm32f407

EXTI0

exti

edge-event

exti0-pa0

—

tests/contracts/declared_io_assembly/f407.toml, tests/contracts/declared_io_assembly/ve-rx-idle.toml

soc/stm32/stm32f407/drivers/exti.c

stm32f407

EXTI5

exti

edge-event

exti5-pa5

—

tests/contracts/stm32_assembly/ve-exti.toml, tests/contracts/stm32_assembly/zg-exti.toml

soc/stm32/stm32f407/drivers/exti.c

stm32f407

EXTI6

exti

edge-event

exti6-pa6

—

tests/contracts/stm32_assembly/ve-exti.toml, tests/contracts/stm32_assembly/zg-exti.toml

soc/stm32/stm32f407/drivers/exti.c

stm32f407

FLASH

flash

poll-word

flash-internal

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/stm32_assembly/ve-flash.toml, tests/contracts/stm32_assembly/zg-flash.toml

soc/stm32/stm32f407/drivers/flash.c

stm32f407

GPIOA

gpio

input

gpio-pa0

—

tests/contracts/declared_io_assembly/f407-input.toml, tests/contracts/declared_io_assembly/ve-rx-continuous.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOA

gpio

output

gpio-pa0

—

tests/contracts/declared_io_assembly/f407-output.toml, tests/contracts/declared_io_assembly/ve-duplex.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOB

gpio

input

gpio-pb2

stm32f407ve-sky-qingchun

tests/contracts/declared_io_assembly/f407.toml, tests/contracts/declared_io_assembly/ve-rx-idle.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOB

gpio

output

gpio-pb2

stm32f407ve-sky-qingchun

tests/contracts/declared_io_assembly/f407-output.toml, tools/configure/assemblies/sky-baremetal-gpio.toml, tools/configure/assemblies/sky-baremetal.toml, tools/configure/assemblies/sky-freertos-gpio.toml, tools/configure/assemblies/sky-freertos.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOE

gpio

input

gpio-pe3, gpio-pe4

stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/f407.toml, tests/contracts/declared_io_assembly/ve-rx-idle.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOE

gpio

output

gpio-pe3, gpio-pe4

stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-rx-continuous.toml, tests/contracts/physical_platform_assembly/stm32-gpio.toml, tools/configure/assemblies/qiming-baremetal-gpio.toml, tools/configure/assemblies/qiming-baremetal.toml, tools/configure/assemblies/qiming-freertos-gpio.toml, tools/configure/assemblies/qiming-freertos.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOG

gpio

input

gpio-pg9

stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/f407-input.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

GPIOG

gpio

output

gpio-pg9

stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/f407.toml

soc/stm32/stm32f407/drivers/gpio.c

stm32f407

I2C1

i2c

dma-messages

i2c1-pb6-pb7

—

tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair.toml, tests/contracts/stm32_assembly/zg-i2c-dma.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

stm32f407

I2C1

i2c

irq-messages

i2c1-pb6-pb7

—

tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-irq.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-irq.toml, tests/contracts/stm32_assembly/zg-i2c-irq.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

stm32f407

I2C1

i2c

poll-messages

i2c1-pb6-pb7

—

tests/contracts/stm32_assembly/ve-i2c.toml, tests/contracts/stm32_assembly/zg-i2c.toml

soc/stm32/stm32f407/drivers/i2c.c

stm32f407

I2C2

i2c

dma-messages

i2c2-pb10-pb11

—

tests/contracts/multi_controller_assembly/stm32-ve-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair.toml, tests/contracts/multi_controller_assembly/stm32-ve.toml, tests/contracts/multi_controller_assembly/stm32-zg-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair.toml, tests/contracts/multi_controller_assembly/stm32-zg.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

stm32f407

I2C2

i2c

irq-messages

i2c2-pb10-pb11

—

tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve-i2c-pair-irq.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-irq-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg-i2c-pair-irq.toml

drivers/i2c/i2c_v1_async/i2c_v1_async.c

stm32f407

IWDG

watchdog

independent

iwdg

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/stm32_assembly/ve-watchdog.toml, tests/contracts/stm32_assembly/zg-watchdog.toml

soc/stm32/stm32f407/drivers/watchdog.c

stm32f407

OTG_FS

usb_device

device-fs

usbfs-pa11-pa12

—

tests/contracts/usb_assembly/stm32-ve-freertos.toml, tests/contracts/usb_assembly/stm32-ve-interrupt.toml, tests/contracts/usb_assembly/stm32-ve.toml, tests/contracts/usb_assembly/stm32-zg-freertos.toml, tests/contracts/usb_assembly/stm32-zg-interrupt.toml, tests/contracts/usb_assembly/stm32-zg.toml

io/src/controllers/usb_device_controller.c

stm32f407

SPI1

spi

dma

spi1-pa5-pa6-pa7

—

tests/contracts/io_evolution_assembly/f407-spi-dma-transaction.toml, tests/contracts/multi_controller_assembly/stm32-ve-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve.toml, tests/contracts/multi_controller_assembly/stm32-zg-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg.toml, tests/contracts/stm32_assembly/ve-blocks.toml, tests/contracts/stm32_assembly/ve-dma.toml, tests/contracts/stm32_assembly/zg-blocks.toml, tests/contracts/stm32_assembly/zg-dma.toml

io/src/mechanisms/spi_dma_sequence.c, soc/stm32/stm32f407/drivers/spi_dma.c

stm32f407

SPI1

spi

short-poll

spi1-pa5-pa6-pa7

—

tests/contracts/io_evolution_assembly/f407-spi-transaction.toml, tests/contracts/stm32_assembly/ve-spi.toml, tests/contracts/stm32_assembly/zg-spi.toml

soc/stm32/stm32f407/drivers/spi.c

stm32f407

SPI2

spi

dma

spi2-pb13-pb14-pb15

—

tests/contracts/multi_controller_assembly/stm32-ve-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve.toml, tests/contracts/multi_controller_assembly/stm32-zg-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg.toml

soc/stm32/stm32f407/drivers/spi_dma.c

stm32f407

TIM1

advanced_pwm

complementary-pwm

complementary-pa8-pb12-pb13

—

tests/contracts/timer_assembly/stm32-ve-freertos.toml, tests/contracts/timer_assembly/stm32-ve.toml, tests/contracts/timer_assembly/stm32-zg-freertos.toml, tests/contracts/timer_assembly/stm32-zg.toml

soc/stm32/stm32f407/drivers/advanced_pwm.c

stm32f407

TIM3

pwm

fixed-pwm

tim3-ch1-pa6

—

tests/contracts/stm32_assembly/ve-pwm.toml, tests/contracts/stm32_assembly/zg-pwm.toml

soc/stm32/stm32f407/drivers/timer.c

stm32f407

TIM4

timer_capture

edge-capture

capture-pb6

—

tests/contracts/timer_assembly/stm32-ve-freertos.toml, tests/contracts/timer_assembly/stm32-ve.toml, tests/contracts/timer_assembly/stm32-zg-freertos.toml, tests/contracts/timer_assembly/stm32-zg.toml

soc/stm32/stm32f407/drivers/timer_capture.c

stm32f407

USART1

uart

dma-duplex

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-duplex.toml, tests/contracts/stm32_assembly/zg-dma-duplex.toml, tests/contracts/uart_rx_compact_assembly/f407-dma-duplex.toml, tests/contracts/uart_rx_compact_assembly/f407-mixed-duplex-tx.toml

soc/stm32/stm32f407/drivers/uart_duplex.c

stm32f407

USART1

uart

dma-duplex-continuous

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-duplex-continuous.toml, tests/contracts/stm32_assembly/zg-dma-duplex-continuous.toml, tests/contracts/uart_rx_compact_assembly/f407-dma-duplex-continuous.toml

soc/stm32/stm32f407/drivers/uart_duplex.c

stm32f407

USART1

uart

dma-tx

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/io_evolution_assembly/f407-spi-dma-transaction.toml, tests/contracts/multi_controller_assembly/stm32-ve-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve.toml, tests/contracts/multi_controller_assembly/stm32-zg-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg.toml, tests/contracts/stm32_assembly/ve-dma.toml, tests/contracts/stm32_assembly/zg-dma.toml, tests/contracts/uart_rx_compact_assembly/f407-dma-tx.toml, tools/configure/assemblies/qiming-baremetal-uart-dma.toml

soc/stm32/stm32f407/drivers/uart_hal.c

stm32f407

USART1

uart

irq-blocks

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/stm32_assembly/ve-blocks.toml, tests/contracts/stm32_assembly/zg-blocks.toml, tests/contracts/uart_rx_compact_assembly/f407-irq-blocks.toml

soc/stm32/stm32f407/drivers/uart_stream.c

stm32f407

USART1

uart

irq-byte-event

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/io_evolution_assembly/f407-uart7e2.toml, tests/contracts/uart_rx_compact_assembly/f407-irq.toml, tools/configure/assemblies/qiming-baremetal-uart.toml, tools/configure/assemblies/qiming-baremetal.toml, tools/configure/assemblies/qiming-freertos-uart.toml, tools/configure/assemblies/qiming-freertos.toml, tools/configure/assemblies/sky-baremetal-uart.toml, tools/configure/assemblies/sky-baremetal.toml, tools/configure/assemblies/sky-freertos-uart.toml, tools/configure/assemblies/sky-freertos.toml

soc/stm32/stm32f407/drivers/uart.c

stm32f407

USART1

uart

irq-words

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-word-adc-can.toml, tests/contracts/io_evolution_assembly/f407-uart9n1-probe.toml, tests/contracts/io_evolution_assembly/f407-uart9n1.toml

soc/stm32/stm32f407/drivers/uart_word.c

stm32f407

USART1

uart

rx-dma-continuous

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-rx-continuous.toml, tests/contracts/io_evolution_assembly/f407-uart-stream-profile.toml, tests/contracts/stm32_assembly/zg-rx-dma-continuous.toml, tests/contracts/uart_rx_compact_assembly/f407-rx-dma-continuous.toml

soc/stm32/stm32f407/drivers/uart_receive.c

stm32f407

USART1

uart

rx-dma-idle

usart1-pa9-pa10

stm32f407ve-sky-qingchun, stm32f407zg-qiming-v31

tests/contracts/declared_io_assembly/ve-rx-idle.toml, tests/contracts/stm32_assembly/zg-rx-dma-idle.toml, tests/contracts/uart_rx_compact_assembly/f407-mixed-rx-tx.toml, tests/contracts/uart_rx_compact_assembly/f407-rx-dma-idle.toml

soc/stm32/stm32f407/drivers/uart_receive.c

stm32f407

USART2

uart

dma-tx

usart2-pa2-pa3

—

tests/contracts/multi_controller_assembly/stm32-ve-freertos.toml, tests/contracts/multi_controller_assembly/stm32-ve.toml, tests/contracts/multi_controller_assembly/stm32-zg-freertos.toml, tests/contracts/multi_controller_assembly/stm32-zg.toml, tests/contracts/uart_rx_compact_assembly/f407-mixed-duplex-tx.toml, tests/contracts/uart_rx_compact_assembly/f407-mixed-rx-tx.toml

soc/stm32/stm32f407/drivers/uart_hal.c

stm32g474

ADC1

adc

single-shot

adc1-in1-pa0

—

tests/contracts/g474_assembly/acquisition-freertos.toml, tests/contracts/g474_assembly/acquisition.toml, tests/contracts/io_evolution_assembly/g474-i2c-long-timing.toml

soc/stm32/stm32g474/drivers/adc.c

stm32g474

ADC1

adc

trigger-dma

adc1-in1-pa0

—

tests/contracts/g474_assembly/acquisition-dma-freertos.toml, tests/contracts/g474_assembly/acquisition-dma.toml

soc/stm32/stm32g474/drivers/adc_stream.c

stm32g474

ADC1

adc_group

injected-sequence

adc1-sequence-pa0-pa1

—

cmake/package/verification/io_evolution/g474-adc-group-injected-software.toml, cmake/package/verification/io_evolution/g474-adc-group-injected-timer.toml

soc/stm32/stm32g474/drivers/adc_group.c

stm32g474

ADC1

adc_group

regular-sequence-dma

adc1-sequence-pa0-pa1

—

cmake/package/verification/io_evolution/g474-adc-group-regular-software.toml, cmake/package/verification/io_evolution/g474-adc-group-regular-timer.toml

soc/stm32/stm32g474/drivers/adc_group.c

stm32g474

EXTI0

exti

edge-event

exti0-pa0

—

tests/contracts/g474_assembly/exti-freertos.toml, tests/contracts/g474_assembly/exti.toml

soc/stm32/stm32g474/drivers/exti.c

stm32g474

EXTI1

exti

edge-event

exti1-pa1

—

tests/contracts/g474_assembly/exti-freertos.toml, tests/contracts/g474_assembly/exti.toml

soc/stm32/stm32g474/drivers/exti.c

stm32g474

FDCAN1

can_fd

iso-fd-loopback

fdcan1-pa11-pa12

—

cmake/package/verification/io_evolution/g474-can-fd-loopback.toml

soc/stm32/stm32g474/drivers/fdcan.c

stm32g474

FDCAN1

can_fd

iso-fd-normal

fdcan1-pa11-pa12

—

cmake/package/verification/io_evolution/g474-can-fd-normal.toml

soc/stm32/stm32g474/drivers/fdcan.c

stm32g474

FLASH

flash

poll-word

internal-flash

—

tests/contracts/g474_assembly/acquisition-dma-freertos.toml, tests/contracts/g474_assembly/acquisition-dma.toml, tests/contracts/g474_assembly/acquisition-freertos.toml, tests/contracts/g474_assembly/acquisition.toml, tests/contracts/io_evolution_assembly/g474-i2c-long-timing.toml

soc/stm32/stm32g474/drivers/flash.c

stm32g474

GPIOA

gpio

input

gpio-pa0, gpio-pa1, gpio-pa10, gpio-pa11, gpio-pa12, gpio-pa13, gpio-pa14, gpio-pa15, gpio-pa2, gpio-pa3, gpio-pa4, gpio-pa5, gpio-pa6, gpio-pa7, gpio-pa8, gpio-pa9

stm32g474re-hse24-reference

tests/contracts/declared_io_assembly/g474-input.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOA

gpio

named-states

gpio-pa5

stm32g474re-hse24-reference

tools/configure/assemblies/g474-pin-states.toml

soc/stm32/stm32g474/drivers/pin_state.c

stm32g474

GPIOA

gpio

output

gpio-pa0, gpio-pa1, gpio-pa10, gpio-pa11, gpio-pa12, gpio-pa13, gpio-pa14, gpio-pa15, gpio-pa2, gpio-pa3, gpio-pa4, gpio-pa5, gpio-pa6, gpio-pa7, gpio-pa8, gpio-pa9

stm32g474re-hse24-reference

tests/contracts/g474_assembly/io-freertos.toml, tests/contracts/g474_assembly/io.toml, tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOB

gpio

input

gpio-pb0, gpio-pb1, gpio-pb10, gpio-pb11, gpio-pb12, gpio-pb13, gpio-pb14, gpio-pb15, gpio-pb2, gpio-pb3, gpio-pb4, gpio-pb5, gpio-pb6, gpio-pb7, gpio-pb8, gpio-pb9

stm32g474re-hse24-reference

tests/contracts/declared_io_assembly/g474-input.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOB

gpio

output

gpio-pb0, gpio-pb1, gpio-pb10, gpio-pb11, gpio-pb12, gpio-pb13, gpio-pb14, gpio-pb15, gpio-pb2, gpio-pb3, gpio-pb4, gpio-pb5, gpio-pb6, gpio-pb7, gpio-pb8, gpio-pb9

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOC

gpio

input

gpio-pc0, gpio-pc1, gpio-pc10, gpio-pc11, gpio-pc12, gpio-pc13, gpio-pc14, gpio-pc15, gpio-pc2, gpio-pc3, gpio-pc4, gpio-pc5, gpio-pc6, gpio-pc7, gpio-pc8, gpio-pc9

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOC

gpio

output

gpio-pc0, gpio-pc1, gpio-pc10, gpio-pc11, gpio-pc12, gpio-pc13, gpio-pc14, gpio-pc15, gpio-pc2, gpio-pc3, gpio-pc4, gpio-pc5, gpio-pc6, gpio-pc7, gpio-pc8, gpio-pc9

stm32g474re-hse24-reference

tests/contracts/declared_io_assembly/g474-input.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOD

gpio

input

gpio-pd2

—

tests/contracts/declared_io_assembly/g474-input.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOD

gpio

output

gpio-pd2

—

tests/contracts/declared_io_assembly/g474-output.toml

soc/stm32/stm32g474/drivers/gpio.c

stm32g474

GPIOF

gpio

input

gpio-pf0, gpio-pf1

—

—

—

stm32g474

GPIOF

gpio

output

gpio-pf0, gpio-pf1

—

—

—

stm32g474

GPIOG

gpio

input

gpio-pg10

—

—

—

stm32g474

GPIOG

gpio

output

gpio-pg10

—

—

—

stm32g474

I2C1

i2c

poll-messages

i2c1-pb8-pb9

—

tests/contracts/g474_assembly/acquisition-dma-freertos.toml, tests/contracts/g474_assembly/acquisition-dma.toml, tests/contracts/g474_assembly/acquisition-freertos.toml, tests/contracts/g474_assembly/acquisition.toml, tests/contracts/io_evolution_assembly/g474-i2c-long-timing.toml

drivers/i2c/i2c_v2/i2c_v2.c

stm32g474

IWDG

watchdog

independent

iwdg

stm32g474re-hse24-reference

tests/contracts/g474_assembly/spi-freertos.toml, tests/contracts/g474_assembly/spi.toml, tests/contracts/g474_assembly/watchdog-freertos.toml, tests/contracts/g474_assembly/watchdog.toml

soc/stm32/stm32g474/drivers/watchdog.c

stm32g474

LPUART1

uart

irq-bytes

lpuart1-pa2-pa3

stm32g474re-hse24-reference

tests/contracts/g474_assembly/io-freertos.toml, tests/contracts/g474_assembly/io.toml

soc/stm32/stm32g474/drivers/uart.c

stm32g474

SPI1

spi

short-poll

spi1-pa5-pa6-pa7

stm32g474re-hse24-reference

tests/contracts/g474_assembly/spi-freertos.toml, tests/contracts/g474_assembly/spi.toml

soc/stm32/stm32g474/drivers/spi.c

stm32g474

SPI2

spi

short-poll

spi2-pb13-pb14-pb15

stm32g474re-hse24-reference

tests/contracts/g474_assembly/spi-freertos.toml, tests/contracts/g474_assembly/spi.toml

soc/stm32/stm32g474/drivers/spi.c

stm32g474

TIM1

pwm_group

coherent-pwm

tim1-group-pa8-pa9-pa10-comp1-pa1-pa4

—

tests/contracts/g474_control_assembly/pwm-group.toml

soc/stm32/stm32g474/drivers/pwm_group.c

stm32g474

TIM1

pwm_adc

finite-regular-dma

tim1-adc1-window-pa8-pa9-pa10-pa0-comp1-pa1-pa4

—

cmake/package/verification/io_evolution/g474-pwm-adc.toml

soc/stm32/stm32g474/drivers/pwm_adc.c

stm32g474

TIM3

pwm

fixed-pwm

tim3-ch1-pa6

stm32g474re-hse24-reference

tests/contracts/g474_assembly/pwm-freertos.toml, tests/contracts/g474_assembly/pwm.toml

soc/stm32/stm32g474/drivers/pwm.c

stm32g474

TIM3

pwm

shared-fixed-pwm

tim3-ch1-pa6, tim3-ch2-pa7

stm32g474re-hse24-reference

cmake/package/verification/io_evolution/g474-pwm-shared.toml

soc/stm32/stm32g474/drivers/pwm_shared.c

stm32g474

TIM3

encoder

quadrature

tim3-encoder-pa6-pa7

—

tests/contracts/g474_control_assembly/encoder.toml

soc/stm32/stm32g474/drivers/encoder.c

stm32g474

TIM4

pwm

fixed-pwm

tim4-ch1-pb6

stm32g474re-hse24-reference

tests/contracts/g474_assembly/pwm-freertos.toml, tests/contracts/g474_assembly/pwm.toml

soc/stm32/stm32g474/drivers/pwm.c

stm32g474

TIM5

timer_capture

edge-capture

tim5-ch1-pa0

—

tests/contracts/g474_control_assembly/timer-capture.toml

soc/stm32/stm32g474/drivers/timer_capture.c

stm32g474

UART4

uart

irq-bytes

uart4-pc10-pc11

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/uart.c

stm32g474

UART5

uart

irq-bytes

uart5-pc12-pd2

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/uart.c

stm32g474

USART1

uart

irq-bytes

usart1-pa9-pa10

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/uart.c

stm32g474

USART2

uart

irq-bytes

usart2-pa2-pa3

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/uart.c

stm32g474

USART3

uart

irq-bytes

usart3-pb10-pb11

stm32g474re-hse24-reference

tests/contracts/g474_assembly/mainstream-freertos.toml, tests/contracts/g474_assembly/mainstream.toml

soc/stm32/stm32g474/drivers/uart.c

stm32h743

ADC1

adc

single-shot

adc1-pa3

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml, tools/configure/assemblies/h743-high-peripherals.toml

soc/stm32/stm32h743/drivers/adc.c

stm32h743

EXTI0

exti

edge-event

exti0-pa0

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml

soc/stm32/stm32h743/drivers/exti.c

stm32h743

EXTI1

exti

edge-event

exti1-pa1

stm32h743zi-hsi-reference

tests/contracts/declared_io_assembly/h743.toml

soc/stm32/stm32h743/drivers/exti.c

stm32h743

FLASH

flash

poll-word

flash-internal

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml, tools/configure/assemblies/h743-high-peripherals.toml

soc/stm32/stm32h743/drivers/flash.c

stm32h743

GPIOB

gpio

input

gpio-pb0

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

tests/contracts/declared_io_assembly/h743.toml

soc/stm32/stm32h743/drivers/gpio.c

stm32h743

GPIOB

gpio

output

gpio-pb0

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

cmake/package/verification/io_evolution/h743-high-uart.toml, tests/contracts/h743_assembly/dma-cache-freertos.toml, tests/contracts/h743_assembly/dma-cache.toml, tests/contracts/h743_assembly/dma-freertos.toml, tests/contracts/h743_assembly/dma.toml, tests/contracts/h743_assembly/dma32-cache-freertos.toml, tests/contracts/h743_assembly/dma32-cache.toml, tests/contracts/h743_assembly/dma32-freertos.toml, tests/contracts/h743_assembly/dma32.toml, tests/contracts/h743_assembly/io-freertos.toml, tests/contracts/h743_assembly/io.toml, tests/contracts/h743_assembly/rx-cache-freertos.toml, tests/contracts/h743_assembly/rx-cache.toml, tests/contracts/h743_assembly/rx-freertos.toml, tests/contracts/h743_assembly/rx-sram1-cache.toml, tests/contracts/h743_assembly/rx-sram1.toml, tests/contracts/h743_assembly/rx.toml, tests/contracts/h743_assembly/rx32-cache-freertos.toml, tests/contracts/h743_assembly/rx32-cache.toml, tests/contracts/h743_assembly/rx32-freertos.toml, tests/contracts/h743_assembly/rx32.toml, tools/configure/assemblies/h743-high-peripherals.toml, tools/configure/assemblies/nucleo-h743-baremetal-uart.toml, tools/configure/assemblies/nucleo-h743-freertos-uart.toml

soc/stm32/stm32h743/drivers/gpio.c

stm32h743

GPIOE

gpio

output

gpio-pe11

stm32h743zi-hsi-reference

tests/contracts/declared_io_assembly/h743.toml

soc/stm32/stm32h743/drivers/gpio.c

stm32h743

I2C1

i2c

poll-messages

i2c1-pb8-pb9

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml, tools/configure/assemblies/h743-high-peripherals.toml

drivers/i2c/i2c_v2/i2c_v2.c

stm32h743

IWDG1

watchdog

independent

iwdg1

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml

soc/stm32/stm32h743/drivers/watchdog.c

stm32h743

SPI4

spi

dma

spi4-pe12-pe13-pe14

stm32h743zi-hsi-reference

tools/configure/assemblies/h743-spi-dma-cache-on.toml, tools/configure/assemblies/h743-spi-dma-runtime-clock.toml, tools/configure/assemblies/h743-spi-dma-uart-rx.toml, tools/configure/assemblies/h743-spi-dma-uart-tx.toml, tools/configure/assemblies/h743-spi-dma.toml

soc/stm32/stm32h743/drivers/spi_dma.c

stm32h743

SPI4

spi

short-poll

spi4-pe12-pe13-pe14

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml, tools/configure/assemblies/h743-high-peripherals.toml

soc/stm32/stm32h743/drivers/spi.c

stm32h743

TIM3

pwm

fixed-pwm

tim3-pa6

stm32h743zi-hsi-reference

tests/contracts/h743_assembly/peripherals-freertos.toml, tests/contracts/h743_assembly/peripherals.toml, tests/contracts/h743_assembly/peripherals32-freertos.toml, tests/contracts/h743_assembly/peripherals32.toml, tests/contracts/io_evolution_assembly/h743-i2c-long-timing.toml, tools/configure/assemblies/h743-high-peripherals.toml

soc/stm32/stm32h743/drivers/pwm.c

stm32h743

USART3

uart

dma-duplex-continuous

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

tools/configure/assemblies/h743-uart-duplex-continuous-cache-on.toml, tools/configure/assemblies/h743-uart-duplex-continuous.toml

soc/stm32/stm32h743/drivers/uart_duplex.c

stm32h743

USART3

uart

dma-tx

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

tests/contracts/h743_assembly/dma-cache-freertos.toml, tests/contracts/h743_assembly/dma-cache.toml, tests/contracts/h743_assembly/dma-freertos.toml, tests/contracts/h743_assembly/dma.toml, tests/contracts/h743_assembly/dma32-cache-freertos.toml, tests/contracts/h743_assembly/dma32-cache.toml, tests/contracts/h743_assembly/dma32-freertos.toml, tests/contracts/h743_assembly/dma32.toml, tools/configure/assemblies/h743-spi-dma-uart-tx.toml

soc/stm32/stm32h743/drivers/uart_dma.c

stm32h743

USART3

uart

irq-bytes

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

cmake/package/verification/io_evolution/h743-high-uart.toml, tests/contracts/h743_assembly/io-freertos.toml, tests/contracts/h743_assembly/io.toml, tools/configure/assemblies/h743-high-peripherals.toml, tools/configure/assemblies/nucleo-h743-baremetal-uart.toml, tools/configure/assemblies/nucleo-h743-freertos-uart.toml

soc/stm32/stm32h743/drivers/uart.c

stm32h743

USART3

uart

irq-fifo-bytes

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

cmake/package/verification/io_evolution/h743-uart-fifo.toml

soc/stm32/stm32h743/drivers/uart_fifo.c

stm32h743

USART3

uart

irq-fifo-rtscts-bytes

usart3-pd8-pd9-pd11-pd12-rtscts

stm32h743zi-rtscts-reference

cmake/package/verification/io_evolution/h743-uart-rtscts.toml

soc/stm32/stm32h743/drivers/uart_rtscts.c

stm32h743

USART3

uart

rx-dma-continuous

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

tools/configure/assemblies/h743-uart-continuous-cache-on.toml, tools/configure/assemblies/h743-uart-continuous.toml

soc/stm32/stm32h743/drivers/uart_continuous.c

stm32h743

USART3

uart

rx-dma-idle

usart3-pd8-pd9

stm32h743-nucleo-zi2, stm32h743zi-hsi-reference

tests/contracts/h743_assembly/rx-cache-freertos.toml, tests/contracts/h743_assembly/rx-cache.toml, tests/contracts/h743_assembly/rx-freertos.toml, tests/contracts/h743_assembly/rx-sram1-cache.toml, tests/contracts/h743_assembly/rx-sram1.toml, tests/contracts/h743_assembly/rx.toml, tests/contracts/h743_assembly/rx32-cache-freertos.toml, tests/contracts/h743_assembly/rx32-cache.toml, tests/contracts/h743_assembly/rx32-freertos.toml, tests/contracts/h743_assembly/rx32.toml, tools/configure/assemblies/h743-spi-dma-uart-rx.toml

soc/stm32/stm32h743/drivers/uart_receive.c

stm32u575

ADC4

adc

single-shot

adc4-pc0

stm32u575-nucleo-zi-q

tests/contracts/io_evolution_assembly/u575-i2c-long-timing.toml, tests/contracts/u575_assembly/peripherals-freertos.toml, tests/contracts/u575_assembly/peripherals.toml

soc/stm32/stm32u575/drivers/adc.c

stm32u575

EXTI0

exti

edge-event

exti0-pa0

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/exti.c

stm32u575

EXTI1

exti

edge-event

exti1-pa1

stm32u575-nucleo-zi-q

tests/contracts/io_evolution_assembly/u575-i2c-long-timing.toml, tests/contracts/u575_assembly/peripherals-freertos.toml, tests/contracts/u575_assembly/peripherals.toml

soc/stm32/stm32u575/drivers/exti.c

stm32u575

FLASH

flash

poll-word

physical-flash

stm32u575-nucleo-zi-q

tests/contracts/io_evolution_assembly/u575-i2c-long-timing.toml, tests/contracts/u575_assembly/peripherals-freertos.toml, tests/contracts/u575_assembly/peripherals.toml

soc/stm32/stm32u575/drivers/flash.c

stm32u575

GPIOA

gpio

input

gpio-pa0, gpio-pa1, gpio-pa10, gpio-pa11, gpio-pa12, gpio-pa13, gpio-pa14, gpio-pa15, gpio-pa2, gpio-pa3, gpio-pa4, gpio-pa5, gpio-pa6, gpio-pa7, gpio-pa8, gpio-pa9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOA

gpio

output

gpio-pa0, gpio-pa1, gpio-pa10, gpio-pa11, gpio-pa12, gpio-pa13, gpio-pa14, gpio-pa15, gpio-pa2, gpio-pa3, gpio-pa4, gpio-pa5, gpio-pa6, gpio-pa7, gpio-pa8, gpio-pa9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOB

gpio

input

gpio-pb0, gpio-pb1, gpio-pb10, gpio-pb11, gpio-pb13, gpio-pb14, gpio-pb15, gpio-pb2, gpio-pb3, gpio-pb4, gpio-pb5, gpio-pb6, gpio-pb7, gpio-pb8, gpio-pb9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOB

gpio

output

gpio-pb0, gpio-pb1, gpio-pb10, gpio-pb11, gpio-pb13, gpio-pb14, gpio-pb15, gpio-pb2, gpio-pb3, gpio-pb4, gpio-pb5, gpio-pb6, gpio-pb7, gpio-pb8, gpio-pb9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOC

gpio

input

gpio-pc0, gpio-pc1, gpio-pc10, gpio-pc11, gpio-pc12, gpio-pc13, gpio-pc14, gpio-pc15, gpio-pc2, gpio-pc3, gpio-pc6, gpio-pc7, gpio-pc8, gpio-pc9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOC

gpio

output

gpio-pc0, gpio-pc1, gpio-pc10, gpio-pc11, gpio-pc12, gpio-pc13, gpio-pc14, gpio-pc15, gpio-pc2, gpio-pc3, gpio-pc6, gpio-pc7, gpio-pc8, gpio-pc9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/io-freertos.toml, tests/contracts/u575_assembly/io.toml, tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml, tools/configure/assemblies/nucleo-u575-baremetal-uart.toml, tools/configure/assemblies/nucleo-u575-freertos-uart.toml, tools/configure/assemblies/u575-mpu-gpio-write.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOD

gpio

input

gpio-pd0, gpio-pd1, gpio-pd10, gpio-pd11, gpio-pd12, gpio-pd13, gpio-pd14, gpio-pd15, gpio-pd2, gpio-pd3, gpio-pd4, gpio-pd5, gpio-pd6, gpio-pd7, gpio-pd8, gpio-pd9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOD

gpio

output

gpio-pd0, gpio-pd1, gpio-pd10, gpio-pd11, gpio-pd12, gpio-pd13, gpio-pd14, gpio-pd15, gpio-pd2, gpio-pd3, gpio-pd4, gpio-pd5, gpio-pd6, gpio-pd7, gpio-pd8, gpio-pd9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOE

gpio

input

gpio-pe0, gpio-pe1, gpio-pe10, gpio-pe11, gpio-pe12, gpio-pe13, gpio-pe14, gpio-pe15, gpio-pe2, gpio-pe3, gpio-pe4, gpio-pe5, gpio-pe6, gpio-pe7, gpio-pe8, gpio-pe9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOE

gpio

output

gpio-pe0, gpio-pe1, gpio-pe10, gpio-pe11, gpio-pe12, gpio-pe13, gpio-pe14, gpio-pe15, gpio-pe2, gpio-pe3, gpio-pe4, gpio-pe5, gpio-pe6, gpio-pe7, gpio-pe8, gpio-pe9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOF

gpio

input

gpio-pf0, gpio-pf1, gpio-pf10, gpio-pf11, gpio-pf12, gpio-pf13, gpio-pf14, gpio-pf15, gpio-pf2, gpio-pf3, gpio-pf4, gpio-pf5, gpio-pf6, gpio-pf7, gpio-pf8, gpio-pf9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOF

gpio

output

gpio-pf0, gpio-pf1, gpio-pf10, gpio-pf11, gpio-pf12, gpio-pf13, gpio-pf14, gpio-pf15, gpio-pf2, gpio-pf3, gpio-pf4, gpio-pf5, gpio-pf6, gpio-pf7, gpio-pf8, gpio-pf9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOG

gpio

input

gpio-pg0, gpio-pg1, gpio-pg10, gpio-pg12, gpio-pg13, gpio-pg14, gpio-pg15, gpio-pg2, gpio-pg3, gpio-pg4, gpio-pg5, gpio-pg6, gpio-pg7, gpio-pg8, gpio-pg9

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOG

gpio

output

gpio-pg0, gpio-pg1, gpio-pg10, gpio-pg12, gpio-pg13, gpio-pg14, gpio-pg15, gpio-pg2, gpio-pg3, gpio-pg4, gpio-pg5, gpio-pg6, gpio-pg7, gpio-pg8, gpio-pg9

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOH

gpio

input

gpio-ph0, gpio-ph1, gpio-ph3

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

GPIOH

gpio

output

gpio-ph0, gpio-ph1, gpio-ph3

stm32u575-nucleo-zi-q

tests/contracts/declared_io_assembly/u575.toml

soc/stm32/stm32u575/drivers/gpio.c

stm32u575

I2C1

i2c

poll-messages

i2c1-pb8-pb9

stm32u575-nucleo-zi-q

tests/contracts/io_evolution_assembly/u575-i2c-long-timing.toml, tests/contracts/u575_assembly/peripherals-freertos.toml, tests/contracts/u575_assembly/peripherals.toml

drivers/i2c/i2c_v2/i2c_v2.c

stm32u575

IWDG

watchdog

independent

independent-watchdog

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml, tests/contracts/u575_assembly/watchdog.toml

soc/stm32/stm32u575/drivers/watchdog.c

stm32u575

LPTIM2

lptim

irq-counter16-oneshot

lptim2-internal-pclk1

stm32u575zi-lptim-reference

tools/configure/assemblies/u575-lptim-run.toml

soc/stm32/stm32u575/drivers/lptim.c

stm32u575

RTC0

rtc

retained-calendar-alarm

rtc0-retained-lse-run

stm32u575zi-rtc-reference

tools/configure/assemblies/u575-rtc-run.toml

soc/stm32/stm32u575/drivers/rtc.c

stm32u575

SPI1

spi

short-poll

spi1-pa5-pa6-pa7

stm32u575-nucleo-zi-q

tests/contracts/io_evolution_assembly/u575-i2c-long-timing.toml, tests/contracts/u575_assembly/peripherals-freertos.toml, tests/contracts/u575_assembly/peripherals.toml

soc/stm32/stm32u575/drivers/spi.c

stm32u575

TIM3

pwm

fixed-pwm

tim3-pa6

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/pwm-freertos.toml, tests/contracts/u575_assembly/pwm.toml

soc/stm32/stm32u575/drivers/pwm.c

stm32u575

USART1

uart

dma-chain-tx

usart1-pa9-pa10

stm32u575-nucleo-zi-q

tools/configure/assemblies/u575-uart-chain.toml

soc/stm32/stm32u575/drivers/uart_dma_chain.c

stm32u575

USART1

uart

dma-tx

usart1-pa9-pa10

stm32u575-nucleo-zi-q

cmake/package/verification/io_evolution/u575-uart-gpdma.toml

soc/stm32/stm32u575/drivers/uart_dma.c

stm32u575

USART1

uart

irq-bytes

usart1-pa9-pa10

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/io-freertos.toml, tests/contracts/u575_assembly/io.toml, tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml, tools/configure/assemblies/nucleo-u575-baremetal-uart.toml, tools/configure/assemblies/nucleo-u575-freertos-uart.toml

soc/stm32/stm32u575/drivers/uart.c

stm32u575

USART1

uart

irq-fifo-bytes

usart1-pa9-pa10

stm32u575-nucleo-zi-q

cmake/package/verification/io_evolution/u575-uart-fifo.toml

soc/stm32/stm32u575/drivers/uart_fifo.c

stm32u575

USART1

uart

irq-fifo-rtscts-bytes

usart1-pa9-pa10-pa11-pa12-rtscts

stm32u575zi-rtscts-reference

cmake/package/verification/io_evolution/u575-uart-rtscts.toml

soc/stm32/stm32u575/drivers/uart_rtscts.c

stm32u575

USART2

uart

irq-bytes

usart2-pa2-pa3

stm32u575-nucleo-zi-q

tests/contracts/u575_assembly/mainstream-freertos.toml, tests/contracts/u575_assembly/mainstream.toml

soc/stm32/stm32u575/drivers/uart.c

native (MODEL; physical=false)

ADC0

adc

low-rate-scan

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/adc.c

native (MODEL; physical=false)

EXTI6

exti

edge-event

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/exti.c

native (MODEL; physical=false)

FLASH0

flash

poll-byte

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/flash.c

native (MODEL; physical=false)

GPIOA

gpio

output

—

—

tests/contracts/native_assembly/multi.toml, tools/configure/assemblies/native-gpio.toml

soc/native/drivers/gpio.c

native (MODEL; physical=false)

I2C0

i2c

poll-messages

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/i2c.c

native (MODEL; physical=false)

I2C1

i2c

poll-messages

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/i2c.c

native (MODEL; physical=false)

IWDG

watchdog

independent

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/watchdog.c

native (MODEL; physical=false)

LPTIM0

lptim

counter16-oneshot

—

—

cmake/package/verification/io_evolution/native-time-pair.toml

soc/native/drivers/rtc_lptim.c

native (MODEL; physical=false)

LPTIM1

lptim

counter16-oneshot

—

—

cmake/package/verification/io_evolution/native-time-pair.toml

soc/native/drivers/rtc_lptim.c

native (MODEL; physical=false)

PWM0

pwm

fixed-pwm

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/timer.c

native (MODEL; physical=false)

RTC0

rtc

calendar-alarm

—

—

cmake/package/verification/io_evolution/native-time-pair.toml

soc/native/drivers/rtc_lptim.c

native (MODEL; physical=false)

RTC1

rtc

calendar-alarm

—

—

cmake/package/verification/io_evolution/native-time-pair.toml

soc/native/drivers/rtc_lptim.c

native (MODEL; physical=false)

SPI0

spi

async-model

—

—

tests/contracts/io_evolution_assembly/native-spi-dma-transaction.toml

io/src/mechanisms/spi_dma_sequence.c

native (MODEL; physical=false)

SPI0

spi

short-poll

—

—

tests/contracts/native_assembly/multi.toml, tools/configure/assemblies/native-spi.toml

soc/native/drivers/spi.c

native (MODEL; physical=false)

SPI1

spi

async-model

—

—

tests/contracts/io_evolution_assembly/native-spi-dma-transaction.toml

io/src/mechanisms/spi_dma_sequence.c

native (MODEL; physical=false)

SPI1

spi

short-poll

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/spi.c

native (MODEL; physical=false)

UART0

uart

irq-byte-event

—

—

tests/contracts/native_assembly/multi.toml, tools/configure/assemblies/native-uart.toml

soc/native/drivers/uart.c

native (MODEL; physical=false)

UART0

uart

irq-words

—

—

tests/contracts/io_evolution_assembly/native-uart9n1.toml

soc/native/drivers/uart_word.c

native (MODEL; physical=false)

UART1

uart

irq-byte-event

—

—

tests/contracts/native_assembly/multi.toml

soc/native/drivers/uart.c