5f15811286
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>
43 lines
897 B
Plaintext
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
|