# Kconfig - STM32 Nucleo-64 development board with STM32L053R8 MCU
#
# Copyright (c) 2018 Anthony Kreft <anthony.kreft@gmail.com>
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_NUCLEO_L053R8

config BOARD
	default "nucleo_l053r8"

if UART_CONSOLE

config UART_2
	default y

endif # UART_CONSOLE

# Disable ports D and H to allow kernel test cases common and
# contex to run on nucleo_l053r8.
# Test cases fail due to 'SRAM' region overflow.
if GPIO

config GPIO_STM32_PORTD
	default n

config GPIO_STM32_PORTH
	default n

endif # GPIO

if I2C

config I2C_1
	default y

endif # I2C

if SPI

config SPI_1
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

endif # BOARD_NUCLEO_L053R8
