# Kconfig - 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_ATMEL_SAM3
	def_bool y

config GPIO_ATMEL_SAM3_PORTA
	default y

config GPIO_ATMEL_SAM3_PORTB
	default y

config GPIO_ATMEL_SAM3_PORTC
	default y

config GPIO_ATMEL_SAM3_PORTD
	default y

endif # GPIO

if I2C

config I2C_SAM_TWI
	def_bool y

config I2C_0
	default y

config I2C_1
	default y

endif # I2C

endif # BOARD_ARDUINO_DUE
