evk_def.h

This defines MCU pinout and other control definitions.

Copyright

Copyright (C) 2026 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Defines

BTN0_PORT GPIOB
BTN0_PIN GPIO_PIN_8
BTN1_PORT GPIOC
BTN1_PIN GPIO_PIN_3
LED0_PORT GPIOC
LED0_PIN GPIO_PIN_5
LED1_PORT GPIOB
LED1_PIN GPIO_PIN_10
LED2_PORT GPIOC
LED2_PIN GPIO_PIN_6
PLL_SEL_PORT GPIOA
PLL_SEL_PIN GPIO_PIN_9
XTAL_CLK_PORT GPIOA
XTAL_CLK_PIN GPIO_PIN_2
XTAL_CLK_FREQ 32768
USB_DETECT_PORT GPIOA
USB_DETECT_PIN GPIO_PIN_0
VOLTAGE_SEL_PORT GPIOD
VOLTAGE_SEL_PIN GPIO_PIN_2
RADIO_SHUTDOWN_PORT GPIOB
RADIO_SHUTDOWN_PIN GPIO_PIN_1
RADIO_RESET_PORT GPIOB
RADIO_RESET_PIN GPIO_PIN_0
RADIO_IRQ_PORT GPIOB
RADIO_IRQ_PIN GPIO_PIN_2
RADIO_SCK_PORT GPIOB
RADIO_SCK_PIN GPIO_PIN_13
RADIO_SCK_AF GPIO_AF5_SPI2
RADIO_MOSI_PORT GPIOB
RADIO_MOSI_PIN GPIO_PIN_15
RADIO_MOSI_AF GPIO_AF5_SPI2
RADIO_MISO_PORT GPIOB
RADIO_MISO_PIN GPIO_PIN_14
RADIO_MISO_AF GPIO_AF5_SPI2
RADIO_CS_PORT GPIOB
RADIO_CS_PIN GPIO_PIN_12
RADIO_DEBUG_EN_PORT GPIOB
RADIO_DEBUG_EN_PIN GPIO_PIN_9
EXP_SCK_PORT GPIOA
EXP_SCK_PIN GPIO_PIN_5
EXP_SCK_AF GPIO_AF5_SPI1
EXP_MOSI_PORT GPIOA
EXP_MOSI_PIN GPIO_PIN_7
EXP_MOSI_AF GPIO_AF5_SPI1
EXP_MISO_PORT GPIOA
EXP_MISO_PIN GPIO_PIN_6
EXP_MISO_AF GPIO_AF5_SPI1
EXP_CS_PORT GPIOA
EXP_CS_PIN GPIO_PIN_4
EXP_PC7_PORT GPIOC
EXP_PC7_PIN GPIO_PIN_7
EXP_PC8_PORT GPIOC
EXP_PC8_PIN GPIO_PIN_8
EXP_PC10_PORT GPIOC
EXP_PC10_PIN GPIO_PIN_10
EXP_PC11_PORT GPIOC
EXP_PC11_PIN GPIO_PIN_11
EXP_PA3_PORT GPIOA
EXP_PA3_PIN GPIO_PIN_3
EXP_UART_RX_PORT GPIOC
EXP_UART_RX_PIN GPIO_PIN_0
EXP_UART_TX_PORT GPIOC
EXP_UART_TX_PIN GPIO_PIN_1
EXP_I2C_SCL_PORT GPIOA
EXP_I2C_SCL_PIN GPIO_PIN_15
EXP_I2C_SDA_PORT GPIOB
EXP_I2C_SDA_PIN GPIO_PIN_7
AUDIO_I2C_SDA_PORT GPIOB
AUDIO_I2C_SDA_PIN GPIO_PIN_7
AUDIO_I2C_SCL_PORT GPIOA
AUDIO_I2C_SCL_PIN GPIO_PIN_15
AUDIO_I2C_TIMING 0x30A0A7FB
AUDIO_SAI_IN_CLK_PORT GPIOC
AUDIO_SAI_IN_CLK_PIN GPIO_PIN_9
AUDIO_MCO_CLK_PORT GPIOA
AUDIO_MCO_CLK_PIN GPIO_PIN_8
AUDIO_SAI_SD_A_PORT GPIOA
AUDIO_SAI_SD_A_PIN GPIO_PIN_10
AUDIO_SAI_SCK_PORT GPIOB
AUDIO_SAI_SCK_PIN GPIO_PIN_3
AUDIO_SAI_MCLK_PORT GPIOB
AUDIO_SAI_MCLK_PIN GPIO_PIN_4
AUDIO_SAI_SD_B_PORT GPIOB
AUDIO_SAI_SD_B_PIN GPIO_PIN_5
AUDIO_SAI_FS_PORT GPIOB
AUDIO_SAI_FS_PIN GPIO_PIN_6
AUDIO_I2C_TIMEOUT_MS 200
EXP_SPI_TIMEOUT_MS 10
RADIO_SPI_TIMEOUT_MS 10
PRIO_AUDIO_SAI_DMA_TX_IRQ 1
PRIO_AUDIO_SAI_DMA_RX_IRQ 1
PRIO_RADIO_IRQ 2
PRIO_RADIO_DMA_RX_CPLT 2
PRIO_RADIO_DMA_TX_CPLT 2
FREE_RUNNING_TIMER_PRIORITY 3
PRIO_USB_LP_IRQ 8
PRIO_LPUART_IRQ 11
PRIO_LPUART_DMA_TX_CPLT 11
PRIO_LPUART_DMA_RX_CPLT 11
PRIO_UART4_IRQ 11
PRIO_USB_DET_IRQ 11
PRIO_PENDSV_IRQ 12
PRIO_TIMER_NO_IRQ 0xFFFFFFFF
DMA1_CHANNEL_RADIO_TX DMA1_Channel1
DMA1_CHANNEL_RADIO_RX DMA1_Channel2
DMA1_CHANNEL_LPUART_TX DMA1_Channel5
DMA1_CHANNEL_LPUART_RX DMA1_Channel6
DMA2_CHANNEL_SAI_RX DMA2_Channel5
DMA2_CHANNEL_SAI_TX DMA2_Channel6
NVIC_PENDSV_IRQ PendSV_IRQn
NVIC_TIMER_20 TIM20_UP_IRQn
NVIC_SYSTICK_TIMER TIM8_UP_IRQn
NVIC_USB_LP_IRQ USB_LP_IRQn
NVIC_USB_DET_IRQ EXTI0_IRQn
NVIC_RADIO_IRQ EXTI2_IRQn
NVIC_RADIO_DMA_TX_CPLT DMA1_Channel1_IRQn
NVIC_RADIO_DMA_RX_CPLT DMA1_Channel2_IRQn
NVIC_UART4_IRQ UART4_IRQn
NVIC_LPUART_IRQ LPUART1_IRQn
NVIC_LPUART_TX_CPLT DMA1_Channel5_IRQn
NVIC_LPUART_RX_CPLT DMA1_Channel6_IRQn
NVIC_SAI_DMA_RX_CPLT DMA2_Channel5_IRQn
NVIC_SAI_DMA_TX_CPLT DMA2_Channel6_IRQn
RANGE1_BOOST_0WS_FREQ 34000000
RANGE1_BOOST_1WS_FREQ 68000000
RANGE1_BOOST_2WS_FREQ 102000000
RANGE1_BOOST_3WS_FREQ 136000000
RANGE1_BOOST_4WS_FREQ 170000000
RANGE1_0WS_FREQ 30000000
RANGE1_1WS_FREQ 60000000
RANGE1_2WS_FREQ 90000000
RANGE1_3WS_FREQ 120000000
RANGE1_4WS_FREQ 150000000
RANGE2_0WS_FREQ 12000000
RANGE2_1WS_FREQ 24000000
RANGE2_2WS_FREQ 26000000
RANGE2_LOWPOW_LIMIT 26000000
RANGE1_BOOST1_LIMIT 150000000
RANGE1_BOOST0_LIMIT 170000000

