Spaces:
Sleeping
Sleeping
fdt_addr=0x43000000 | |
image=Image | |
script=boot.scr | |
mmc_root="PARTUUID=70672ec3-5eee-49ff-b3b1-eb1fbd406bf5" | |
sd_root="/dev/mmcblk1p2" | |
# Check boot device to decide which root partition to use | |
if test ${bootdev} = 1; then | |
setenv root ${sd_root} | |
else | |
setenv root ${mmc_root} | |
fi | |
if test ${baseboardid} = 1; then | |
setenv fdt_file fsl-imx8mq-phanbell.dtb | |
elif test ${baseboardid} = 2; then | |
setenv fdt_file fsl-imx8mq-yorktown.dtb | |
else | |
# EVT Boards have quirky baseboard ID resistors, so fall back | |
# to phanbell if we're unsure what the board is. | |
echo "Unknown baseboard revision, selecting phanbell dtb." | |
setenv fdt_file fsl-imx8mq-phanbell.dtb | |
fi | |
cmdline="console=ttymxc0,115200 console=tty0 earlycon=ec_imx6q,0x30860000,115200 root=${root} rootfstype=ext4 rw rootwait init=/sbin/init net.ifnames=0 pci=pcie_bus_perf" | |
ext2load mmc ${bootdev}:1 ${loadaddr} ${image} | |
setenv bootargs ${cmdline} ${extra_bootargs} | |
#Load base device tree. | |
ext2load mmc ${bootdev}:1 ${fdt_addr} ${fdt_file} | |
fdt addr ${fdt_addr} | |
fdt resize 4096 # PORTILOOP: Add extra 4096 bytes to fit overlay | |
# Load overlays to arbitrary address beyond fdt location (will apply them later). | |
setexpr fdtovaddr ${fdt_addr} + F000 | |
# Parse overlays.txt and apply individual overlays. | |
if ext2load mmc ${bootdev}:1 ${fdtovaddr} overlays.txt && env import -t ${fdtovaddr} ${filesize} && test -n ${overlay}; then | |
echo loaded overlay.txt: ${overlay} | |
for ov in ${overlay}; do | |
if ext2load mmc ${bootdev}:1 ${fdtovaddr} ${ov}.dtbo && fdt apply ${fdtovaddr}; then | |
echo overlay of ${ov} successful | |
else | |
echo overlay failed, reverting to original device tree | |
ext2load mmc ${bootdev}:1 ${fdt_addr} ${fdt_file} | |
booti ${loadaddr} - ${fdt_addr} | |
fi | |
done | |
fi | |
if printenv m4enabled; then | |
if test ${m4enabled} = 1; then | |
if ext2load mmc ${bootdev}:1 ${fdtovaddr} fsl-imx8mq-phanbell-m4.dtbo && fdt apply ${fdtovaddr}; then | |
echo M4 overlay loaded, starting core | |
run m4boot | |
else | |
echo M4 overlay failed | |
fi | |
fi | |
fi | |
booti ${loadaddr} - ${fdt_addr} | |