
if BOARD_QUARK_SE_C1000_DEVBOARD

config BOARD
	default "quark_se_c1000_devboard"

if NBLE

config GPIO
	def_bool y

config BLUETOOTH_NRF51_PM
	def_bool y

config NBLE_UART_ON_DEV_NAME
	default UART_QMSI_0_NAME

config UART_QMSI_0_BAUDRATE
	default 1000000

config UART_QMSI_0_HW_FC
	def_bool y

endif

if BLUETOOTH_H4

config BLUETOOTH_UART_ON_DEV_NAME
	default UART_QMSI_0_NAME

config UART_QMSI_0_BAUDRATE
	default 1000000

config UART_QMSI_0_HW_FC
	def_bool y

endif

if UART_PIPE

config UART_PIPE_ON_DEV_NAME
	default UART_QMSI_1_NAME

endif

if SYS_POWER_MANAGEMENT

config BUSY_WAIT_USES_ALTERNATE_CLOCK
	default y

endif

config BLUETOOTH_MONITOR_ON_DEV_NAME
	default UART_QMSI_1_NAME if BLUETOOTH_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

endif # BOARD_QUARK_SE_C1000_DEVBOARD
