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

if ARCH_CHIP_STM32L0

choice
	prompt "ST STM32L0 Chip Selection"
	default ARCH_CHIP_STM32L073RZ
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L053C8
	bool "STM32L053C8"
	select ARCH_CHIP_STM32L053XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L053R8
	bool "STM32L053R8"
	select ARCH_CHIP_STM32L053XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071K8
	bool "STM32L071K8"
	select ARCH_CHIP_STM32L071XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071KB
	bool "STM32L071KB"
	select ARCH_CHIP_STM32L071XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071KZ
	bool "STM32L071KZ"
	select ARCH_CHIP_STM32L071XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071C8
	bool "STM32L071C8"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071CB
	bool "STM32L071CB"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071CZ
	bool "STM32L071CZ"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071V8
	bool "STM32L071V8"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071VB
	bool "STM32L071VB"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071VZ
	bool "STM32L071VZ"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071RB
	bool "STM32L071RB"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L071RZ
	bool "STM32L071RZ"
	select ARCH_CHIP_STM32L071XX
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072V8
	bool "STM32L072V8"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072VB
	bool "STM32L072VB"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072VZ
	bool "STM32L072VZ"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072KB
	bool "STM32L072KB"
	select ARCH_CHIP_STM32L072XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072KZ
	bool "STM32L072KZ"
	select ARCH_CHIP_STM32L072XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072CB
	bool "STM32L072CB"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072CZ
	bool "STM32L072CZ"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072RB
	bool "STM32L072RB"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L072RZ
	bool "STM32L072RZ"
	select ARCH_CHIP_STM32L072XX
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C3
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073V8
	bool "STM32L073V8"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073VB
	bool "STM32L073VB"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073VZ
	bool "STM32L073VZ"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073CB
	bool "STM32L073CB"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073CZ
	bool "STM32L073CZ"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073RB
	bool "STM32L073RB"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

config ARCH_CHIP_STM32L073RZ
	bool "STM32L073RZ"
	select ARCH_CHIP_STM32L073XX
	depends on ARCH_CHIP_STM32L0

endchoice

endif

config STM32_STM32L0
	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_ENERGYLITE
	select STM32_HAVE_LCD
	select STM32_HAVE_VREFINT
	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_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_SPI_V1
	select STM32_HAVE_IP_TIMERS_M0_V1
	select STM32_HAVE_IP_USART_V3
	select STM32_HAVE_IP_WDG_M0_V1
	select STM32_HAVE_IP_RNG_M0_V1 if STM32_HAVE_RNG
	select STM32_HAVE_IP_RTCC_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 ARCH_CHIP_STM32L053XX
	bool
	select STM32_STM32L0

config ARCH_CHIP_STM32L071XX
	bool
	select STM32_STM32L0
	select STM32_HAVE_RNG
	select STM32_HAVE_HSI48
	select STM32_HAVE_USART4

config ARCH_CHIP_STM32L072XX
	bool
	select STM32_STM32L0
	select STM32_HAVE_RNG
	select STM32_HAVE_HSI48
	select STM32_HAVE_USART4
	select STM32_HAVE_USART5
	select STM32_HAVE_I2C2
	select STM32_HAVE_USBDEV

config ARCH_CHIP_STM32L073XX
	bool
	select STM32_STM32L0
	select STM32_HAVE_RNG
	select STM32_HAVE_HSI48
	select STM32_HAVE_USART4
	select STM32_HAVE_USART5
	select STM32_HAVE_SPI2
	select STM32_HAVE_I2C2
	select STM32_HAVE_I2C3
	select STM32_HAVE_USBDEV

config STM32_FLASH_OVERRIDE
	bool "Override Flash Designator"
	default n
