# Copyright (c) 2021 Telink Semiconductor
# SPDX-License-Identifier: Apache-2.0

if BOARD_TLSR9518ADK80D

config BOARD
	default "tlsr9518adk80d"

config COMPRESSED_ISA
	default y

config GPIO_TELINK_B91
	default y if GPIO

config UART_TELINK_B91
	default y if SERIAL

config PWM_TELINK_B91
	default y if PWM

config ENTROPY_TELINK_B91_TRNG
	default y if ENTROPY_GENERATOR

config SOC_FLASH_TELINK_B91
	default y if FLASH

config SPI_TELINK_B91
	default y if SPI

config IEEE802154_TELINK_B91
	default y if IEEE802154

config NET_CONFIG_IEEE802154_DEV_NAME
	default "IEEE802154_b91"

config I2C_TELINK_B91
	default y if I2C

endif
