#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

if ARCH_CHIP_STM32H5

comment "STM32H5 Configuration Options"

config STM32_H5_PERIPHERALS
	bool
	default y
	select STM32_HAVE_DMA1
	select STM32_HAVE_DMA2
	select STM32_HAVE_I2C1
	select STM32_HAVE_I2C2
	select STM32_HAVE_I2C3
	select STM32_HAVE_I2C4
	select STM32_HAVE_RNG
	select STM32_HAVE_SPI1
	select STM32_HAVE_SPI2
	select STM32_HAVE_SPI3
	select STM32_HAVE_SYSCFG
	select STM32_HAVE_DTS
	select STM32_HAVE_QSPI1
	select STM32_HAVE_USBFS_MODE
	select STM32_HAVE_USBDRD_HOST
	select STM32_HAVE_ADC_H5
	select STM32_HAVE_USART_H5
	select STM32_HAVE_I2C_H5

choice
	prompt "STM32 H5 Chip Selection"
	default ARCH_CHIP_STM32H563ZI
	depends on ARCH_CHIP_STM32H5

config ARCH_CHIP_STM32H563ZI
	bool "STM32H563ZI"
	select ARCH_CORTEXM33
	select STM32_STM32H5XXXX
	select STM32_STM32H56XXX
	select STM32_STM32H563XX
	select STM32_STM32H5X3XX
	select STM32_FLASH_CONFIG_I
	select STM32H5_IO_CONFIG_Z
	---help---
		STM32 H5 Cortex M33, 512 Kb FLASH, 256 Kb SRAM

endchoice # STM32 H5 Chip Selection

# Chip families:

config STM32_STM32H5XXXX
	bool
	default n
	select ARCH_HAVE_FPU
	select STM32_HAVE_ICACHE

config STM32_STM32H56XXX
	bool
	default n
	select STM32_HAVE_CORDIC
	select STM32_HAVE_FDCAN1
	select STM32_HAVE_FDCAN2
	select STM32_HAVE_IP_CORDIC_M3M4_V1
	select STM32_HAVE_TIM1
	select STM32_HAVE_TIM2
	select STM32_HAVE_TIM3
	select STM32_HAVE_TIM4
	select STM32_HAVE_TIM5
	select STM32_HAVE_TIM6
	select STM32_HAVE_TIM7
	select STM32_HAVE_TIM8
	select STM32_HAVE_TIM12
	select STM32_HAVE_TIM13
	select STM32_HAVE_TIM14
	select STM32_HAVE_TIM15
	select STM32_HAVE_TIM16
	select STM32_HAVE_TIM17
	select STM32_HAVE_LPUART1
	select STM32_HAVE_USART1
	select STM32_HAVE_USART2
	select STM32_HAVE_USART3
	select STM32_HAVE_UART4
	select STM32_HAVE_UART5
	select STM32_HAVE_USART6
	select STM32_HAVE_UART7
	select STM32_HAVE_UART8
	select STM32_HAVE_UART9
	select STM32_HAVE_USART10
	select STM32_HAVE_USART11
	select STM32_HAVE_UART12
	select STM32_HAVE_SPI4
	select STM32_HAVE_SPI5
	select STM32_HAVE_SPI6
	select STM32_HAVE_I2C4
	select STM32_HAVE_USBFS
	select STM32_HAVE_HSI48
	select STM32_HAVE_ICACHE_REMAP

config STM32_STM32H563XX
	# STM32H552 and STM32H562 devices documented in RM0439
	bool
	default n
	select STM32_HAVE_ETHERNET

# Pin/package configurations

config STM32H5_IO_CONFIG_K
	# Package designator K
	bool
	default n

config STM32H5_IO_CONFIG_T
	# Package designator T
	bool
	default n

config STM32H5_IO_CONFIG_C
	# Package designator C
	bool
	default n

config STM32H5_IO_CONFIG_R
	# Package designator R
	bool
	default n

config STM32H5_IO_CONFIG_J
	# Package designator J
	bool
	default n

config STM32H5_IO_CONFIG_M
	# Package designator M
	bool
	default n

config STM32H5_IO_CONFIG_V
	# Package designator V
	bool
	default n

config STM32H5_IO_CONFIG_Q
	# Package designator Q
	bool
	default n

config STM32H5_IO_CONFIG_Z
	# Package designator Z
	bool
	default n

config STM32H5_IO_CONFIG_A
	# Package designator A
	bool
	default n

comment "STM32H5 SRAM2 Options"

endif # ARCH_CHIP_STM32H5
