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

if ARCH_CHIP_STM32C0

choice
	prompt "ST STM32C0 Chip Selection"
	default ARCH_CHIP_STM32C071RB
	depends on ARCH_CHIP_STM32C0

config ARCH_CHIP_STM32C051D8
	bool "STM32C051D8"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C051F6
	bool "STM32C051F6"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_6

config ARCH_CHIP_STM32C051F8
	bool "STM32C051F8"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C051G6
	bool "STM32C051G6"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_6

config ARCH_CHIP_STM32C051G8
	bool "STM32C051G8"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C051K6
	bool "STM32C051K6"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_6

config ARCH_CHIP_STM32C051K8
	bool "STM32C051K8"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C051C6
	bool "STM32C051C6"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_6

config ARCH_CHIP_STM32C051C8
	bool "STM32C051C8"
	select ARCH_CHIP_STM32C051XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071F8
	bool "STM32C071F8"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071FB
	bool "STM32C071FB"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C071G8
	bool "STM32C071G8"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071GB
	bool "STM32C071GB"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C071K8
	bool "STM32C071K8"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071KB
	bool "STM32C071KB"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C071C8
	bool "STM32C071C8"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071CB
	bool "STM32C071CB"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C071R8
	bool "STM32C071R8"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_8

config ARCH_CHIP_STM32C071RB
	bool "STM32C071RB"
	select ARCH_CHIP_STM32C071XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091FB
	bool "STM32C091FB"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091FC
	bool "STM32C091FC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C091EC
	bool "STM32C091EC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C091GB
	bool "STM32C091GB"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091GC
	bool "STM32C091GC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C091KB
	bool "STM32C091KB"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091KC
	bool "STM32C091KC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C091CB
	bool "STM32C091CB"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091CC
	bool "STM32C091CC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C091RB
	bool "STM32C091RB"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C091RC
	bool "STM32C091RC"
	select ARCH_CHIP_STM32C091XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092FB
	bool "STM32C092FB"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C092FC
	bool "STM32C092FC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092EC
	bool "STM32C092EC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092GB
	bool "STM32C092GB"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C092GC
	bool "STM32C092GC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092KB
	bool "STM32C092KB"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C092KC
	bool "STM32C092KC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092CB
	bool "STM32C092CB"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C092CC
	bool "STM32C092CC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

config ARCH_CHIP_STM32C092RB
	bool "STM32C092RB"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_B

config ARCH_CHIP_STM32C092RC
	bool "STM32C092RC"
	select ARCH_CHIP_STM32C092XX
	select STM32_FLASH_CONFIG_C

endchoice

endif

config STM32_STM32C0
	bool
	default n
	select STM32_HAVE_DMA1
	select STM32_HAVE_USART1
	select STM32_HAVE_USART2
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C2
	select STM32_HAVE_DMAMUX
	select STM32_HAVE_IP_ADC_M0_V1
	select STM32_HAVE_CRC
	select STM32_HAVE_BKP
	select STM32_HAVE_BKPSRAM
	select STM32_HAVE_IP_AES_M0_V1 if STM32_HAVE_AES
	select STM32_HAVE_IP_COMP_M0_V1 if STM32_HAVE_COMP
	select STM32_HAVE_IP_DAC_M0_V1 if STM32_HAVE_DAC1
	select STM32_HAVE_IP_DBGMCU_M0_V1
	select STM32_HAVE_IP_DMA_V1
	select STM32_HAVE_IP_FDCAN_MCAN_M0_V1
	select STM32_HAVE_IP_DMA_V1_7CH_DMAMUX
	select STM32_HAVE_IP_EXTI_V2
	select STM32_HAVE_IP_FLASH_M0_V1
	select STM32_HAVE_IP_FLASH_M0_G0C0
	select STM32_HAVE_IP_GPIO_M0_V1
	select STM32_HAVE_IP_I2C_M0_V1
	select STM32_HAVE_IP_PWR_G0
	select STM32_HAVE_IP_RNG_M0_V1 if STM32_HAVE_RNG
	select STM32_HAVE_IP_RTCC_M0_V1
	select STM32_HAVE_IP_SPI_V2
	select STM32_HAVE_IP_TIMERS_M0_V1
	select STM32_HAVE_IP_USART_V4
	select STM32_HAVE_IP_WDG_M0_V1
	select STM32_HAVE_IP_USBDEV_M0_V1 if STM32_HAVE_USBDEV
	select STM32_HAVE_TIM1
	select STM32_HAVE_TIM2
	select STM32_HAVE_TIM3
	select STM32_HAVE_TIM14
	select STM32_HAVE_TIM16
	select STM32_HAVE_TIM17
	select ARCH_HAVE_PROGMEM

config ARCH_CHIP_STM32C051XX
	bool
	select STM32_STM32C0

config ARCH_CHIP_STM32C071XX
	bool
	select STM32_STM32C0
	select STM32_HAVE_USBDEV

config ARCH_CHIP_STM32C091XX
	bool
	select STM32_STM32C0
	select STM32_HAVE_USART3
	select STM32_HAVE_USART4
	select STM32_HAVE_TIM15

config ARCH_CHIP_STM32C092XX
	bool
	select STM32_STM32C0
	select STM32_HAVE_USART3
	select STM32_HAVE_USART4
	select STM32_HAVE_FDCAN1
