ccimx8x-sbc-pro: add support for the C0 SOC in the fw installation scripts
The scripts need to know the SOC's revision to be able to select the correct imx-boot image. Modify the boot-artifacts bbclass so the renamed imx-boot files are included in the installation .zip. Also, bypass the SECO fw check in the uSD script so it can install future versions that aren't recognized by U-Boot's SECO fw checking logic. The UUU script doesn't require this bypass, since it doesn't use the Digi update command to flash the bootloader. https://jira.digi.com/browse/DEL-7069 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
3fbd38ca46
commit
aa68675f45
|
|
@ -31,6 +31,7 @@ def get_bootable_artifacts(d):
|
|||
|
||||
types = d.getVar('UBOOT_CONFIG', True) or ""
|
||||
ram_configs = d.getVar('RAM_CONFIGS', True) or ""
|
||||
soc_revisions = d.getVar('SOC_REVISIONS', True) or ""
|
||||
uboot_prefix = d.getVar('UBOOT_PREFIX', True) or ""
|
||||
uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or ""
|
||||
artifacts = []
|
||||
|
|
@ -43,8 +44,14 @@ def get_bootable_artifacts(d):
|
|||
else:
|
||||
machine = d.getVar('MACHINE', True) or ""
|
||||
ram_combinations = get_uboot_ram_combinations(d)
|
||||
for ramc in ram_combinations.split(" "):
|
||||
artifacts.append("%s-%s-%s.%s" % (uboot_prefix, machine, ramc, uboot_suffix))
|
||||
if soc_revisions == "":
|
||||
for ramc in ram_combinations.split(" "):
|
||||
artifacts.append("%s-%s-%s.%s" % (uboot_prefix, machine, ramc, uboot_suffix))
|
||||
else:
|
||||
for soc_rev in soc_revisions.split(" "):
|
||||
for ramc in ram_combinations.split(" "):
|
||||
artifacts.append("%s-%s-%s-%s.%s" % (uboot_prefix, machine, soc_rev, ramc, uboot_suffix))
|
||||
|
||||
return " ".join(artifacts)
|
||||
|
||||
BOOTABLE_ARTIFACTS = "${@get_bootable_artifacts(d)}"
|
||||
|
|
|
|||
|
|
@ -19,6 +19,17 @@ if test $? -eq 1; then
|
|||
exit;
|
||||
fi
|
||||
|
||||
# Since SOMs with the B0 SOC might have an older U-Boot that doesn't export the
|
||||
# SOC revision to the environment, use B0 by default
|
||||
if test -z "${soc_rev}"; then
|
||||
setenv soc_rev B0
|
||||
fi
|
||||
|
||||
# In case this script is used to update to a newer release whose imx-boot file
|
||||
# is not recognized by the SECO fw check, bypass it by default. The script has
|
||||
# the necessary logic to choose the correct imx-boot file for the target's SOC.
|
||||
setenv skip-uboot-check "yes"
|
||||
|
||||
# Determine U-Boot file to program basing on SOM's RAM size and SOC type (linked to bus width)
|
||||
ram_freq="1.2GHz"
|
||||
bus_width="32bit"
|
||||
|
|
@ -26,20 +37,20 @@ if test -n "${module_ram}" && test -n "${soc_type}"; then
|
|||
if test "${soc_type}" = "imx8dx"; then
|
||||
bus_width="16bit"
|
||||
fi
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${ram_freq}_${module_ram}_${bus_width}.bin;
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-${ram_freq}_${module_ram}_${bus_width}.bin;
|
||||
else
|
||||
# Determine U-Boot file to program basing on SOM's variant
|
||||
if test -n "${module_variant}"; then
|
||||
if test "${module_variant}" = "0x01"; then
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_32bit.bin;
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_32bit.bin;
|
||||
elif test "${module_variant}" = "0x02" || \
|
||||
test "${module_variant}" = "0x03"; then
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_2GB_32bit.bin;
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_2GB_32bit.bin;
|
||||
elif test "${module_variant}" = "0x04" || \
|
||||
test "${module_variant}" = "0x05"; then
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_16bit.bin;
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_16bit.bin;
|
||||
elif test "${module_variant}" = "0x06"; then
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_512GB_16bit.bin;
|
||||
setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_512GB_16bit.bin;
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
@ -54,13 +65,13 @@ else
|
|||
echo "";
|
||||
echo "1. Set variable 'INSTALL_UBOOT_FILENAME' depending on your ConnectCore 8X variant:";
|
||||
echo " - For a QuadXPlus CPU with 1GB LPDDR4, run:";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_32bit.bin";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_32bit.bin";
|
||||
echo " - For a QuadXPlus CPU with 2GB LPDDR4, run:";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_2GB_32bit.bin";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_2GB_32bit.bin";
|
||||
echo " - For a DualX CPU with 1GB LPDDR4, run:";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_16bit.bin";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_16bit.bin";
|
||||
echo " - For a DualX CPU with 512MB LPDDR4, run:";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_512MB_16bit.bin";
|
||||
echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_512MB_16bit.bin";
|
||||
echo "";
|
||||
echo "2. Run the install script again.";
|
||||
echo "";
|
||||
|
|
|
|||
|
|
@ -46,6 +46,13 @@ sleep 10
|
|||
# Enable the redirect support to get u-boot variables values
|
||||
uuu fb: ucmd setenv stdout serial,fastboot
|
||||
|
||||
# Since SOMs with the B0 SOC might have an older U-Boot that doesn't export the
|
||||
# SOC revision to the environment, use B0 by default
|
||||
soc_rev=$(getenv "soc_rev")
|
||||
if [ -z "${soc_rev}" ]; then
|
||||
soc_rev="B0"
|
||||
fi
|
||||
|
||||
# Determine U-Boot file to program basing on SOM's SOC type (linked to bus width)
|
||||
bus_width="32bit"
|
||||
|
||||
|
|
@ -69,10 +76,10 @@ if [ -z "${module_ram}" ]; then
|
|||
else
|
||||
module_ram="512MB"
|
||||
fi
|
||||
INSTALL_UBOOT_FILENAME="imx-boot-ccimx8x-sbc-pro-1.2GHz_${module_ram}_${bus_width}.bin"
|
||||
INSTALL_UBOOT_FILENAME="imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_${module_ram}_${bus_width}.bin"
|
||||
fi
|
||||
else
|
||||
INSTALL_UBOOT_FILENAME="imx-boot-ccimx8x-sbc-pro-1.2GHz_${module_ram}_${bus_width}.bin"
|
||||
INSTALL_UBOOT_FILENAME="imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_${module_ram}_${bus_width}.bin"
|
||||
fi
|
||||
|
||||
# remove redirect
|
||||
|
|
@ -87,13 +94,13 @@ else
|
|||
echo ""
|
||||
echo "1. Add U-boot file name, depending on your ConnectCore 8X variant, to script command line:"
|
||||
echo " - For a QuadXPlus CPU with 1GB LPDDR4, run:"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_32bit.bin"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_32bit.bin"
|
||||
echo " - For a QuadXPlus CPU with 2GB LPDDR4, run:"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-1.2GHz_2GB_32bit.bin"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_2GB_32bit.bin"
|
||||
echo " - For a DualX CPU with 1GB LPDDR4, run:"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_16bit.bin"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_1GB_16bit.bin"
|
||||
echo " - For a DualX CPU with 512MB LPDDR4, run:"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-1.2GHz_512MB_16bit.bin"
|
||||
echo " => ./install_linux_fs_uuu.sh imx-boot-ccimx8x-sbc-pro-${soc_rev}-1.2GHz_512MB_16bit.bin"
|
||||
echo ""
|
||||
echo "2. Run the install script again."
|
||||
echo ""
|
||||
|
|
|
|||
Loading…
Reference in New Issue