
if BOARD_ARDUINO_101

config BOARD
	default "arduino_101"

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

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

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 FLASH && SPI

config SPI_FLASH_W25QXXDV
	def_bool y

if SPI_FLASH_W25QXXDV

config SPI_FLASH_W25QXXDV_SPI_NAME
	default "SPI_0"
config SPI_FLASH_W25QXXDV_SPI_SLAVE
	default 1

endif # SPI_FLASH_W25QXXDV

endif # FLASH && SPI

endif # BOARD_ARDUINO_101
