# Degu Evaluation Kit configuration

# Copyright (c) 2019 Atmark Techno, Inc.
# SPDX-License-Identifier: Apache-2.0

if BOARD_DEGU_EVK

config BOARD
	default "degu_evk"

if USB_DEVICE_STACK

config USB_DEVICE_PRODUCT
	default "Degu Evaluation Kit"

config UART_INTERRUPT_DRIVEN
	default y

config UART_LINE_CTRL
	default y

endif # USB_DEVICE_STACK

if DISK_DRIVER_FLASH

config DISK_FLASH_DEV_NAME
	default "NRF_FLASH_DRV_NAME"

config DISK_FLASH_START
	default 0xf8000

config DISK_FLASH_MAX_RW_SIZE
	default 4

config DISK_ERASE_BLOCK_SIZE
	default 0x1000

config DISK_FLASH_ERASE_ALIGNMENT
	default 0x1000

config DISK_VOLUME_SIZE
	default 0x8000

endif # DISK_DRIVER_FLASH

endif # BOARD_DEGU_EVK
