
if BOARD_ARDUINO_101

config BOARD
	default "arduino_101"

config TEXT_SECTION_OFFSET
	default 0x30

config SS_RESET_VECTOR
	default 0x40034000

config ROM_SIZE
	default 192

config PHYS_LOAD_ADDR
	default 0x40010000

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 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

config SPI_CS_GPIO
	def_bool y

config SPI_0_CS_GPIO_PIN
	default 24

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
