# EEPROM driver configuration options

# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0

menuconfig EEPROM
	bool "EEPROM hardware support"
	help
	  Enable support for EEPROM hardware.

if EEPROM

module = EEPROM
module-str = eeprom
source "subsys/logging/Kconfig.template.log_config"

config EEPROM_SHELL
	bool "Enable EEPROM shell"
	depends on SHELL
	help
	  Enable the EEPROM shell with EEPROM related commands.

config EEPROM_SHELL_BUFFER_SIZE
	int "EEPROM shell buffer size"
	default 256
	depends on EEPROM_SHELL
	help
	  Size of the buffer used for EEPROM read/write commands in
	  the EEPROM shell.

config EEPROM_NATIVE_POSIX
	bool "Native POSIX EEPROM driver"
	depends on BOARD_NATIVE_POSIX
	help
	  Enable Native POSIX EEPROM driver.

config EEPROM_AT2X
	bool # hidden
	help
	  Enable support for Atmel AT2x (and compatible) I2C/SPI
	  EEPROMs.

config EEPROM_AT24
	bool "Atmel AT24 (and compatible) I2C EEPROM support"
	depends on (I2C && HAS_DTS_I2C)
	select EEPROM_AT2X
	help
	  Enable support for Atmel AT24 (and compatible) I2C EEPROMs.

config EEPROM_AT25
	bool "Atmel AT25 (and compatible) SPI EEPROM support"
	depends on SPI
	select EEPROM_AT2X
	help
	  Enable support for Atmel AT25 (and compatible) SPI EEPROMs.

source "drivers/eeprom/Kconfig.stm32"

endif # EEPROM
