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>
This commit is contained in:
Benjamin Hahn 2024-07-16 22:11:26 -07:00 committed by Tom Rini
parent 902d8ee94c
commit 26b2d2c0f2

37
include/env/phytec/overlays.env vendored Normal file
View File

@ -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;