# Copyright (c) 2019 Derek Hageman <hageman@inthat.cloud>
# SPDX-License-Identifier: Apache-2.0

DT_COMPAT_ATMEL_SAM0_I2C := atmel,sam0-i2c

menuconfig I2C_SAM0
	bool "SAM0 series I2C SERCOM driver"
	default $(dt_compat_enabled,$(DT_COMPAT_ATMEL_SAM0_I2C))
	depends on SOC_FAMILY_SAM0
	help
	  Enable the SAM0 series SERCOM I2C driver.

config I2C_SAM0_DMA_DRIVEN
	bool "DMA support for SAM0 I2C devices"
	depends on I2C_SAM0
	select DMA
	help
	  This enables DMA driven transactions for the I2C peripheral.
	  DMA driven mode requires fewer interrupts to handle the
	  transaction and ensures that high speed modes are not delayed
	  by data reloading.
