diff options
author | Benjamin Hahn <B.Hahn@phytec.de> | 2024-07-16 22:11:26 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-07-22 13:47:57 -0600 |
commit | 26b2d2c0f271c4b9a5cd4f32be280fca2bec452c (patch) | |
tree | eaca7da34859fe0baa7b63337fd6626a5a3e7e38 /include/env | |
parent | 902d8ee94ce29a088a325da6e69eeb1a25f1fec7 (diff) | |
download | u-boot-26b2d2c0f271c4b9a5cd4f32be280fca2bec452c.tar.gz u-boot-26b2d2c0f271c4b9a5cd4f32be280fca2bec452c.tar.bz2 u-boot-26b2d2c0f271c4b9a5cd4f32be280fca2bec452c.zip |
include: env: phytec: Create env file for loading and applying overlays
The env scripts for loading and applying overlays are identical for many
PHYTEC Boards. Create a common env that can be included.
The env variables bootenv_addr and fdto_addr are board specific and need
to be set in the board specific file. The env variable get_cmd also
needs to be set in board specific files and can be set to tftp or dhcp.
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Diffstat (limited to 'include/env')
-rw-r--r-- | include/env/phytec/overlays.env | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/env/phytec/overlays.env b/include/env/phytec/overlays.env new file mode 100644 index 0000000000..febb991f4f --- /dev/null +++ b/include/env/phytec/overlays.env @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2024 PHYTEC Messtechnik GmbH + * Author: Benjamin Hahn <b.hahn@phytec.de> + */ + +/* Logic to load and apply overlays. Load overlays from bootenv.txt into + * environment and apply those overlays. + * The variables bootenv_addr and fdto_addr are board specific. */ + +bootenv=bootenv.txt +mmc_load_bootenv=load mmc ${mmcdev}:${mmcpart} ${bootenv_addr} ${bootenv} +mmc_load_overlay=load mmc ${mmcdev}:${mmcpart} ${fdto_addr} ${overlay} +mmc_apply_overlays= + fdt address ${fdt_addr}; + if test ${no_overlays} = 0; then + for overlay in ${overlays}; + do; + if run mmc_load_overlay; then + fdt resize ${filesize}; + fdt apply ${fdto_addr}; + fi; + done; + fi; +net_load_bootenv=${get_cmd} ${bootenv_addr} ${bootenv} +net_load_overlay=${get_cmd} ${fdto_addr} ${overlay} +net_apply_overlays= + fdt address ${fdt_addr}; + if test ${no_overlays} = 0; then + for overlay in ${overlays}; + do; + if run net_load_overlay; then + fdt resize ${filesize}; + fdt apply ${fdto_addr}; + fi; + done; + fi; |