# 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

config USB_NRFX
	default y

config USB_DEVICE_STACK
	default y

config USB_DEVICE_PRODUCT
	default "Degu Evaluation Kit"

config USB_UART_CONSOLE
	default y

config UART_INTERRUPT_DRIVEN
	default y

config UART_LINE_CTRL
	default y

config UART_CONSOLE_ON_DEV_NAME
	default "CDC_ACM_0"

config UART_SHELL_ON_DEV_NAME
	default "CDC_ACM_0"

endif # USB

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
