linux-yocto/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

897 B

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