zephyr/drivers/eeprom/Kconfig
Henrik Brix Andersen c0c8952739 shell: do not enable subsystem/driver shell modules by default
Do not enable subsystem/driver shell modules by default and stop abusing
CONFIG_SHELL_MINIMAL, which is internal to the shell subsystem, to decide
when to enable a driver shell.

The list of shell modules has grown considerably through the
years. Enabling CONFIG_SHELL for doing e.g. an interactive debug session
leads to a large number of shell modules also being enabled unless
explicitly disabled, which again leads to non-negligible increases in
RAM/ROM usage.

This commit attempts to establish a policy of subsystem/driver shell
modules being disabled by default, requiring the user/application to
explicitly enable only those needed.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-20 09:21:40 +01:00

141 lines
3.5 KiB
Plaintext

# EEPROM driver configuration options
# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0
menuconfig EEPROM
bool "Electrically Erasable Programmable Read-Only Memory (EEPROM) drivers"
help
Enable support for EEPROM hardware.
if EEPROM
module = EEPROM
module-str = eeprom
source "subsys/logging/Kconfig.template.log_config"
config EEPROM_INIT_PRIORITY
int "EEPROM init priority"
default KERNEL_INIT_PRIORITY_DEVICE
help
EEPROM driver device initialization priority. This initialization
priority is used unless the driver implementation has its own
initialization priority.
config EEPROM_SHELL
bool "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_AT2X
bool
help
Enable support for Atmel AT2x (and compatible) I2C/SPI
EEPROMs.
config EEPROM_AT2X_EMUL
bool "Emulate an Atmel AT24 I2C chip"
depends on EMUL
help
This is an emulator for the Atmel AT24 series of I2C-attached EEPROMs.
At present it only supports 8-bit addressing. The size of the EEPROM
is given by the 'size' property. See the binding for further details.
config EMUL_EEPROM_AT2X
bool "[DEPRECATED] Emulate an Atmel AT24 I2C chip"
select EEPROM_AT2X_EMUL
select DEPRECATED
help
This is an emulator for the Atmel AT24 series of I2C-attached EEPROMs.
At present it only supports 8-bit addressing. The size of the EEPROM
is given by the 'size' property. See the binding for further details.
[DEPRECATED] Select EEPROM_AT2X_EMUL instead.
config EEPROM_AT24
bool "Atmel AT24 (and compatible) I2C EEPROM support"
default y
depends on DT_HAS_ATMEL_AT24_ENABLED
select 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"
default y
depends on DT_HAS_ATMEL_AT25_ENABLED
select SPI
select EEPROM_AT2X
help
Enable support for Atmel AT25 (and compatible) SPI EEPROMs.
config EEPROM_AT2X_INIT_PRIORITY
int "AT2X EEPROM init priority"
default 80
depends on EEPROM_AT2X
help
AT2X EEPROM driver device initialization priority.
The EEPROM is connected to I2C or SPI bus an has to be initialized
after I2C/SPI driver.
source "drivers/eeprom/Kconfig.lpc11u6x"
source "drivers/eeprom/Kconfig.stm32"
source "drivers/eeprom/Kconfig.eeprom_emu"
source "drivers/eeprom/Kconfig.tmp116"
source "drivers/eeprom/Kconfig.xec"
source "drivers/eeprom/Kconfig.mb85rcxx"
config EEPROM_SIMULATOR
bool "Simulated EEPROM driver"
default y
depends on DT_HAS_ZEPHYR_SIM_EEPROM_ENABLED
depends on !(ARCH_POSIX && !EXTERNAL_LIBC)
select STATS
select STATS_NAMES
help
Enable Simulated EEPROM driver.
config EEPROM_SIMULATOR_SIMULATE_TIMING
bool "Hardware timing simulation"
depends on EEPROM_SIMULATOR
help
Enable Simulated hardware timing.
if EEPROM_SIMULATOR_SIMULATE_TIMING
config EEPROM_SIMULATOR_MIN_READ_TIME_US
int
prompt "Minimum read time (µS)"
default 2
range 1 1000000
config EEPROM_SIMULATOR_MIN_WRITE_TIME_US
int
prompt "Minimum write time (µS)"
default 100
range 1 1000000
endif # EEPROM_SIMULATOR_SIMULATE_TIMING
config EEPROM_FAKE
bool "Fake EEPROM driver"
default y
depends on DT_HAS_ZEPHYR_FAKE_EEPROM_ENABLED
help
Enable support for the FFF-based fake EEPROM driver.
endif # EEPROM