Typedefs

typedef GPIO_TypeDef GPIO_TypeDef_t

Alias to ST HAL GPIO_TypeDef to avoid checkpatch getting confused by the typedef in stm32g473xx.h.

typedef enum evk_led evk_led_t

Board’s LED enumeration.

typedef enum evk_dbg evk_dbg_t

Board’s debug GPIO enumeration.

typedef enum evk_debug_pin evk_debug_pin_t

Board’s debug pins enumeration.

typedef enum evk_btn evk_btn_t

Board’s User button enumeration.

typedef enum evk_vdd evk_vdd_t

Board’s VDD enumeration.

typedef enum evk_clk_freq evk_clk_freq_t

Board’s supported clock frequency.

typedef enum spi_prescaler spi_prescaler_t

Board’s SPI Baudrate prescaler enumeration.

Enums

enum evk_led

Board’s LED enumeration.

Values:

enumerator LED0

LED 0.

enumerator LED1

LED 1.

enumerator LED2

LED 2.

enum evk_dbg

Board’s debug GPIO enumeration.

Values:

enumerator DBG0

Debug GPIO 0.

enumerator DBG1

Debug GPIO 1.

enumerator DBG2

Debug GPIO 2.

enumerator DBG3

Debug GPIO 3.

enum evk_debug_pin

