# Arduino Due Board configuration

# Copyright (c) 2017 Justin Watson
# SPDX-License-Identifier: Apache-2.0

if BOARD_ARDUINO_DUE

config BOARD
	default "arduino_due"

if GPIO

config GPIO_SAM
	default y

endif # GPIO

if I2C

config I2C_SAM_TWI
	default y

config I2C_0
	default y

config I2C_1
	default y

endif # I2C

endif # BOARD_ARDUINO_DUE
