# Infineon XMC4 I2C configuration options

# Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or
# an affiliate of Cypress Semiconductor Corporation
#
# SPDX-License-Identifier: Apache-2.0

menuconfig I2C_INFINEON_XMC4
	bool "Infineon XMC4 I2C driver"
	default y
	depends on DT_HAS_INFINEON_XMC4XXX_I2C_ENABLED
	select PINCTRL
	help
	  This option enables the I2C driver for Infineon XMC4 family.

config I2C_INFINEON_XMC4_TARGET_BUF
	int "I2C Target data buffer length"
	depends on I2C_INFINEON_XMC4
	range 1 1024
	default 64
	help
	  Buffer to receive data as an I2C Target.
