1
linux/drivers/nvmem/layouts/Kconfig
Rafał Miłecki 5f15811286 nvmem: layouts: add U-Boot env layout
U-Boot environment variables are stored in a specific format. Actual
data can be placed in various storage sources (MTD, UBI volume, EEPROM,
NVRAM, etc.).

Move all generic (NVMEM device independent) code from NVMEM device
driver to an NVMEM layout driver. Then add a simple NVMEM layout code on
top of it.

This allows using NVMEM layout for parsing U-Boot env data stored in any
kind of NVMEM device.

The old NVMEM glue driver stays in place for handling bindings in the
MTD context. To avoid code duplication it uses exported layout parsing
function. Please note that handling MTD & NVMEM layout bindings may be
refactored in the future.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-5-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-11 16:05:15 +02:00

43 lines
897 B
Plaintext

# SPDX-License-Identifier: GPL-2.0
config NVMEM_LAYOUTS
bool
depends on OF
if NVMEM_LAYOUTS
menu "Layout Types"
config NVMEM_LAYOUT_SL28_VPD
tristate "Kontron sl28 VPD layout support"
select CRC8
help
Say Y here if you want to support the VPD layout of the Kontron
SMARC-sAL28 boards.
If unsure, say N.
config NVMEM_LAYOUT_ONIE_TLV
tristate "ONIE tlv support"
select CRC32
help
Say Y here if you want to support the Open Compute Project ONIE
Type-Length-Value standard table.
If unsure, say N.
config NVMEM_LAYOUT_U_BOOT_ENV
tristate "U-Boot environment variables layout"
select CRC32
select GENERIC_NET_UTILS
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.
If unsure, say N.
endmenu
endif