pmaports/device/main/device-purism-librem5/uboot-script.cmd
Newbyte c3540b4678
device-purism-librem5: don't specify cma size in U-Boot bootargs (MR 3889)
This allows the back camera to work reliably for me as the CMA size then
grows to what's specified in the kernel configuration which is slightly
larger (320 MiB).

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1947

See https://source.puri.sm/Librem5/millipixels/-/issues/65

[ci:skip-build] already built successfully in CI
2023-02-22 15:17:10 -08:00

55 lines
1.8 KiB
Batchfile

# Uses the following env. vars:
# devtype e.g. mmc/scsi etc
# devnum The device number of the given type
# bootpart The partition containing the boot files
# board_rev Librem 5 board revision
# Default to devtype=mmc, devnum=0, bootpart=1 if they are unset in the
# environment. For supporting older u-boot where these may not be configured.
if itest.s "x" == "x$devtype" ; then
devtype="mmc"
fi
if itest.s "x" == "x$devnum" ; then
devnum=0
fi
if itest.s "x" == "x$bootpart" ; then
bootpart=1
fi
setenv bootargs init=/init.sh rw console=ttymxc0,115200 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE
# Select the correct dtb based on device revision
# Default to "-r4" if board_rev isn't set, since there are apparently Evergreen
# boards that either 1) identify as r4, 2) identify as r5 (or something else?),
# or 3) don't identify as anything(?).
# See: https://gitlab.com/postmarketOS/pmaports/-/issues/1643#note_1147248594
dtb_file=imx8mq-librem5-r4.dtb
if itest.s "x3" == "x$board_rev" ; then
dtb_file=imx8mq-librem5-r3.dtb
elif itest.s "x2" == "x$board_rev" ; then
dtb_file=imx8mq-librem5-r2.dtb
elif itest.s "x1" == "x$board_rev" ; then
dtb_file=imx8mq-librem5-r2.dtb
elif itest.s "x0" == "x$board_rev" ; then
dtb_file=imx8mq-librem5-r2.dtb
fi
echo Loading DTB
ext2load $devtype ${devnum}:${bootpart} ${fdt_addr_r} ${dtb_file}
echo Loading Initramfs
ext2load $devtype ${devnum}:${bootpart} ${ramdisk_addr_r} initramfs
echo Loading Kernel
ext2load $devtype ${devnum}:${bootpart} ${kernel_addr_r} vmlinuz
echo Resizing FDT
fdt addr ${fdt_addr_r}
fdt resize
# For debug
printenv
echo Booting kernel
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}