From 80c4f6f9f28109bcaed850b76a2036c57e0e6225 Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Fri, 30 Aug 2024 02:09:29 -0700 Subject: include: env: phytec: k3_mmc: Rename variables Add a mmc prefix to 'loadimage' and 'loadfdt' because we need similar variables for other boot sources. This will prevent name clashes and allows to implement similar boot logic. Also switch from loadaddr to kernel_addr_r. Signed-off-by: Daniel Schultz --- include/env/phytec/k3_mmc.env | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/env/phytec/k3_mmc.env b/include/env/phytec/k3_mmc.env index 3d3595ceb7e..2bce4f77d2d 100644 --- a/include/env/phytec/k3_mmc.env +++ b/include/env/phytec/k3_mmc.env @@ -10,12 +10,12 @@ mmcargs=setenv bootargs console=${console} earlycon=${earlycon} root=/dev/mmcblk${mmcdev}p${mmcroot} rootwait rw -loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} Image -loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile} +mmcloadimage=load mmc ${mmcdev}:${mmcpart} ${kernel_addr_r} Image +mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile} mmcboot=run mmcargs; mmc dev ${mmcdev}; mmc rescan; - run loadimage; - run loadfdt; + run mmcloadimage; + run mmcloadfdt; run mmc_apply_overlays; - booti ${loadaddr} - ${fdt_addr_r} + booti ${kernel_addr_r} - ${fdt_addr_r} -- cgit v1.2.3 From 8cafb21215c15b41361b4c7356cc5bcdc34aa26b Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Fri, 30 Aug 2024 02:09:30 -0700 Subject: include: env: phytec: Add raucinit to k3_mmc environment Initialize the environment for booting an RAUC image when 'doraucboot' is set to 1. Signed-off-by: Daniel Schultz --- include/env/phytec/k3_mmc.env | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/env/phytec/k3_mmc.env b/include/env/phytec/k3_mmc.env index 2bce4f77d2d..ad8d3a8b764 100644 --- a/include/env/phytec/k3_mmc.env +++ b/include/env/phytec/k3_mmc.env @@ -7,12 +7,14 @@ /* Logic for TI K3 based SoCs to boot from a MMC device. */ #include +#include mmcargs=setenv bootargs console=${console} earlycon=${earlycon} - root=/dev/mmcblk${mmcdev}p${mmcroot} rootwait rw + root=/dev/mmcblk${mmcdev}p${mmcroot} ${raucargs} rootwait rw mmcloadimage=load mmc ${mmcdev}:${mmcpart} ${kernel_addr_r} Image mmcloadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile} -mmcboot=run mmcargs; +mmcboot=if test ${doraucboot} = 1; then run raucinit; fi; + run mmcargs; mmc dev ${mmcdev}; mmc rescan; run mmcloadimage; -- cgit v1.2.3 From d87842cd3dec760cc54a0cdcb38b7c2e4f2f62a7 Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Fri, 30 Aug 2024 02:09:31 -0700 Subject: include: net: phytec: Add K3 network boot logic This boot logic allows to boot a Kernel image, Device-Tree blob and overlays via tftp/dhcp (configurable with 'net_fetch_cmd'). Additionally, it loads a rootfs via NFS. Signed-off-by: Daniel Schultz --- include/env/phytec/k3_net.env | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 include/env/phytec/k3_net.env (limited to 'include') diff --git a/include/env/phytec/k3_net.env b/include/env/phytec/k3_net.env new file mode 100644 index 00000000000..377e406688d --- /dev/null +++ b/include/env/phytec/k3_net.env @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2024 PHYTEC Messtechnik GmbH + * Author: Daniel Schultz + */ + +/* Logic for TI K3 based SoCs to boot via network. */ + +#include + +netargs=setenv bootargs console=${console} root=/dev/nfs ip=dhcp rw + nfsroot=${serverip}:${nfsroot},vers=4,tcp +netloadimage=${net_fetch_cmd} ${kernel_addr_r} ${serverip}:/Image +netloadfdt=${net_fetch_cmd} ${fdt_addr_r} ${serverip}:/${fdtfile} +netboot=run netargs; + setenv autoload no; + dhcp; + run netloadimage; + run netloadfdt; + run net_apply_overlays; + run net_apply_extensions; + booti ${kernel_addr_r} - ${fdt_addr_r} -- cgit v1.2.3 From 92ff68b298c62718a16dba22504ec7b60a0de06d Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Fri, 30 Aug 2024 02:09:32 -0700 Subject: include: env: phytec: Add K3 boot logic for OSPI/QSPI flashes This boot logic allows to boot a Kernel image, Device-Tree blob and a initramfs from an external OSPI/QSPI NOR flash. Signed-off-by: Daniel Schultz --- include/env/phytec/k3_spi.env | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 include/env/phytec/k3_spi.env (limited to 'include') diff --git a/include/env/phytec/k3_spi.env b/include/env/phytec/k3_spi.env new file mode 100644 index 00000000000..97d3a157058 --- /dev/null +++ b/include/env/phytec/k3_spi.env @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2024 PHYTEC Messtechnik GmbH + * Author: Daniel Schultz + */ + +/* Logic for TI K3 based SoCs to boot from an OSPI/QSPI NOR flash. */ + +spiargs=setenv bootargs console=${console} earlycon=${earlycon} +spiloadimage=sf read ${kernel_addr_r} ${spi_image_addr} ${size_kern} +spiloadfdt=sf read ${fdt_addr_r} ${spi_fdt_addr} ${size_fdt} +spiloadramdisk=sf read ${ramdisk_addr_r} ${spi_ramdisk_addr} ${size_fs} +spiboot=run spiargs; + sf probe; + run spiloadimage; + run spiloadfdt; + run spiloadramdisk; + booti ${kernel_addr_r} ${ramdisk_addr_r}:0x${size_fs} ${fdt_addr_r} -- cgit v1.2.3