Board’s debug pins enumeration.

Values:

enumerator DEBUG_PC7

Debug pin PC7.

enumerator DEBUG_PC8

Debug pin PC8.

enumerator DEBUG_PC10

Debug pin PC10.

enumerator DEBUG_PC11

Debug pin PC11.

enum evk_btn

Board’s User button enumeration.

Values:

enumerator BTN1

Button 1.

enumerator BTN2

Button 2.

enum evk_vdd

Board’s VDD enumeration.

Values:

enumerator VDD_1V8

1.8V supply.

enumerator VDD_3V3

3.3V supply.

enum evk_clk_freq

Board’s supported clock frequency.

Values:

enumerator CLK_169_98MHZ = 169984000

169.98 MHz clock frequency.

enumerator CLK_163_84MHZ = 163840000

163.84 MHz clock frequency.

enumerator CLK_81_92MHZ = 81920000

81.92 MHz clock frequency.

enumerator CLK_40_96MHZ = 40960000

40.96 MHz clock frequency.

enumerator CLK_25_20MHZ = 25200000

25.20 MHz clock frequency.

enumerator CLK_20_48MHZ = 20480000

20.48 MHz clock frequency.

enumerator CLK_16MHZ = 16000000

16 MHz clock frequency.

enum spi_prescaler

Board’s SPI Baudrate prescaler enumeration.

Values:

enumerator SPI_PRESCALER_2 = SPI_BAUDRATEPRESCALER_2

SPI prescaler of 2.

enumerator SPI_PRESCALER_4 = SPI_BAUDRATEPRESCALER_4

SPI prescaler of 4.

enumerator SPI_PRESCALER_8 = SPI_BAUDRATEPRESCALER_8

SPI prescaler of 8.

enumerator SPI_PRESCALER_16 = SPI_BAUDRATEPRESCALER_16

SPI prescaler of 16.

enumerator SPI_PRESCALER_32 = SPI_BAUDRATEPRESCALER_32

SPI prescaler of 32.

enumerator SPI_PRESCALER_64 = SPI_BAUDRATEPRESCALER_64

SPI prescaler of 64.

enumerator SPI_PRESCALER_128 = SPI_BAUDRATEPRESCALER_128

SPI prescaler of 128.

enumerator SPI_PRESCALER_256 = SPI_BAUDRATEPRESCALER_256

SPI prescaler of 256.