mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 13:43:28 +00:00
env: mmc: statically set the environment partition name
The new opt-out setting, CONFIG_ENV_MMC_PARTITION, statically sets the MMC environment partition name. Prior to this patch, the only way to declare this partition name was by creating a 'u-boot,mmc-env-partition' parameter in the device-tree's /config node. This setting provides additional flexibility, particularly in cases where accessing the device-tree is not straightforward (e.g. QEMU). If undeclared, the device-tree's setting will be used. Signed-off-by: Emmanuel Di Fede <emmanuel.difede@cysec.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
parent
b1d774bb87
commit
9e70676cf5
3 changed files with 19 additions and 0 deletions
|
@ -76,6 +76,8 @@ u-boot,mmc-env-partition (int)
|
||||||
precedence. In that case, only if the partition is not found,
|
precedence. In that case, only if the partition is not found,
|
||||||
mmc-env-offset* will be tried.
|
mmc-env-offset* will be tried.
|
||||||
|
|
||||||
|
Note that CONFIG_ENV_MMC_PARTITION overrides this device-tree setting.
|
||||||
|
|
||||||
u-boot,no-apm-finalize (bool)
|
u-boot,no-apm-finalize (bool)
|
||||||
For x86 devices running on coreboot, this tells U-Boot not to lock
|
For x86 devices running on coreboot, this tells U-Boot not to lock
|
||||||
down the Intel Management Engine (ME) registers. This allows U-Boot to
|
down the Intel Management Engine (ME) registers. This allows U-Boot to
|
||||||
|
|
12
env/Kconfig
vendored
12
env/Kconfig
vendored
|
@ -662,6 +662,18 @@ config SYS_MMC_ENV_PART
|
||||||
partition 0 or the first boot partition, which is 1 or some other defined
|
partition 0 or the first boot partition, which is 1 or some other defined
|
||||||
partition.
|
partition.
|
||||||
|
|
||||||
|
config USE_ENV_MMC_PARTITION
|
||||||
|
bool "use the mmc environment partition name"
|
||||||
|
depends on ENV_IS_IN_MMC
|
||||||
|
|
||||||
|
config ENV_MMC_PARTITION
|
||||||
|
string "mmc environment partition name"
|
||||||
|
depends on USE_ENV_MMC_PARTITION
|
||||||
|
help
|
||||||
|
MMC partition name used to save environment variables.
|
||||||
|
If this variable is unset, u-boot will try to get the env partition name
|
||||||
|
from the device-tree's /config node.
|
||||||
|
|
||||||
config ENV_MMC_USE_DT
|
config ENV_MMC_USE_DT
|
||||||
bool "Read partition name and offset in DT"
|
bool "Read partition name and offset in DT"
|
||||||
depends on ENV_IS_IN_MMC && OF_CONTROL
|
depends on ENV_IS_IN_MMC && OF_CONTROL
|
||||||
|
|
5
env/mmc.c
vendored
5
env/mmc.c
vendored
|
@ -114,8 +114,13 @@ static inline s64 mmc_offset(struct mmc *mmc, int copy)
|
||||||
if (IS_ENABLED(CONFIG_SYS_MMC_ENV_PART))
|
if (IS_ENABLED(CONFIG_SYS_MMC_ENV_PART))
|
||||||
hwpart = mmc_get_env_part(mmc);
|
hwpart = mmc_get_env_part(mmc);
|
||||||
|
|
||||||
|
#if defined(CONFIG_ENV_MMC_PARTITION)
|
||||||
|
str = CONFIG_ENV_MMC_PARTITION;
|
||||||
|
#else
|
||||||
/* look for the partition in mmc CONFIG_SYS_MMC_ENV_DEV */
|
/* look for the partition in mmc CONFIG_SYS_MMC_ENV_DEV */
|
||||||
str = ofnode_conf_read_str(dt_prop.partition);
|
str = ofnode_conf_read_str(dt_prop.partition);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (str) {
|
if (str) {
|
||||||
/* try to place the environment at end of the partition */
|
/* try to place the environment at end of the partition */
|
||||||
err = mmc_offset_try_partition(str, copy, &val);
|
err = mmc_offset_try_partition(str, copy, &val);
|
||||||
|
|
Loading…
Reference in a new issue