mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
env: tq: add shareable environment settings
Prepare moving boiler plate code out of board confguration header and prepare to share a lot of things between boards. Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com> Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
This commit is contained in:
committed by
Fabio Estevam
parent
77801f4b64
commit
de27ed88b3
82
include/env/tq/mmc.env
vendored
Normal file
82
include/env/tq/mmc.env
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Max Merchel
|
||||
*
|
||||
* shared mmc environment for TQ boards
|
||||
*/
|
||||
|
||||
addmmc=
|
||||
setenv bootargs "${bootargs}"
|
||||
root=/dev/mmcblk"${mmcblkdev}"p"${mmcrootpart}" "${rootfsmode}" rootwait;
|
||||
|
||||
get_blockcount=
|
||||
setexpr blkc "${filesize}" + 0x1ff;
|
||||
setexpr blkc "${blkc}" / 0x200;
|
||||
|
||||
load_mmc=
|
||||
mmc dev "${mmcdev}"; mmc rescan;
|
||||
load mmc "${mmcdev}":"${mmcpart}" "${kernel_addr_r}" /boot/"${image}";
|
||||
load mmc "${mmcdev}":"${mmcpart}" "${fdt_addr_r}" /boot/"${fdtfile}";
|
||||
fdt address "${fdt_addr_r}";
|
||||
fdt resize 0x100000;
|
||||
for overlay in "${fdt_overlays}"; do
|
||||
load mmc "${mmcdev}":"${mmcpart}" "${fdtoverlay_addr_r}"
|
||||
/boot/"${overlay}" && fdt apply "${fdtoverlay_addr_r}";
|
||||
done;
|
||||
|
||||
mmcargs=run addtty addmmc
|
||||
|
||||
mmcboot=
|
||||
echo "Booting from mmc ...";
|
||||
setenv bootargs && run mmcargs &&
|
||||
if run load_mmc; then
|
||||
run boot_os;
|
||||
else
|
||||
echo "ERROR: loading from mmc";
|
||||
fi;
|
||||
|
||||
mmcpart=2
|
||||
|
||||
mmc_finish_update_uboot=
|
||||
mmc write "${loadaddr}" "${update_start_blk}" "${blkc}";
|
||||
mmc dev "${mmcdev}" 0;
|
||||
setenv update_part;
|
||||
setenv update_start_blk;
|
||||
setenv blkc;
|
||||
|
||||
mmc_prepare_update_uboot=
|
||||
echo "Write U-Boot to mmc "${mmcdev}" ...";
|
||||
mmc dev "${mmcdev}"; mmc rescan;
|
||||
run get_blockcount;
|
||||
setenv update_start_blk "${uboot_mmc_start}";
|
||||
setenv update_part 0;
|
||||
|
||||
mmc_switch_part=
|
||||
mmc partconf "${mmcdev}" update_part;
|
||||
mmc dev "${mmcdev}" "${update_part}";
|
||||
|
||||
mmcrootpart=2
|
||||
|
||||
update_uboot_mmc=
|
||||
run check_ipaddr;
|
||||
if tftp "${uboot}"; then
|
||||
run mmc_prepare_update_uboot;
|
||||
if itest "${blkc}" >= "${uboot_mmc_size}"; then
|
||||
echo "ERROR: size to large ...";
|
||||
exit;
|
||||
fi;
|
||||
if itest "${mmcdev}" == "${emmc_dev}"; then
|
||||
run mmc_switch_part;
|
||||
if itest "${update_part}" > 0 ; then
|
||||
if env exists emmc_bootp_start; then
|
||||
setenv update_start_blk "${emmc_bootp_start}";
|
||||
else
|
||||
echo "ERROR: eMMC boot partition block unset";
|
||||
exit;
|
||||
fi;
|
||||
fi;
|
||||
fi;
|
||||
run mmc_finish_update_uboot;
|
||||
fi;
|
||||
51
include/env/tq/nfs.env
vendored
Normal file
51
include/env/tq/nfs.env
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Max Merchel
|
||||
*
|
||||
* shared nfs environment for TQ boards
|
||||
*/
|
||||
|
||||
addnfs=
|
||||
setenv bootargs "${bootargs}" root=/dev/nfs rw
|
||||
nfsroot="${serverip}":"${rootpath}",v3,tcp
|
||||
|
||||
load_nfs=
|
||||
nfs "${kernel_addr_r}" "${serverip}":"${rootpath}"/boot/"${image}";
|
||||
nfs "${fdt_addr_r}" "${serverip}":"${rootpath}"/boot/"${fdtfile}";
|
||||
fdt address "${fdt_addr_r}";
|
||||
fdt resize 0x100000;
|
||||
for overlay in "${fdt_overlays}"; do
|
||||
nfs "${fdtoverlay_addr_r}"
|
||||
"${serverip}":"${rootpath}"/boot/"${overlay}" &&
|
||||
fdt apply "${fdtoverlay_addr_r}";
|
||||
done;
|
||||
|
||||
load_tftp=
|
||||
tftp "${kernel_addr_r}" "${image}";
|
||||
tftp "${fdt_addr_r}" "${fdtfile}";
|
||||
fdt address "${fdt_addr_r}";
|
||||
fdt resize 0x100000;
|
||||
for overlay in "${fdt_overlays}"; do
|
||||
if tftp "${fdtoverlay_addr_r}" "${overlay}"; then
|
||||
fdt apply "${fdtoverlay_addr_r}";
|
||||
else
|
||||
exit;
|
||||
fi;
|
||||
done;
|
||||
|
||||
netargs=run addnfs addip addtty
|
||||
|
||||
netloadcmd=load_tftp
|
||||
|
||||
nfsboot=
|
||||
echo "Booting from NFS ...";
|
||||
setenv bootargs;
|
||||
run netargs;
|
||||
run check_ipaddr;
|
||||
if run ${netloadcmd}; then
|
||||
run boot_os;
|
||||
else
|
||||
echo "ERROR: loading from NFS";
|
||||
fi;
|
||||
23
include/env/tq/spi.env
vendored
Normal file
23
include/env/tq/spi.env
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Max Merchel
|
||||
*
|
||||
* shared spi environment for TQ boards
|
||||
*/
|
||||
|
||||
update_uboot_spi=
|
||||
run check_ipaddr;
|
||||
if tftp ${uboot}; then
|
||||
if itest "${filesize}" >= "${uboot_spi_size}"; then
|
||||
echo "ERROR: size to large ...";
|
||||
exit;
|
||||
fi;
|
||||
echo "Write u-boot image to SPI NOR ...";
|
||||
if sf probe; then
|
||||
run write_uboot_spi;
|
||||
fi;
|
||||
fi;
|
||||
|
||||
write_uboot_spi=sf update "${loadaddr}" "${uboot_spi_start}" "${filesize}"
|
||||
38
include/env/tq/tq-imx-shared.env
vendored
Normal file
38
include/env/tq/tq-imx-shared.env
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Max Merchel
|
||||
*
|
||||
* shared environment for TQ imx boards
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_CMD_SF
|
||||
#include "spi.env"
|
||||
#ifdef CONFIG_CMD_UBIFS
|
||||
#include "ubi.env"
|
||||
#endif /* CONFIG_CMD_UBIFS */
|
||||
#endif /* CONFIG_CMD_SF */
|
||||
|
||||
#ifdef CONFIG_CMD_MMC
|
||||
#include "mmc.env"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CMD_NFS
|
||||
#include "nfs.env"
|
||||
#endif
|
||||
|
||||
addip=
|
||||
run check_ipaddr;
|
||||
setenv bootargs "${bootargs}"
|
||||
ip="${ipaddr}":"${serverip}":"${gatewayip}":"${netmask}":"${hostname}":"${netdev}":off
|
||||
|
||||
addtty=setenv bootargs "${bootargs}" "${console}"
|
||||
|
||||
check_ipaddr=
|
||||
if test -z "${ipaddr}" || test -z "${serverip}"; then
|
||||
echo "ipaddr or serverip unset, falling back to DHCP...";
|
||||
dhcp;
|
||||
fi;
|
||||
|
||||
rootfsmode=ro
|
||||
47
include/env/tq/ubi.env
vendored
Normal file
47
include/env/tq/ubi.env
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
* D-82229 Seefeld, Germany.
|
||||
* Author: Max Merchel
|
||||
*
|
||||
* shared ubi environment for TQ boards
|
||||
*/
|
||||
|
||||
addubi=
|
||||
setenv bootargs "${bootargs}" rootfstype=ubifs ubi.mtd="${ubimtdname}"
|
||||
root=ubi0:"${ubirootfsvol}" "${rootfsmode}" rootwait;
|
||||
|
||||
load_spi=
|
||||
if sf probe; then
|
||||
if ubi part "${ubirootfspart}"; then
|
||||
if ubifsmount ubi0:"${ubirootfsvol}"; then
|
||||
ubifsload "${kernel_addr_r}" /boot/"${image}";
|
||||
ubifsload "${fdt_addr_r}" /boot/"${fdtfile}";
|
||||
fdt address "${fdt_addr_r}";
|
||||
fdt resize 0x100000;
|
||||
for overlay in "${fdt_overlays}"; do
|
||||
ubifsload "${fdtoverlay_addr_r}"
|
||||
/boot/"${overlay}" &&
|
||||
fdt apply "${fdtoverlay_addr_r}";
|
||||
done;
|
||||
ubifsumount;
|
||||
fi;
|
||||
ubi detach;
|
||||
fi;
|
||||
fi
|
||||
|
||||
ubiargs=run addubi addtty
|
||||
|
||||
ubiboot=
|
||||
echo "Booting from UBI ...";
|
||||
setenv bootargs;
|
||||
run ubiargs;
|
||||
if run load_spi; then
|
||||
run boot_os;
|
||||
else
|
||||
echo "ERROR: loading kernel";
|
||||
fi;
|
||||
|
||||
ubimtdname=mtdname
|
||||
ubirootfspart=ubi
|
||||
ubirootfsvol=root
|
||||
Reference in New Issue
Block a user