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

if ARCH_CHIP_STM32F0

choice
	prompt "ST STM32F0 Chip Selection"
	default ARCH_CHIP_STM32F051R8
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030C6
	bool "STM32F030C6"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030C8
	bool "STM32F030C8"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030CC
	bool "STM32F030CC"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030F4
	bool "STM32F030F4"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030K6
	bool "STM32F030K6"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030R8
	bool "STM32F030R8"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F030RC
	bool "STM32F030RC"
	select STM32_STM32F03X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031C4
	bool "STM32F031C4"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031C6
	bool "STM32F031C6"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031E6
	bool "STM32F031E6"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031F4
	bool "STM32F031F4"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031F6
	bool "STM32F031F6"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031G4
	bool "STM32F031G4"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031G6
	bool "STM32F031G6"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031K4
	bool "STM32F031K4"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F031K6
	bool "STM32F031K6"
	select STM32_STM32F03X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F038C6
	bool "STM32F038C6"
	select STM32_STM32F03X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F038E6
	bool "STM32F038E6"
	select STM32_STM32F03X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F038F6
	bool "STM32F038F6"
	select STM32_STM32F03X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F038G6
	bool "STM32F038G6"
	select STM32_STM32F03X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F038K6
	bool "STM32F038K6"
	select STM32_STM32F03X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042C4
	bool "STM32F042C4"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042C6
	bool "STM32F042C6"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042F4
	bool "STM32F042F4"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042F6
	bool "STM32F042F6"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042G4
	bool "STM32F042G4"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042G6
	bool "STM32F042G6"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042K4
	bool "STM32F042K4"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042K6
	bool "STM32F042K6"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F042T6
	bool "STM32F042T6"
	select STM32_STM32F04X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F048C6
	bool "STM32F048C6"
	select STM32_STM32F04X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F048G6
	bool "STM32F048G6"
	select STM32_STM32F04X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F048T6
	bool "STM32F048T6"
	select STM32_STM32F04X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051C4
	bool "STM32F051C4"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051C6
	bool "STM32F051C6"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051C8
	bool "STM32F051C8"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051K4
	bool "STM32F051K4"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051K6
	bool "STM32F051K6"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051K8
	bool "STM32F051K8"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051R4
	bool "STM32F051R4"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051R6
	bool "STM32F051R6"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051R8
	bool "STM32F051R8"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F051T8
	bool "STM32F051T8"
	select STM32_STM32F05X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F058C8
	bool "STM32F058C8"
	select STM32_STM32F05X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F058R8
	bool "STM32F058R8"
	select STM32_STM32F05X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F058T8
	bool "STM32F058T8"
	select STM32_STM32F05X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F070C6
	bool "STM32F070C6"
	select STM32_STM32F07X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F070CB
	bool "STM32F070CB"
	select STM32_STM32F07X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F070F6
	bool "STM32F070F6"
	select STM32_STM32F07X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F070RB
	bool "STM32F070RB"
	select STM32_STM32F07X
	select STM32F0_VALUELINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F071C8
	bool "STM32F071C8"
	select STM32_STM32F07X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F071CB
	bool "STM32F071CB"
	select STM32_STM32F07X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F071RB
	bool "STM32F071RB"
	select STM32_STM32F07X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F071V8
	bool "STM32F071V8"
	select STM32_STM32F07X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F071VB
	bool "STM32F071VB"
	select STM32_STM32F07X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072C8
	bool "STM32F072C8"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072CB
	bool "STM32F072CB"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072R8
	bool "STM32F072R8"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072RB
	bool "STM32F072RB"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072V8
	bool "STM32F072V8"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F072VB
	bool "STM32F072VB"
	select STM32_STM32F07X
	select STM32F0_USBLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F078CB
	bool "STM32F078CB"
	select STM32_STM32F07X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F078RB
	bool "STM32F078RB"
	select STM32_STM32F07X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F078VB
	bool "STM32F078VB"
	select STM32_STM32F07X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091CB
	bool "STM32F091CB"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091CC
	bool "STM32F091CC"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091RB
	bool "STM32F091RB"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091RC
	bool "STM32F091RC"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091VB
	bool "STM32F091VB"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F091VC
	bool "STM32F091VC"
	select STM32_STM32F09X
	select STM32F0_ACCESSLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F098CC
	bool "STM32F098CC"
	select STM32_STM32F09X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F098RC
	bool "STM32F098RC"
	select STM32_STM32F09X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

config ARCH_CHIP_STM32F098VC
	bool "STM32F098VC"
	select STM32_STM32F09X
	select STM32F0_LOWVOLTLINE
	depends on ARCH_CHIP_STM32F0

endchoice

endif

config STM32_STM32F0
	bool
	default n
	select STM32_HAVE_DMA1
	select STM32_HAVE_I2C1
	select STM32_HAVE_SPI1
	select STM32_HAVE_USART1
	select STM32_HAVE_USART2
	select STM32_HAVE_USART3
	select STM32_HAVE_USART4
	select STM32_HAVE_TIM1
	select STM32_HAVE_TIM2
	select STM32_HAVE_TIM3
	select STM32_HAVE_TIM6
	select STM32_HAVE_TIM7
	select STM32_HAVE_TIM14
	select STM32_HAVE_TIM15
	select STM32_HAVE_TIM16
	select STM32_HAVE_TIM17
	select STM32_HAVE_IP_ADC_M0_V1
	select STM32_HAVE_CRC
	select STM32_HAVE_PWR
	select STM32_HAVE_BKP
	select STM32_HAVE_BKPSRAM
	select STM32_HAVE_IP_AES_M0_V1 if STM32_HAVE_AES
	select STM32_HAVE_IP_CAN_BXCAN_M0_V1
	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_DMA_V1_7CH
	select STM32_HAVE_IP_EXTI_V1
	select STM32_HAVE_IP_FLASH_M0_V1
	select STM32_HAVE_IP_GPIO_M0_V1
	select STM32_HAVE_IP_I2C_M0_V1
	select STM32_HAVE_IP_PWR_M0_V1
	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_V3
	select STM32_HAVE_IP_WDG_M0_V1
	select STM32_HAVE_IP_USBDEV_M0_V1 if STM32_HAVE_USBDEV
	select STM32_HAVE_IP_HSI48_M0_V1 if STM32_HAVE_HSI48

config STM32_STM32F03X
	bool
	default n
	select STM32_STM32F0

config STM32_STM32F04X
	bool
	default n
	select STM32_STM32F0
	select STM32_HAVE_HSI48

config STM32_STM32F05X
	bool
	default n
	select STM32_STM32F0
	select STM32_HAVE_DMA2

config STM32_STM32F07X
	bool
	default n
	select STM32_STM32F0
	select STM32_HAVE_HSI48
	select STM32_HAVE_DMA2

config STM32_STM32F09X
	bool
	default n
	select STM32_STM32F0
	select STM32_HAVE_HSI48
	select STM32_HAVE_DMA2

config STM32F0_VALUELINE
	bool
	default n
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2

config STM32F0_ACCESSLINE
	bool
	default n
	select STM32_HAVE_USART5
	select STM32_HAVE_CAN1
	select STM32_HAVE_SPI2

config STM32F0_LOWVOLTLINE
	bool
	default n
	select STM32_HAVE_USART5
	select STM32_HAVE_CAN1
	select STM32_HAVE_SPI2

config STM32F0_USBLINE
	bool
	default n
	select STM32_HAVE_HSI48
	select STM32_HAVE_CAN1
	select STM32_HAVE_SPI2
	select STM32_HAVE_USBDEV
