# SPDX-License-Identifier: Apache-2.0

if BOARD_RV32M1_VEGA

config BOARD
	default "rv32m1_vega_ri5cy" if SOC_OPENISA_RV32M1_RI5CY
	default "rv32m1_vega_zero_riscy" if SOC_OPENISA_RV32M1_ZERO_RISCY

if UART_RV32M1_LPUART

config UART_RV32M1_LPUART_0
	def_bool y if UART_CONSOLE

endif # UART_RV32M1

if PINMUX_RV32M1

config PINMUX_RV32M1_PORTA
	def_bool y

config PINMUX_RV32M1_PORTB
	def_bool y

config PINMUX_RV32M1_PORTC
	def_bool y

config PINMUX_RV32M1_PORTD
	def_bool y

config PINMUX_RV32M1_PORTE
	def_bool y if RV32M1_INTMUX

endif # PINMUX_RV32M1

if GPIO_RV32M1

config GPIO_RV32M1_PORTA
	def_bool y

config GPIO_RV32M1_PORTB
	def_bool y if RV32M1_INTMUX

config GPIO_RV32M1_PORTC
	def_bool y if RV32M1_INTMUX

config GPIO_RV32M1_PORTD
	def_bool y if RV32M1_INTMUX

config GPIO_RV32M1_PORTE
	def_bool y if RV32M1_INTMUX

endif # GPIO_RV32M1

if SERIAL

config UART_RV32M1_LPUART
	def_bool y

endif # SERIAL

endif # BOARD_RV32M1_VEGA
