summaryrefslogtreecommitdiffstats
path: root/drivers/nvmem/Kconfig
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2022-09-16 13:20:48 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-09-24 14:54:37 +0200
commitd5542923f200f95bddf524f36fd495f78aa28e3c (patch)
tree8799b30bf8035212bb1e5fbbd4ce09be95fc374a /drivers/nvmem/Kconfig
parent42992cf187e4e4bcfe3c58f8fc7b1832c5652d9f (diff)
downloadlinux-d5542923f200f95bddf524f36fd495f78aa28e3c.tar.bz2
nvmem: add driver handling U-Boot environment variables
U-Boot stores its setup as environment variables. It's a list of key-value pairs stored on flash device with a custom header. This commit adds an NVMEM driver that: 1. Provides NVMEM access to environment vars binary data 2. Extracts variables as NVMEM cells Current Linux's NVMEM sysfs API allows reading whole NVMEM data block. It can be used by user-space tools for reading U-Boot env vars block without the hassle of finding its location. Parsing will still need to be re-done there. Kernel-parsed NVMEM cells can be read however by Linux drivers. This may be useful for Ethernet drivers for reading device MAC address which is often stored as U-Boot env variable. Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220916122100.170016-2-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nvmem/Kconfig')
-rw-r--r--drivers/nvmem/Kconfig13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig
index d72d879a6d34..bab8a29c9861 100644
--- a/drivers/nvmem/Kconfig
+++ b/drivers/nvmem/Kconfig
@@ -344,4 +344,17 @@ config NVMEM_APPLE_EFUSES
This driver can also be built as a module. If so, the module will
be called nvmem-apple-efuses.
+config NVMEM_U_BOOT_ENV
+ tristate "U-Boot environment variables support"
+ depends on OF && MTD
+ select CRC32
+ help
+ U-Boot stores its setup as environment variables. This driver adds
+ support for verifying & exporting such data. It also exposes variables
+ as NVMEM cells so they can be referenced by other drivers.
+
+ Currently this drivers works only with env variables on top of MTD.
+
+ If compiled as module it will be called nvmem_u-boot-env.
+
endif