summaryrefslogtreecommitdiff
path: root/env
AgeCommit message (Collapse)Author
2026-04-27simplify NET_LEGACY || NET_LWIP condition with NET conditionQuentin Schulz
Since the move to make NET a menuconfig and NO_NET a synonym of NET=n, when NET is enabled, NET_LEGACY || NET_LWIP is necessarily true, so let's simplify the various checks across the codebase. SPL_NET_LWIP doesn't exist but SPL_NET_LEGACY is an alias for SPL_NET so the proper symbol is still defined in SPL whenever needed. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2026-04-27rename NET to NET_LEGACYQuentin Schulz
Highlight that NET really is the legacy networking stack by renaming the option to NET_LEGACY. This requires us to add an SPL_NET_LEGACY alias to SPL_NET as otherwise CONFIG_IS_ENABLED(NET_LEGACY) will not work for SPL. The "depends on !NET_LWIP" for SPL_NET clearly highlights that it is using the legacy networking app so this seems fine to do. This also has the benefit of removing potential confusion on NET being a specific networking stack instead of "any" network stack. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2026-04-08Merge patch series "env: scsi: support SCSI env without partition UUID"Tom Rini
David Lechner <dlechner@baylibre.com> says: This is a series adding support for reading U-Boot env directly from SCSI devices that do not have a partition table, similar to how we can already do this for MMC devices. The motivation behind this is that MediaTek's BSP is already using the same disk images for both MMC and UFS devices, so we need to be able to read the env from SCSI devices without requiring a partition UUID. The series starts with cleaning up a few oddities we noticed in the existing code. Then some refactoring so that the env code manages calling scsi_scan() so that we don't have to duplicate that for the new code path. Then finally, the last few patches add and document the new functionality. Link: https://lore.kernel.org/r/20260326-env-scsi-hw-part-support-v1-0-55c9dd07a2cb@baylibre.com
2026-04-08env: scsi: document requirements for ENV_IS_IN_SCSIDavid Lechner
Expand the Kconfig help for ENV_IS_IN_SCSI to explain the other required config options when this option is enabled. Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-04-08env: scsi: add CONFIG_ENV_SCSI_HW_PARTITIONDavid Lechner
Add CONFIG_ENV_SCSI_HW_PARTITION and supporting code to allow loading the environment directly from a SCSI device without a partition table. Some platforms store the environment directly on the SCSI device without a way to look it up by partition UUID. Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-04-08scsi: move scsi_scan() call out of scsi_get_blk_by_uuid()David Lechner
Move scsi_scan() call out of scsi_get_blk_by_uuid(). The only caller, env_scsi_get_part(), should be managing this call since it may also want to use different ways to get the partition information in the future. Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-04-08env: scsi: rename ENV_SCSI_PART_UUIDDavid Lechner
Rename SCSI_ENV_PART_UUID to ENV_SCSI_PART_UUID. All other environment- related config names are of the form ENV_<name>, so this is more consistent. Signed-off-by: David Lechner <dlechner@baylibre.com> Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
2026-04-07spl: env: Correct dependencies for SPL_SAVEENV and MMCTom Rini
The SPL_SAVEENV functionality, when working with an MMC device, can only work with SPL_MMC_WRITE enabled. This however only works with SPL_MMC also being enabled. Update the dependencies to show that if we have enabled SPL_ENV_IS_IN_MMC then we select SPL_MMC_WRITE and make SPL_ENV_IS_IN_MMC depends on SPL_MMC. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-04-07env: remote: Disallow CMD_SAVEENVTom Rini
Looking at how the saveenv portion of this driver was implemented, it does not appear that it could actually result in changes being saved on the remote end. Update Kconfig to disallow CMD_SAVEENV for ENV_IS_IN_REMOTE and then remove the relevant code. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-04-07env: Make more use of the ENV_SAVE_PTR macroTom Rini
With commit 82b2f4135719 ("env_internal.h: add alternative ENV_SAVE_PTR macro") we introduced the ENV_SAVE_PTR macro but as explained in the commit message, left full conversion for a later time. This commit makes more progress on that front by doing the remaining easy conversions to the new macro. Signed-off-by: Tom Rini <trini@konsulko.com> Changes in v2: - Reduce the number of conversions, some didn't work as expected once CMD_SAVEENV was actually disabled. - Finish converting UBI Cc Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2026-04-03env: Make use of IF_ENABLED_INT in spi flash supportTom Rini
In order to build the spi flash environment driver, but with CONFIG_ENV_REDUNDANT disabled we must make use of IF_ENABLED_INT to check for a value in CONFIG_ENV_OFFSET_REDUND otherwise we will fail to build. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-04-03env: Correct dependency for ENV_IS_IN_NANDTom Rini
In order to have ENV_IS_IN_NAND be valid we must have MTD_RAW_NAND enabled as a minimum, express this dependency in Kconfig. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-04-02env: flash: add catch-all for unrecognized flags in env_flash_init()Neil Berkman
When both environment copies have valid CRCs but the flag bytes do not match any recognized pair, env_flash_init() falls through without setting gd->env_addr or gd->env_valid. This is a problem because: 1. env_init() then sets gd->env_addr = &default_environment (in RAM). 2. In env_flash_load(), the pointer comparison gd->env_addr != &flash_addr->data evaluates true (RAM != flash), triggering the pointer swap that selects the secondary copy. 3. The repair logic writes OBSOLETE (0x00) to the non-active flag but cannot promote the other flag from 0x00 to ACTIVE (0x01) because NOR flash requires a sector erase to set bits. Both copies end up with flag=0x00. 4. On every subsequent boot, flag1 == flag2 triggers the ENV_REDUND path, printing a spurious "recovered successfully" warning until an explicit saveenv erases and rewrites the sectors. The recognized flag values are ACTIVE (0x01), OBSOLETE (0x00), and erased (0xFF). Of the 256 possible flag values, the existing chain of if/else-if handles only three: 253 of 256 values fall through without setting gd->env_addr. Combined with 0x00 (already stuck on NOR), 254 of 256 values eventually reach the persistent-warning state. Other env backends (SPI flash, NAND, MMC) handle this through env_check_redund() in env/common.c, which uses a numeric comparison of the flags as a serial counter and always reaches a decision. The CFI flash backend is the only one that uses its own flag-matching logic. Add a catch-all else clause that defaults to the primary copy with ENV_REDUND status, matching the existing behavior for the flag1==flag2 case. This ensures gd->env_addr is always set, preventing the unintended pointer swap. The condition is recoverable via saveenv. Signed-off-by: Neil Berkman <neil@xuku.com> Reproducer: https://gist.github.com/neilberkman/4155612a7942d3f510f204eb85e61943 The SPI flash backend (env/sf.c) has a related but distinct issue: it retained legacy boolean save semantics but its load path now uses the common serial-number logic in env_check_redund(), creating an inconsistency under interrupted updates. That has wider implications for fw_env.c and would need separate discussion.
2026-02-14Replace TARGET namespace and cleanup properlyTien Fong Chee
TARGET namespace is for machines / boards / what-have-you that building U-Boot for. Simply replace from TARGET to ARCH make things more clear and proper for ALL SoCFPGA. Signed-off-by: Brian Sune <briansune@gmail.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com> # Conflicts: # drivers/ddr/altera/Makefile
2026-01-07env: Add single to redundant environment upgrade pathMarek Vasut
Add support for converting single-copy environment to redundant environment. In case CRC checks on both redundant environment copies fail, try one more CRC check on the primary environment copy and treat it as single environment. If that check does pass, rewrite the single-copy environment into redundant environment format, indicate the environment is valid, and import that as usual primary copy of redundant environment. Follow up 'env save' will then store two environment copies and the system will continue to operate as regular redundant environment system. Add test which validates this upgrade path. The test starts with spi.bin which is pre-populated as single-copy environment and then upgrades that environment to dual-copy environment. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-10-24env: fat, ubi: Fix gd->env_valid for the first writeTom Rini
As resolved and explained in detail in commit e589d5822cac ("env: spi: Fix gd->env_valid for the first write") and archived discussion there is a corner case where we don't do the right thing with redundant environments. This same exact check was present in the mmc code and resolved with commit 813a0df27a8a ("env: Invert gd->env_valid for env_mmc_save") and in the discussion of that patch, I noted that both fat and ubi (and at the time, sf) were doing the same thing. Take the time now to correct fat and ubi environment. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-10-21env: Invert gd->env_valid for env_mmc_saveJasper Orschulko
The A/B update strategy of the env's has a gap in the first 2 calls of saveenv. The env's are stored twice on the first memory area if: gd->env_valid == ENV_INVALID. u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK <-- !!! u-boot=> saveenv Saving Environment to MMC... Writing to redundant MMC(1)... OK u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK This is the same issue as resolved in commit e589d5822cac ("env: spi: Fix gd->env_valid for the first write") Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com> Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu> Signed-off-by: Michael Heimpold <mhei@heimpold.de> [trini: Amend the commit message] --- Changes in v2: - Rebase to current master - Amend the commit message to reference the SPI version of this fix, which had significant follow-up discussion.
2025-10-16env: Kconfig: disable external env in secure os bootAnshul Dalal
Falcon mode uses falcon_image_file from the env during mmc fs boot, but external env can be compromised. Therefore disable access to external env by setting SPL_ENV_IS_NOWHERE when SPL_OS_BOOT_SECURE is set. Signed-off-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-10-06Merge branch 'next'Tom Rini
Merge the outstanding changes from the 'next' branch to master.
2025-10-04env: fix typo in multiple Kconfig descriptionsThomas Bonnefille
%s/environemt/environment Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
2025-10-02env: spi: Fix gd->env_valid for the first writeMichal Simek
When both SPI environment locations are invalid (gd->env_valid == ENV_INVALID), the first call to saveenv writes to the primary location and sets the active flag. However, the logic for updating gd->env_valid incorrectly sets it to ENV_REDUND, which does not match the actual location written. This causes the first two writes to target the same location, and alternation only begins after the second write. Update the logic to alternate gd->env_valid based on whether the last write was to the primary or redundant location, ensuring the first write sets ENV_VALID and subsequent writes alternate as expected. This aligns env_valid with the actual storage location and fixes the alternation sequence from the first write. With this change, the "Valid environment" printout correctly reflects the active location after each save, and the alternation between primary and redundant locations works as intended from the start. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Marek Vasut <marek.vasut@mailbox.org> Acked-by: E Shattow <e@freeshell.de>
2025-09-23Merge tag 'v2025.10-rc5' into nextTom Rini
Prepare v2025.10-rc5
2025-09-11env: fix config dependency for ENV_OFFSET_REDUND_RELATIVE_ENDHeiko Thiery
Since commit 5fb88fa725 "env: Rename SYS_REDUNDAND_ENVIRONMENT to ENV_REDUNDANT" the option SYS_REDUNDAND_ENVIRONMENT is no longer available and should be renamed to ENV_REDUNDANT. Fixes: 95f03ee65c0e ("env: mmc: fix offsets relative to the end of the partition") Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-08-25Merge tag 'v2025.10-rc3' into nextTom Rini
Prepare v2025.10-rc3
2025-08-23cmd: nand: bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOBdavid regan
bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOB since MTD_OOB_AUTO does not exist Fixes: dfe64e2c8973 ("mtd: resync with Linux-3.7.1") Signed-off-by: david regan <dregan@broadcom.com> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2025-08-20env: fat: Standardize the interface type checkFabio Estevam
Make the interface type check consistent among the other interface types by checking it agains the ifname string. The ifname string contains the string returned by env_fat_get_intf(), which returns the CONFIG_ENV_FAT_INTERFACE value. No functional change. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2025-08-20env: ext4: Add support for NVMEFabio Estevam
Add support for retrieving the EXT4 environment from an NVME device, the same way it can be retrieved from MMC, SCSI, or VIRTIO. To use the EXT4 environment from an NVME device, pass CONFIG_ENV_EXT4_INTERFACE="nvme" in the defconfig. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2025-08-20env: fat: Add support for NVMEFabio Estevam
Add support for retrieving the FAT environment from an NVME device, the same way it can be retrieved from MMC, SCSI, or VIRTIO. To use the FAT environment from an NVME device, pass CONFIG_ENV_FAT_INTERFACE="nvme" in the defconfig. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2025-08-14env: Correct Kconfig type for ENV_MMC_SW_PARTITIONTom Rini
As part of renaming environment related Kconfig options, ENV_MMC_SW_PARTITION was inadvertently changed from a string to a bool. Correct this. Fixes: ffc4914703a2 ("env: Rename ENV_MMC_PARTITION to ENV_MMC_SW_PARTITION") Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-11arm: socfpga: Correct how we set BOOTFILETom Rini
In order to set the BOOTFILE symbol we first need to have USE_BOOTFILE be set, or some of the logic might not work as expected later on when building. Second, defaults like this belong with the symbol itself. Fixes: da595d236b97 ("include: configs: soc64: Use CONFIG_SPL_ATF to differentiate bootfile") Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-01env: mtd: initialize saved_buf pointerShiji Yang
When sect_size is greater than the CONFIG_ENV_SIZE, this wild pointer will cause CPU halt or system crash. Fixes: 03fb08d4aef8 ("env: Introduce support for MTD") Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-08-01env: mtd: add the missing put_mtd_device()Shiji Yang
The mtd device is got in setup_mtd_device(), we must put the mtd device before exiting the function to update the mtd use count. This patch fixes the following env error: > Removing MTD device #2 (u-boot-env) with use count 1 > Error when deleting partition "u-boot-env" (-16) Fixes: 03fb08d4aef8 ("env: Introduce support for MTD") Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-07-11Kconfig: Test for !COMPILE_TEST in some locationsTom Rini
We have a few options that we cannot enable in a "allyesconfig" type build because we cannot use zero as a default value. - The logic around HAS_BOARD_SIZE_LIMIT assumes that if we have set this then we compare with it. Similarly, we need to set SPL_NO_BSS_LIMIT as the default there. - Both SYS_CUSTOM_LDSCRIPT and ENV_USE_DEFAULT_ENV_TEXT_FILE then prompt for a file name to use. - The SYS_I2C_SOFT driver is a legacy driver which requires a lot of configuration within the board config. file instead, so disable it. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-07-08env: Fix possible out-of-bound access in env_do_env_setChristian Marangi
It was discovered that env_do_env_set() currently suffer from a long time of a possible out-of-bound access for the argv array handling. The BUG is present in the function env_do_env_set() line: name = argv[1]; where the function at this point assume the argv at index 1 is always present and can't be NULL. Aside from the fact that it's always better to validate argv entry with the argc variable, situation where the argv[1] is NULL is actually possible and not an error condition. A example of where an out-of-bound access is triggered is with the command "askenv - Press ENTER to ...". This is a common pattern for bootmenu entry to ask the user input after a bootmenu command succeeded. In the context of such command, the while loop before "name = argv[1];" parse the "-" char as an option arg and increment the argv pointer by one (to make the rest of the logic code ignore the option argv) and decrement argc value. The while loop logic is correct but at the "name = argv[1];" line, the argv have only one element left (the "-" char) and accessing argv[1] (aka the secong element from argv pointer) cause an out-of-bound access (making the bootloader eventually crash with strchr searching in invalid data) To better handle this and prevent the out-of-bound access, actually check the argv entry left (with the use of the argc variable) and exit early before doing any kind of array access. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-07-02env: mmc: fix offsets relative to the end of the partitionMichael Walle
According to the help text, you can set negative offsets to indicated that the offset is relative to the end of the parition. But kconfig doesn't let you specify negative hex values. I think this fell through the cracks when converting the symbol from a '#define' to a kconfig option. Introduce a new boolean kconfig option to switch on the "relative to the end" behavior. Signed-off-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-06-20Merge patch series "Consistent Kconfig environment options CONFIG_ENV_ prefix"Tom Rini
Marek Vasut <marek.vasut+renesas@mailbox.org> says: Rename the environment related variables and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Link: https://lore.kernel.org/r/20250609192701.20260-1-marek.vasut+renesas@mailbox.org
2025-06-20env: Drop DELAY_ENVIRONMENTMarek Vasut
There are no users of DELAY_ENVIRONMENT and the same effect can be achieved either using DT /config/load-environment property, or by using ENV_IS_NOWHERE . Remove this configuration option and matching functionality. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename DEFAULT_ENV_FILE to ENV_DEFAULT_ENV_TEXT_FILEMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Also rename USE_DEFAULT_ENV_FILE to USE_ENV_DEFAULT_ENV_TEXT_FILE . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename ENV_MMC_PARTITION to ENV_MMC_SW_PARTITIONMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_SW_PARTITION to clarify this is the SD/MMC software partition table entry selector. Update the help text accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_MMC_ENV_PART to ENV_MMC_EMMC_HW_PARTITIONMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_EMMC_HW_PARTITION to clarify this is the eMMC hardware partition selector, not a software partition table entry selector. Retain the ENV_MMC_ prefix to make it easier to search for all the SD/MMC related ENV options. Update the help text accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_MMC_ENV_DEV to ENV_MMC_DEVICE_INDEXMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_DEVICE_INDEX to clarify this is the SD/MMC device index, a number, as enumerated by U-Boot. Update the help text accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_RELOC_GD_ENV_ADDR to ENV_RELOC_GD_ENV_ADDRMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename SYS_REDUNDAND_ENVIRONMENT to ENV_REDUNDANTMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-20env: Rename OVERWRITE_ETHADDR_ONCE to ENV_OVERWRITE_ETHADDR_ONCEMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-09Merge tag 'v2025.07-rc4' into nextTom Rini
Prepare v2025.07-rc4
2025-05-30env: Fix network support when CONFIG_NET_LWIP is setBenjamin ROBIN
When lwIP (CONFIG_NET_LWIP) is used instead of legacy stack (CONFIG_NET), environment flags support associated with network was not built: restore support of "i" and "m" environment flags. Signed-off-by: Benjamin ROBIN <dev@benjarobin.fr> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-05-29Merge patch series "Enable env in SCSI"Tom Rini
Varadarajan Narayanan <quic_varada@quicinc.com> says: The qcs9100 based Ride platforms have UFS as their primary storage. Hence add support to U-Boot env framework to be able to save and retrieve the environment from UFS. The environment will be saved/retrieved from the partition specified in the config option CONFIG_SCSI_ENV_PART. Also add an API to convert partition UUID string to block device descriptor for UFS. This API will be used to get the block device descriptor for the partition specified in CONFIG_SCSI_ENV_PART. Link: https://lore.kernel.org/r/20250513091710.3719292-1-quic_varada@quicinc.com
2025-05-29env: Add support for storing env variables in SCSI devicesVaradarajan Narayanan
Allow SCSI to be able to store environment variables. Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com> Acked-by: Casey Connolly <casey.connolly@linaro.org>
2025-05-23env: mtd: fix usability with NAND flashesWeijie Gao
1. As this is for MTD-based devices, the Kconfig dependency should be MTD instead of only spi-nor flashes 2. Initialize saved_buf to avoid crash on free() 3. Remaining size should be set correctly to write_size Fixes: 03fb08d4aef (env: Introduce support for MTD) Signed-off-by: Weijie Gao <weijie.gao@mediatek.com> Reviewed-by: Christian Marangi <ansuelsmth@gmail.com>
2025-05-05env: Introduce support for MTDChristian Marangi
Introduce support for env in generic MTD. Currently we only support SPI flash based on the lagacy sf cmd that assume SPI flash are always NOR. This is not the case as to SPI controller also NAND can be attached. To support also these flash scenario, add support for storing and reading ENV from generic MTD device by adding an env driver that base entirely on the MTD api. Introduce a new kconfig CONFIG_ENV_IS_IN_MTD and CONFIG_ENV_MTD_DEV to define the name of the MTD device as exposed by mtd list. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>