[PATCH] board: amlogic: add MMC boot device detection for environment load
Jaehoon Chung
jh80.chung at samsung.com
Sun Dec 20 23:18:43 CET 2020
On 12/18/20 11:26 PM, Marek Szyprowski wrote:
> Detect eMMC or SD card boot on Odroid-C4/N2 and Khadas VIM3(l) boards and
> report proper MMC device for the environment loading code. This allows to
> automatically load and store environment variables on the FAT partition
> or RAW offset of the MMC device without the need to use different
> configurations on eMMC and SD card.
>
> To use this feature with environment stored on FAT partition, one has to
> specify an empty device part (i.e. ":1" for the first partition) in
> CONFIG_ENV_FAT_DEVICE_AND_PART to let the code to set the device to the
> value returned by mmc_get_env_dev() function.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>
Best Regards,
Jaehoon Chung
> ---
> board/amlogic/odroid-n2/odroid-n2.c | 8 ++++++++
> board/amlogic/vim3/vim3.c | 8 ++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c
> index caf7fd6810..12ee5d3abc 100644
> --- a/board/amlogic/odroid-n2/odroid-n2.c
> +++ b/board/amlogic/odroid-n2/odroid-n2.c
> @@ -10,6 +10,7 @@
> #include <init.h>
> #include <net.h>
> #include <asm/io.h>
> +#include <asm/arch/boot.h>
> #include <asm/arch/sm.h>
> #include <asm/arch/eth.h>
>
> @@ -17,6 +18,13 @@
> #define EFUSE_MAC_SIZE 12
> #define MAC_ADDR_LEN 6
>
> +int mmc_get_env_dev(void)
> +{
> + if (meson_get_boot_device() == BOOT_DEVICE_EMMC)
> + return 1;
> + return 0;
> +}
> +
> int misc_init_r(void)
> {
> u8 mac_addr[MAC_ADDR_LEN];
> diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c
> index 09ef39ff30..f9049e0172 100644
> --- a/board/amlogic/vim3/vim3.c
> +++ b/board/amlogic/vim3/vim3.c
> @@ -10,10 +10,18 @@
> #include <init.h>
> #include <net.h>
> #include <asm/io.h>
> +#include <asm/arch/boot.h>
> #include <asm/arch/eth.h>
> #include <i2c.h>
> #include "khadas-mcu.h"
>
> +int mmc_get_env_dev(void)
> +{
> + if (meson_get_boot_device() == BOOT_DEVICE_EMMC)
> + return 2;
> + return 1;
> +}
> +
> /*
> * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential
> * lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between
>
More information about the U-Boot
mailing list