# SPDX-License-Identifier: Apache-2.0

# Zephyr Kernel Configuration
CONFIG_SOC_SERIES_STM32L0X=y

# Platform Configuration
CONFIG_SOC_STM32L072XX=y
CONFIG_BOARD_DRAGINO_LSN50=y

# General Kernel Options
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=32000000

# Serial Drivers
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Pinmux Driver
CONFIG_PINMUX=y

# GPIO Controller
CONFIG_GPIO=y

# Clock configuration
CONFIG_CLOCK_CONTROL=y
# SYSCLK selection
CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y
# Use HSI source
CONFIG_CLOCK_STM32_PLL_SRC_HSI=y
CONFIG_CLOCK_STM32_PLL_DIVISOR=2
# produce 32Mhz clock at PLL output
CONFIG_CLOCK_STM32_PLL_MULTIPLIER=4
CONFIG_CLOCK_STM32_AHB_PRESCALER=1
CONFIG_CLOCK_STM32_APB1_PRESCALER=1
