# Kconfig - Discovery IoT L475 board configuration
#
# Copyright (c) 2017 Linaro Limited
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_DISCO_L475_IOT1

config BOARD
	default disco_l475_iot1

if GPIO

config GPIO_STM32_PORTA
	def_bool y

config GPIO_STM32_PORTB
	def_bool y

config GPIO_STM32_PORTC
	def_bool y

config GPIO_STM32_PORTD
	def_bool y

config GPIO_STM32_PORTE
	def_bool y

config GPIO_STM32_PORTF
	def_bool n

config GPIO_STM32_PORTG
	def_bool n

config GPIO_STM32_PORTH
	def_bool n

endif # GPIO


if SERIAL

config UART_STM32_PORT_1
	def_bool y

endif # SERIAL


if PWM

config PWM_STM32_1
	def_bool n

config PWM_STM32_2
	def_bool y

endif # PWM
endif # BOARD_DISCO_L475_IOT1
