
if BOARD_QUARK_SE_DEVBOARD

config BOARD
	default "quark_se_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 GPIO
	def_bool y

config BLUETOOTH_NRF51_PM
	def_bool y

config BLUETOOTH_WAIT_NOP
	def_bool y

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

config BLUETOOTH_MONITOR_ON_DEV_NAME
	default UART_QMSI_1_NAME if BLUETOOTH_DEBUG_MONITOR

if NETWORKING_WITH_15_4_TI_CC2520

config SPI
	def_bool y
config GPIO
	def_bool y

config TI_CC2520_SPI_DRV_NAME
	default SPI_1_NAME
config TI_CC2520_SPI_FREQ
	default 4
config TI_CC2520_SPI_SLAVE
	default 1


if GPIO_QMSI

config TI_CC2520_GPIO_NAME
	default GPIO_QMSI_0_NAME
config TI_CC2520_GPIO_AON_NAME
	default GPIO_QMSI_AON_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 TI_CC2520_GPIO_NAME
	string
	default GPIO_QMSI_0_NAME
config TI_CC2520_GPIO_AON_NAME
	string
	default GPIO_QMSI_AON_NAME
endif

endif # NETWORKING_WITH_15_4_TI_CC2520

endif # BOARD_QUARK_SE_DEVBOARD
