zephyr/drivers/eeprom/Kconfig

100 lines
2.2 KiB
Plaintext
Raw Normal View History

# 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_INIT_PRIORITY
int "EEPROM init priority"
default KERNEL_INIT_PRIORITY_DEVICE
help
EEPROM driver device initialization priority.
config EEPROM_SHELL
bool "EEPROM shell"
default y
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_AT24
bool "Atmel AT24 (and compatible) I2C EEPROM support"
default y
depends on DT_HAS_ATMEL_AT24_ENABLED
depends on 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
depends on SPI
select EEPROM_AT2X
help
Enable support for Atmel AT25 (and compatible) SPI EEPROMs.
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"
config EEPROM_SIMULATOR
bool "Simulated EEPROM driver"
default y
depends on DT_HAS_ZEPHYR_SIM_EEPROM_ENABLED
select STATS
select STATS_NAMES
help
Enable Simulated EEPROM driver.
config EEPROM_SIMULATOR_SIMULATE_TIMING
bool "Hardware timing simulation"
kconfig: Replace some single-symbol 'if's with 'depends on' I think people might be reading differences into 'if' and 'depends on' that aren't there, like maybe 'if' being needed to "hide" a symbol, while 'depends on' just adds a dependency. There are no differences between 'if' and 'depends on'. 'if' is just a shorthand for 'depends on'. They work the same when it comes to creating implicit menus too. The way symbols get "hidden" is through their dependencies not being satisfied ('if'/'depends on' get copied up as a dependency on the prompt). Since 'if' and 'depends on' are the same, an 'if' with just a single symbol in it can be replaced with a 'depends on'. IMO, it's best to avoid 'if' there as a style choice too, because it confuses people into thinking there's deep Kconfig magic going on that requires 'if'. Going for 'depends on' can also remove some nested 'if's, which generates nicer symbol information and docs, because nested 'if's really are so simple/dumb that they just add the dependencies from both 'if's to all symbols within. Replace a bunch of single-symbol 'if's with 'depends on' to despam the Kconfig files a bit and make it clearer how things work. Also do some other minor related dependency refactoring. The replacement isn't complete. Will fix up the rest later. Splitting it a bit to make it more manageable. (Everything above is true for choices, menus, and comments as well.) Detected by tweaking the Kconfiglib parsing code. It's impossible to detect after parsing, because 'if' turns into 'depends on'. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 10:45:50 +08:00
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
endif # EEPROM