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 ""
|
types = d.getVar('UBOOT_CONFIG', True) or ""
|
||||||
ram_configs = d.getVar('RAM_CONFIGS', 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_prefix = d.getVar('UBOOT_PREFIX', True) or ""
|
||||||
uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or ""
|
uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or ""
|
||||||
artifacts = []
|
artifacts = []
|
||||||
|
|
@ -43,8 +44,14 @@ def get_bootable_artifacts(d):
|
||||||
else:
|
else:
|
||||||
machine = d.getVar('MACHINE', True) or ""
|
machine = d.getVar('MACHINE', True) or ""
|
||||||
ram_combinations = get_uboot_ram_combinations(d)
|
ram_combinations = get_uboot_ram_combinations(d)
|
||||||
|
if soc_revisions == "":
|
||||||
for ramc in ram_combinations.split(" "):
|
for ramc in ram_combinations.split(" "):
|
||||||
artifacts.append("%s-%s-%s.%s" % (uboot_prefix, machine, ramc, uboot_suffix))
|
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)
|
return " ".join(artifacts)
|
||||||
|
|
||||||
BOOTABLE_ARTIFACTS = "${@get_bootable_artifacts(d)}"
|
BOOTABLE_ARTIFACTS = "${@get_bootable_artifacts(d)}"
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,17 @@ if test $? -eq 1; then
|
||||||
exit;
|
exit;
|
||||||
fi
|
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)
|
# Determine U-Boot file to program basing on SOM's RAM size and SOC type (linked to bus width)
|
||||||
ram_freq="1.2GHz"
|
ram_freq="1.2GHz"
|
||||||
bus_width="32bit"
|
bus_width="32bit"
|
||||||
|
|
@ -26,20 +37,20 @@ if test -n "${module_ram}" && test -n "${soc_type}"; then
|
||||||
if test "${soc_type}" = "imx8dx"; then
|
if test "${soc_type}" = "imx8dx"; then
|
||||||
bus_width="16bit"
|
bus_width="16bit"
|
||||||
fi
|
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
|
else
|
||||||
# Determine U-Boot file to program basing on SOM's variant
|
# Determine U-Boot file to program basing on SOM's variant
|
||||||
if test -n "${module_variant}"; then
|
if test -n "${module_variant}"; then
|
||||||
if test "${module_variant}" = "0x01"; 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" || \
|
elif test "${module_variant}" = "0x02" || \
|
||||||
test "${module_variant}" = "0x03"; then
|
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" || \
|
elif test "${module_variant}" = "0x04" || \
|
||||||
test "${module_variant}" = "0x05"; then
|
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
|
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
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
@ -54,13 +65,13 @@ else
|
||||||
echo "";
|
echo "";
|
||||||
echo "1. Set variable 'INSTALL_UBOOT_FILENAME' depending on your ConnectCore 8X variant:";
|
echo "1. Set variable 'INSTALL_UBOOT_FILENAME' depending on your ConnectCore 8X variant:";
|
||||||
echo " - For a QuadXPlus CPU with 1GB LPDDR4, run:";
|
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 " - 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 " - 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 " - 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 "";
|
||||||
echo "2. Run the install script again.";
|
echo "2. Run the install script again.";
|
||||||
echo "";
|
echo "";
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,13 @@ sleep 10
|
||||||
# Enable the redirect support to get u-boot variables values
|
# Enable the redirect support to get u-boot variables values
|
||||||
uuu fb: ucmd setenv stdout serial,fastboot
|
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)
|
# Determine U-Boot file to program basing on SOM's SOC type (linked to bus width)
|
||||||
bus_width="32bit"
|
bus_width="32bit"
|
||||||
|
|
||||||
|
|
@ -69,10 +76,10 @@ if [ -z "${module_ram}" ]; then
|
||||||
else
|
else
|
||||||
module_ram="512MB"
|
module_ram="512MB"
|
||||||
fi
|
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
|
fi
|
||||||
else
|
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
|
fi
|
||||||
|
|
||||||
# remove redirect
|
# remove redirect
|
||||||
|
|
@ -87,13 +94,13 @@ else
|
||||||
echo ""
|
echo ""
|
||||||
echo "1. Add U-boot file name, depending on your ConnectCore 8X variant, to script command line:"
|
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 " - 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 " - 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 " - 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 " - 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 ""
|
||||||
echo "2. Run the install script again."
|
echo "2. Run the install script again."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue