summaryrefslogtreecommitdiff
path: root/include/env
diff options
context:
space:
mode:
authorBenjamin Hahn <[email protected]>2024-07-16 22:11:26 -0700
committerTom Rini <[email protected]>2024-07-22 13:47:57 -0600
commit26b2d2c0f271c4b9a5cd4f32be280fca2bec452c (patch)
treeeaca7da34859fe0baa7b63337fd6626a5a3e7e38 /include/env
parent902d8ee94ce29a088a325da6e69eeb1a25f1fec7 (diff)
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 <[email protected]> Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Teresa Remmet <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
Diffstat (limited to 'include/env')
-rw-r--r--include/env/phytec/overlays.env37
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 00000000000..febb991f4f5
--- /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 <[email protected]>
+ */
+
+/* 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;