[PATCH 2/9] phycore-imx8mp: Add overlay and bootenv.txt support
Teresa Remmet
T.Remmet at phytec.de
Thu Jul 4 08:40:55 CEST 2024
Am Dienstag, dem 02.07.2024 um 22:41 -0700 schrieb Daniel Schultz:
> From: Benjamin Hahn <B.Hahn at phytec.de>
>
> Add support for loading bootenv.txt as well as loading and applying
> overlays during boot from mmc and net.
>
> ${no_bootenv}: Prevent loading external bootenv.txt environment. Use
> ${overlays} variable directly from u-boot environment.
> ${no_overlay}: Do not load overlays defined in ${overlays} variable.
> Overlays loaded over the extension command are still
> being applied.
>
> Signed-off-by: Benjamin Hahn <B.Hahn at phytec.de>
> Signed-off-by: Daniel Schultz <d.schultz at phytec.de>
Reviewed-by: Teresa Remmet <t.remmet at phytec.de>
> ---
> board/phytec/phycore_imx8mp/phycore_imx8mp.env | 15 +++++++++++++++
> configs/phycore-imx8mp_defconfig | 6 +++---
> 2 files changed, 18 insertions(+), 3 deletions(-)
>
> diff --git a/board/phytec/phycore_imx8mp/phycore_imx8mp.env
> b/board/phytec/phycore_imx8mp/phycore_imx8mp.env
> index 7f6c5fd2c76..4ed5dc7e272 100644
> --- a/board/phytec/phycore_imx8mp/phycore_imx8mp.env
> +++ b/board/phytec/phycore_imx8mp/phycore_imx8mp.env
> @@ -1,4 +1,5 @@
> #include <env/phytec/rauc.env>
> +#include <env/phytec/overlays.env>
>
> bootcmd=
> if test ${dofastboot} = 1; then
> @@ -16,6 +17,8 @@ bootcmd=
> fi;
> fi;
> console=ttymxc0,115200
> +bootenv_addr=0x49100000
> +fdto_addr=0x49000000
> dofastboot=0
> emmc_dev=2
> fastboot_raw_partition_all=0 4194304
> @@ -32,8 +35,14 @@ mmcargs=
> mmcautodetect=yes
> mmcboot=
> echo Booting from mmc ...;
> + if test ${no_bootenv} = 0; then
> + if run mmc_load_bootenv; then
> + env import -t ${bootenv_addr} ${filesize};
> + fi;
> + fi;
> run mmcargs;
> if run loadfdt; then
> + run mmc_apply_overlays;
> booti ${loadaddr} - ${fdt_addr};
> else
> echo WARN: Cannot load the DT;
> @@ -51,9 +60,15 @@ netboot=
> else
> setenv get_cmd tftp;
> fi;
> + if test ${no_bootenv} = 0; then
> + if run net_load_bootenv; then
> + env import -t ${bootenv_addr} ${filesize};
> + fi;
> + fi;
> ${get_cmd} ${loadaddr} ${image};
> run netargs;
> if ${get_cmd} ${fdt_addr} ${fdt_file}; then
> + run net_apply_overlays;
> booti ${loadaddr} - ${fdt_addr};
> else
> echo WARN: Cannot load the DT;
> diff --git a/configs/phycore-imx8mp_defconfig b/configs/phycore-
> imx8mp_defconfig
> index 7b16e8ef58e..e20a43e2674 100644
> --- a/configs/phycore-imx8mp_defconfig
> +++ b/configs/phycore-imx8mp_defconfig
> @@ -5,6 +5,7 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
> CONFIG_SPL_GPIO=y
> CONFIG_SPL_LIBCOMMON_SUPPORT=y
> CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_PHYTEC_SOM_DETECTION=y
> CONFIG_ENV_SIZE=0x10000
> CONFIG_ENV_OFFSET=0x3C0000
> CONFIG_SYS_I2C_MXC_I2C1=y
> @@ -12,7 +13,7 @@ CONFIG_DM_GPIO=y
> CONFIG_DEFAULT_DEVICE_TREE="freescale/imx8mp-phyboard-pollux-rdk"
> CONFIG_SPL_TEXT_BASE=0x920000
> CONFIG_TARGET_PHYCORE_IMX8MP=y
> -CONFIG_PHYTEC_SOM_DETECTION=y
> +CONFIG_OF_LIBFDT_OVERLAY=y
> CONFIG_SYS_MONITOR_LEN=524288
> CONFIG_SPL_MMC=y
> CONFIG_SPL_SERIAL=y
> @@ -49,8 +50,6 @@ CONFIG_SPL_POWER=y
> CONFIG_SPL_WATCHDOG=y
> CONFIG_HUSH_PARSER=y
> CONFIG_SYS_PROMPT="u-boot=> "
> -# CONFIG_CMD_EXPORTENV is not set
> -# CONFIG_CMD_IMPORTENV is not set
> # CONFIG_CMD_CRC32 is not set
> CONFIG_CMD_EEPROM=y
> CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2
> @@ -74,6 +73,7 @@ CONFIG_CMD_EXT2=y
> CONFIG_CMD_EXT4=y
> CONFIG_CMD_EXT4_WRITE=y
> CONFIG_CMD_FAT=y
> +CONFIG_CMD_FS_GENERIC=y
> CONFIG_OF_CONTROL=y
> CONFIG_SPL_OF_CONTROL=y
> CONFIG_ENV_OVERWRITE=y
--
PHYTEC Messtechnik GmbH | Barcelona-Allee 1 | 55129 Mainz, Germany
Geschäftsführer: Dipl.-Ing. Michael Mitezki, Dipl.-Ing. Bodo Huber,
Dipl.-Ing. (FH) Markus Lickes | Handelsregister Mainz HRB 4656 |
Finanzamt Mainz | St.Nr. 266500608, DE 149059855
More information about the U-Boot
mailing list