# SPDX-License-Identifier: Apache-2.0

if BOARD_RV32M1_VEGA
comment "RV32M1 board Kconfig.defconfig"

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
	default y if UART_CONSOLE

endif # UART_RV32M1

if PINMUX_RV32M1

config PINMUX_RV32M1_PORTA
	default y

config PINMUX_RV32M1_PORTB
	default y

config PINMUX_RV32M1_PORTC
	default y

config PINMUX_RV32M1_PORTD
	default y

config PINMUX_RV32M1_PORTE
	default y if RV32M1_INTMUX

endif # PINMUX_RV32M1

if GPIO_RV32M1

config GPIO_RV32M1_PORTA
	default y

config GPIO_RV32M1_PORTB
	default y if RV32M1_INTMUX

config GPIO_RV32M1_PORTC
	default y if RV32M1_INTMUX

config GPIO_RV32M1_PORTD
	default y if RV32M1_INTMUX

config GPIO_RV32M1_PORTE
	default y if RV32M1_INTMUX

endif # GPIO_RV32M1

if SERIAL

config UART_RV32M1_LPUART
	default y

endif # SERIAL

if I2C

config I2C_0
	default y

config I2C_3
	default y if RV32M1_INTMUX

endif # I2C

if SPI

config SPI_1
	default y

endif # SPI

if BT

config BT_CTLR
	default y

config RV32M1_INTMUX_CHANNEL_2
	default n

config RV32M1_INTMUX_CHANNEL_3
	default n

endif # BT

endif # BOARD_RV32M1_VEGA
