mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-28 07:30:26 +09:00
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
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
|
If none, first valid partition in device D. If no
|
||||||
partition table then means device D.
|
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
|
config ENV_EXT4_FILE
|
||||||
string "Name of the EXT4 file to use for the environment"
|
string "Name of the EXT4 file to use for the environment"
|
||||||
depends on ENV_IS_IN_EXT4
|
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)
|
__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;
|
return (const char *)CONFIG_ENV_EXT4_DEVICE_AND_PART;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int env_ext4_save_buffer(env_t *env_new)
|
static int env_ext4_save_buffer(env_t *env_new)
|
||||||
|
Loading…
Reference in New Issue
Block a user