2019-10-21 03:22:03 +08:00
|
|
|
# EEPROM driver configuration options
|
|
|
|
|
|
|
|
# Copyright (c) 2019 Vestas Wind Systems A/S
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
menuconfig EEPROM
|
2023-03-27 20:55:23 +08:00
|
|
|
bool "Electrically Erasable Programmable Read-Only Memory (EEPROM) drivers"
|
2019-10-21 03:22:03 +08:00
|
|
|
help
|
|
|
|
Enable support for EEPROM hardware.
|
|
|
|
|
|
|
|
if EEPROM
|
|
|
|
|
|
|
|
module = EEPROM
|
|
|
|
module-str = eeprom
|
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
|
2021-10-29 05:48:46 +08:00
|
|
|
config EEPROM_INIT_PRIORITY
|
|
|
|
int "EEPROM init priority"
|
|
|
|
default KERNEL_INIT_PRIORITY_DEVICE
|
|
|
|
help
|
2023-04-12 20:19:04 +08:00
|
|
|
EEPROM driver device initialization priority. This initialization
|
|
|
|
priority is used unless the driver implementation has its own
|
|
|
|
initialization priority.
|
2021-10-29 05:48:46 +08:00
|
|
|
|
2019-11-01 05:29:08 +08:00
|
|
|
config EEPROM_SHELL
|
2022-03-09 19:05:12 +08:00
|
|
|
bool "EEPROM shell"
|
2019-11-01 05:29:08 +08:00
|
|
|
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.
|
|
|
|
|
2019-11-04 02:06:40 +08:00
|
|
|
config EEPROM_AT2X
|
2019-12-23 19:07:30 +08:00
|
|
|
bool
|
2019-11-04 02:06:40 +08:00
|
|
|
help
|
|
|
|
Enable support for Atmel AT2x (and compatible) I2C/SPI
|
|
|
|
EEPROMs.
|
|
|
|
|
2023-01-25 01:12:18 +08:00
|
|
|
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.
|
|
|
|
|
2019-11-04 02:06:40 +08:00
|
|
|
config EEPROM_AT24
|
2024-05-30 18:25:18 +08:00
|
|
|
bool "I2C EEPROMs compatible with Atmel's AT24 family"
|
2022-07-21 17:07:28 +08:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ATMEL_AT24_ENABLED
|
2022-08-12 12:01:28 +08:00
|
|
|
select I2C
|
2019-11-04 02:06:40 +08:00
|
|
|
select EEPROM_AT2X
|
|
|
|
help
|
2024-05-30 18:25:18 +08:00
|
|
|
Enable support for I2C EEPROMs compatible with Atmel's AT24 family.
|
|
|
|
|
|
|
|
There are multiple vendors manufacturing I2C EEPROMs compatible with
|
|
|
|
the programming model of the Atmel AT24.
|
|
|
|
|
|
|
|
Examples of compatible EEPROM families:
|
|
|
|
- Microchip AT24xxx
|
|
|
|
- ST M24xxx
|
2019-11-04 02:06:40 +08:00
|
|
|
|
|
|
|
config EEPROM_AT25
|
2024-05-30 18:25:18 +08:00
|
|
|
bool "SPI EEPROMs compatibile with Atmel's AT25 family"
|
2022-07-21 17:07:28 +08:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ATMEL_AT25_ENABLED
|
2022-08-12 12:01:28 +08:00
|
|
|
select SPI
|
2019-11-04 02:06:40 +08:00
|
|
|
select EEPROM_AT2X
|
|
|
|
help
|
2024-05-30 18:25:18 +08:00
|
|
|
Enable support for SPI EEPROMs compatible with Atmel's AT25 family.
|
|
|
|
|
|
|
|
There are multiple vendors manufacturing SPI EEPROMs compatible with
|
|
|
|
the programming model of the Atmel AT25.
|
|
|
|
|
|
|
|
Examples of compatible EEPROM families:
|
|
|
|
- Microchip AT25xxx
|
|
|
|
- ST M95xxx
|
2019-11-04 02:06:40 +08:00
|
|
|
|
2023-04-12 20:19:04 +08:00
|
|
|
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.
|
|
|
|
|
2020-05-14 18:22:06 +08:00
|
|
|
source "drivers/eeprom/Kconfig.lpc11u6x"
|
2019-12-10 10:44:44 +08:00
|
|
|
source "drivers/eeprom/Kconfig.stm32"
|
2020-12-14 21:47:06 +08:00
|
|
|
source "drivers/eeprom/Kconfig.eeprom_emu"
|
2021-08-09 17:24:18 +08:00
|
|
|
source "drivers/eeprom/Kconfig.tmp116"
|
2022-05-18 06:19:02 +08:00
|
|
|
source "drivers/eeprom/Kconfig.xec"
|
2023-08-14 21:44:08 +08:00
|
|
|
source "drivers/eeprom/Kconfig.mb85rcxx"
|
2024-08-22 00:19:21 +08:00
|
|
|
source "drivers/eeprom/Kconfig.mb85rsxx"
|
2019-12-10 10:44:44 +08:00
|
|
|
|
2019-11-08 18:27:32 +08:00
|
|
|
config EEPROM_SIMULATOR
|
|
|
|
bool "Simulated EEPROM driver"
|
2022-07-21 17:07:28 +08:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ZEPHYR_SIM_EEPROM_ENABLED
|
2019-11-08 18:27:32 +08:00
|
|
|
select STATS
|
|
|
|
select STATS_NAMES
|
|
|
|
help
|
|
|
|
Enable Simulated EEPROM driver.
|
|
|
|
|
|
|
|
config EEPROM_SIMULATOR_SIMULATE_TIMING
|
2022-03-09 19:05:12 +08:00
|
|
|
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
|
2019-11-08 18:27:32 +08:00
|
|
|
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
|
|
|
|
|
2022-11-03 20:08:50 +08:00
|
|
|
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.
|
|
|
|
|
2019-10-21 03:22:03 +08:00
|
|
|
endif # EEPROM
|