
if BOARD_QUARK_SE_C1000_DEVBOARD

config BOARD
	default "quark_se_c1000_devboard"


config UART_QMSI_0_HW_FC
	def_bool y


if SYS_POWER_MANAGEMENT

config BUSY_WAIT_USES_ALTERNATE_CLOCK
	default y

endif

config BT_MONITOR_ON_DEV_NAME
	default UART_QMSI_1_NAME if BT_DEBUG_MONITOR

if IEEE802154_CC2520

config SPI
	def_bool y
config GPIO
	def_bool y

config IEEE802154_CC2520_SPI_DRV_NAME
	default SPI_1_NAME
config IEEE802154_CC2520_SPI_FREQ
	default 4
config IEEE802154_CC2520_SPI_SLAVE
	default 1


if GPIO_QMSI

config IEEE802154_CC2520_GPIO_0_NAME
	default GPIO_QMSI_0_NAME
config IEEE802154_CC2520_GPIO_1_NAME
	default GPIO_QMSI_1_NAME

endif # GPIO_QMSI

if SPI_QMSI
config SPI_CS_GPIO
	def_bool y
config SPI_1_CS_GPIO_PORT
	default GPIO_QMSI_0_NAME
config SPI_1_CS_GPIO_PIN
	default 11
config IEEE802154_CC2520_GPIO_0_NAME
	string
	default GPIO_QMSI_0_NAME
config IEEE802154_CC2520_GPIO_1_NAME
	string
	default GPIO_QMSI_1_NAME
endif

endif # IEEE802154_CC2520

if IEEE802154_CC1200

config SPI
	def_bool y
config SPI_QMSI
	def_bool n
config SPI_DW
	def_bool y

config GPIO
	def_bool y

config IEEE802154_CC1200_SPI_DRV_NAME
	default SPI_1_NAME
config IEEE802154_CC1200_SPI_FREQ
	default 8000000
config IEEE802154_CC1200_SPI_SLAVE
	default 2

config IEEE802154_CC1200_GPIO_SPI_CS
	def_bool y
config IEEE802154_CC1200_GPIO_SPI_CS_DRV_NAME
	default GPIO_QMSI_0_NAME
config IEEE802154_CC1200_GPIO_SPI_CS_PIN
	default 13

config IEEE802154_CC1200_GPIO_0_NAME
	string
	default GPIO_QMSI_0_NAME
config IEEE802154_CC1200_GPIO_1_NAME
	string
	default GPIO_QMSI_1_NAME

endif # IEEE802154_CC1200

endif # BOARD_QUARK_SE_C1000_DEVBOARD
