env/ext4.c: allow loading from an EXT4 partition on the MMC boot device
This parallels what I added for FAT in commit 6731bef696
, allowing the
environment to be found in a specific partition on the device that the
board's mmc_get_env_dev() returns. On the Banana Pi R2 that means the
device that U-Boot was loaded from; either the internal eMMC or an SD
card.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
parent
4dee3f7851
commit
b0493bb75a
2 changed files with 18 additions and 0 deletions
4
env/Kconfig
vendored
4
env/Kconfig
vendored
|
@ -477,6 +477,10 @@ config ENV_EXT4_DEVICE_AND_PART
|
|||
If none, first valid partition in device D. If no
|
||||
partition table then means device D.
|
||||
|
||||
If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
|
||||
leaving the string starting with a colon, and the boot device will
|
||||
be used.
|
||||
|
||||
config ENV_EXT4_FILE
|
||||
string "Name of the EXT4 file to use for the environment"
|
||||
depends on ENV_IS_IN_EXT4
|
||||
|
|
14
env/ext4.c
vendored
14
env/ext4.c
vendored
|
@ -41,7 +41,21 @@ __weak const char *env_ext4_get_intf(void)
|
|||
|
||||
__weak const char *env_ext4_get_dev_part(void)
|
||||
{
|
||||
#ifdef CONFIG_MMC
|
||||
static char *part_str;
|
||||
|
||||
if (!part_str) {
|
||||
part_str = CONFIG_ENV_EXT4_DEVICE_AND_PART;
|
||||
if (!strcmp(CONFIG_ENV_EXT4_INTERFACE, "mmc") && part_str[0] == ':') {
|
||||
part_str = "0" CONFIG_ENV_EXT4_DEVICE_AND_PART;
|
||||
part_str[0] += mmc_get_env_dev();
|
||||
}
|
||||
}
|
||||
|
||||
return part_str;
|
||||
#else
|
||||
return (const char *)CONFIG_ENV_EXT4_DEVICE_AND_PART;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int env_ext4_save_buffer(env_t *env_new)
|
||||
|
|
Loading…
Reference in a new issue