aboutsummaryrefslogtreecommitdiffstats
path: root/classes
AgeCommit message (Collapse)Author
2024-04-01EULA: Update to v53Oleksandr Suvorov
This version is used in NXP BSP LF6.6.3-1.0.0. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
2024-03-09uuu_bootloader_tag.bbclass: Use UUU_BOOTLOADER_TAGGED variableHiago De Franco
Use UUU_BOOTLOADER_TAGGED variable instead of UUU_BOOTLOADER in the stat function to make the code more specific and easy to read. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-03-08uuu_bootloader_tag.bbclass: Add UUU_BOOTLOADER_UNTAGGEDHiago De Franco
Add UUU_BOOTLOADER_UNTAGGED flag to add the possibility to deploy a imx-boot binary without the tagged footer 'UUUBURNXXOEUZX7+A-XY5601QQWWZ%sEN' at the end. The addition of the footer 'UUUBURNXXOEUZX7+A-XY5601QQWWZ%sEN' at the end causes issues when the binary is loaded into RAM memory, this footer may cause issues where the binary size exceeds the typical USB package size used by UUU (1021 bytes). As example, if the footer is split across two distinct USB packages, such as sending 'UUUBURNXXXOE' in the last packet and 'UZX7+A-XY5601QQWWZ%sEND' in the next one, it can lead to UUU halting while waiting for a response in SDPS mode. After sending 'UUUBURNXXXOE', iMX8MP's boot room starts SPL, not waiting for the next packet ('UZX7+A-XY5601QQWWZ%sEND'), leading to UUU breaking. Therefore, deploy both binaries separately (-tagged and -untagged) to allow users to choose the appropriate binary. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-01-16EULA,SCR: Update to v49 for NXP release 6.1.55-2.2.0Max Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-12-31Revert "fsl-dynamic-packagearch: fix MACHINE_SOCARCH definition"Tom Hochstein
This change makes no sense. MACHINE_SOCARCH must include the suffix that makes the value SOC-specific. Otherwise, errors such as this occur: ``` ERROR: imx-dpu-g2d-2.1.12-r0 do_create_spdx_setscene: Recipe imx-dpu-g2d is trying to install files into a shared area when those files already exist. The files and the manifests listing them are: tmp/deploy/spdx/armv8a/packages/libg2d-dev.spdx.json (matched in manifest-armv8a-imx-pxp-g2d.create_spdx) tmp/deploy/spdx/armv8a/packages/libg2d2.spdx.json (matched in manifest-armv8a-imx-pxp-g2d.create_spdx) ``` This reverts commit 6579ce9b77f0036454478b2e07694f7314f97867.
2023-12-29fsl-dynamic-packagearch: fix MACHINE_SOCARCH definitionJoao Marcos Costa
The sstate manifest for populate_sysroot was not being named properly for firmware-sentinel and imx-boot-firmware-files, raising the following error: The sstate manifest for task 'firmware-sentinel:populate_sysroot' (multilib variant '') could not be found. The pkgarchs considered were: microej_imx93, armv7ahf-neon-vfpv4-mx93, armv7ahf-neon-mx93, (and so on...) But none of these manifests exists: ...build/tmp-glibc/sstate-control/manifest-microej_imx93-imx-boot-firmware-files.populate_sysroot ...build/tmp-glibc/sstate-control/manifest-armv7ahf-neon-vfpv4-mx93-imx-boot-firmware-files.populate_sysroot ... and so on. All the other packages were suffixed with TUNE_PKGARCH only, so I couldn't see the reason why only some specific packages from meta-freescale were using that. Remove MACHINE_SOCARCH_SUFFIX so as the sstate manifest is compatible with what's expected in populate_sysroot. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
2023-12-05fsl-u-boot-localversion.bbclass: fix SRCREV_machine and AUTOREV use casesJun Zhu
Use the same logic as fsl-kernel-localversion.bbclass: commit 16a356ef0d5d62090e84530e125ea6952994aaeb Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-12-04fsl-kernel-localversion: fix SRCREV_machine and AUTOREV use casesMax Krummenacher
Depending on how one uses the Yocto kernel classes the kernels hash is defined in either "SRCREV_machine" or "SRCREV". If "SRCREV_machine" is in use, "SRCREV" stays at its bitbake default "INVALID". If the "SRCREV_machine" or "SRCREV" is set to "AUTOREV" that value is replaced by "AUTOINC". If using "SRCREV_machine" and/or "AUTOREV" do_kernel_localversion fails | run.do_kernel_localversion:158 exit 128 from 'head=`git --git-dir=.../.git rev-parse --verify --short INVALID 2> /dev/null`' Cope with both use cases. Fixes: 41537394 ("classes: make localversion classes deterministic") Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-11-28classes: make localversion classes deterministicDaniel Wagenknecht
The localversion string built into the kernel and u-boot should be deterministic. With OpenEmbedded it is common practice to apply patches to the sources. The commit id of HEAD will differ each time the patching step is rerun. With the previous implementation of the fsl-{kernel,u- boot}-localversion classes this produced non-deterministic commit ids to be used. This is undesireable, because the commit-id read from the version string during runtime is not present in the sources. It also caused problems when building out-of-tree kernel-modules if the kernel itself was taken from sstate cache but the kernel-module needed to be rebuild and retriggered the kernels do_patch task (see #961). Rework to produce a deterministic string that will use the commit id given as SRCREV and count the number of patches applied on top. With e.g. commit id 11aabbcc and 5 patches this will result in a version string +g11aabbcc+p5 Fixes: https://github.com/Freescale/meta-freescale/issues/961 Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com>
2023-11-09image_types_fsl.bbclass: Drop use of IMAGE_NAME_SUFFIXKhem Raj
This is no longer required since its already merged into IMAGE_NAME and IMAGE_LINK_NAME via [1] in OE-Core. Infact it causes problems now if we add .rootfs explicitly, this created non-existent filenames and resulting images are wrong. [1] https://git.openembedded.org/openembedded-core/commit/meta/classes-recipe/image-artifact-names.bbclass?id=26d97acc71379ab6702fa54a23b6542a3f51779c Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-30EULA,SCR: Update for NXP release 6.1.36-2.1.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-09-22imx-boot-container: Create only one imx-bootDaiane Angolini
Only the first UBOOT_CONFIG generate a imx-boot and flash.bin symlink. Every UBOOT_CONFIG creates a flash.bin-${MACHINE}-${type} binary. Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
2023-08-21imx-base.inc: Implement generic SOC revision designTom Hochstein
Rework imx-boot and use-imx-security-controller-firmware.bbclass with a generic SOC revision design implemented in imx-base.inc. This does replace the machine feature design using `soc-rev*`, but maintains backwards compatibility by incorporating that design into the default settings. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-08-21fsl-eula-unpack.bbclass: Add v44 EULA sumTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2023-07-26fsl-eula-unpack.bbclass: Update EULA for NXP release 6.1.22-2.0.0 EULA is ↵Daiane Angolini
V45 now. Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
2023-07-05mfgtool-initramfs-image: IMAGE_NAME_SUFFIX should by empty for initramfsJose Quaresma
INITRAMFS_IMAGE_NAME stay as before but it assumes that all images used as initramfs will set IMAGE_NAME_SUFFIX to empty. https://git.yoctoproject.org/poky/commit/?id=6f6c79029bc2020907295858449c725952d560a1 Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2023-06-19fsl-kernel-localversion: fix regression setting LOCALVERSIONJavier Viguera
CONFIG_LOCALVERSION is a string setting. It needs to go between quotes in the .config file. $ grep CONFIG_LOCALVERSION= .config CONFIG_LOCALVERSION="-dey" Signed-off-by: Javier Viguera <javier.viguera@digi.com> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
2023-04-14classes/image_populate_mfgtool: fix basehash value changeOtavio Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-04-13classes/image_populate_mfgtool: avoid error copying duplicated filesOtavio Salvador
Eventually, multiple `uuu` script may install same binaries. We need to ensure we install them once, otherwise it'll fail as it might try to override a existing binary. This commit ensure all dependencies and binaries are mentioned once, removing duplication. Fixes: ae7af6f8 ("classes/image_populate_mfgtool: init") Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-04-12classes/mfgtool-initramfs-image: remove u-boot-mfgtool dependencyOtavio Salvador
The initramfs image doesn't use the U-Boot binaries so there is no reason for a dependency on it. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-04-12classes/image_populate_mfgtool: initOtavio Salvador
The class provides the infrastructure for MFGTOOL generation and is tied to images. To generate the bundle, the task populate_mfgtool must be called. For example: ,----[ Running populate_mfgtool for core-image-minimal image ] | $: bitbake core-image-minimal -c populate_mfgtool `---- The class behavior is controlled through the MFGTOOLCONFIG (analogous to PACKAGECONFIG) variable. The MFGTOOLCONFIG variable itself specifies a space-separated list of the script to enable. Following the script, you can determine the behavior of each script by providing up to two order-dependent arguments, which are separated by commas. You can omit any argument you like but must retain the separating commas. The order is important and specifies the following: 1. Extra dependencies that should be added to the do_populate_mfgtool task, if the script is enabled. 2. Extra binaries that should be added to the bundle, if the script is enabled. For example: ,----[ Defining foo.uuu.in and bar.uuu script ] | MFGTOOLCONFIG = "foo.uuu.in bar.uuu" | MFGTOOLCONFIG[foo.uuu.in] = "dep-foo1:do_deploy dep-foo2:do_deploy,file-foo1" | MFGTOOLCONFIG[bar.uuu] = "dep-bar1:do_deploy,file-bar1 file-bar2" `---- The dep-foo1:do_deploy, dep-foo2:do_deploy, and dep-bar1:do_deploy are added to do_populate_mfgtool dependencies. In addition, file-foo1, file-bar1, and file-bar2 are copied to the bundle, only if the script is enabled. During the mfgtool bundle generation, the uuu.in files are processed and some variables replaced. The variables are: - MACHINE - UBOOT_BINARY - SPL_BINARY - IMAGE_BASENAME Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-04-10Merge pull request #1488 from MaxKrummenacher/master-imx-bootOtavio Salvador
imx-boot-container: drop from machine overrides
2023-04-10imx-boot-container: drop from machine overridesMax Krummenacher
Moving the override from the <machine>.conf files to the common imx-base.inc and setting the use of imx-boot-container unconditionally on the used SoC makes the use of an extra override obsolete. Simply set UBOOT_PROVIDES_BOOT_CONTAINER depending on the used SoC is enough. Both the U-Boot recipe and the class implementing the logic don't need the override but only look at the variable. This also simplifies overriding the value set in imx-base.inc in an individual <machine>.conf should that be needed. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-04-10imx: fw: allow to build for mainline bsp tooMax Krummenacher
SECO/SC FW/HDMI FW and friends should not be restricted to imx-nxp-bsp. If one wants to build machines for a mainline kernel / user space these would be required to build the boot container too. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-04-09fsl-eula-unpack.bbclass: Update EULA for NXP release 6.1.1-1.0.0Jun Zhu
EULA is V42 now. Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-03-22use-imx-security-controller-firmware.bbclass: SECO_FIRMWARE_NAME as weak ↵Jun Zhu
variable With `SECO_FIRMWARE_NAME` weak variable, user can update with new name when new version is released. Signed-off-by: Jun Zhu <junzhu@nxp.com>
2023-02-14use-imx-security-controller-firmware: Add i.MX 93 configurationDaiane Angolini
It add SECO_FIRMWARE_NAME for mx93-nxp-bsp. It is based on 5.15.71_2.2.0 NXP BSP release. Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
2023-02-07use-imx-security-controller-firmware: Configure for imx8ulpDaiane Angolini
Add SECO_FIRMWARE_NAME for i.MX 8ULP. Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
2022-11-26imx-boot-container: add copy of soc-specific firmwareGary Bisson
- Currently only the DDR firmware files are copied - i.MX 8MQ SoC also requires either HDMI or DP firmware - Refactor the copy from deploydir to the U-Boot build folder to be generic to all firmware files Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
2022-11-15bb.data.update_data is deprecatedLaurits Riple
2022-10-23EULA,SCR: Update for NXP release 5.15.52-2.1.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-09-16classes/fsl-dynamic-packagearch: Add multilib supportGuillaume Deroire
Currently, the class doesn't support multilib image/SDK generation for packages built for MACHINE_SOCARCH with MULTILIB support and this commit fixes this. To reproduce the error, add to local.conf: require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon-vfpv4" IMAGE_INSTALL_append = "lib32-libusb1" Build image with: 'bitbake core-image-minimal' The build will fail during do_rootfs/do_populate_sdk on lib32-wayland-protocols package.
2022-08-10fsl-eula-unpack.bbclass: Expose a function for reuseTom Hochstein
Expose find_nxp_eula_licenses for others to use. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-08-10fsl-eula-unpack.bbclass: Rework logic orderTom Hochstein
Simple order change to simplify the change in the next commit. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-08-10fsl-eula-unpack.bbclass: Fail if fsl-eula=true is missingTom Hochstein
It doesn't make sense to inherit the class but not use it. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-07-31classes: fsl-kernel-localversion: fix usage with devtoolFrancesco Valla
Make fsl-kernel-localversion devtool-compatible, avoiding to depend on ${WORKDIR}/defconfig to be present. Two approaches are taken: - for recipes inheriting kernel-yocto, LINUX_VERSION_EXTENSION is set to LOCALVERSION; in this way, the do_kernel_configme task will use it to set CONFIG_LOCALVERSION once the .config file is generated; - for recipes not inheriting kernel-yocto, CONFIG_LOCALVERSION is simply appended to the .config file contained inside the build directory. The do_kernel_localversion is being made executed after do_kernel_configme rather than do_kernel_metadata; in this way, modifications are applied after the config-by-fragments step has already been performed. Signed-off-by: Francesco Valla <valla.francesco@gmail.com>
2022-07-29imx-base.inc: avoid explicit imx-boot dependencyOtavio Salvador
We shouldn't force `imx-boot` dependency for i.MX8 SoCs as many can use U-Boot mainline and those use `imx-boot-container` to generate the binary blob. We moved the backward-compatibility note, about 'imx-boot' to the 'imx-boot-container' class. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2022-07-28EULA,SCR: Update for NXP release 5.15.32-2.0.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-06-15mfgtool-initramfs-image: Fix override of IMAGE_FSTYPESTom Hochstein
The fix to allow the user to override the IMAGE_FSTYPES setting for mfgtool-initramfs-image [1] does break the default behavior by turning the setting into a no-op: ``` # $IMAGE_FSTYPES [6 operations] # set? /.../sources/meta-freescale/conf/machine/include/imx-base.inc:463 # "${SOC_DEFAULT_IMAGE_FSTYPES}" # set /.../sources/poky/meta/conf/documentation.conf:214 # [doc] "Formats of root filesystem images that you want to have created." # set? /.../sources/poky/meta/conf/bitbake.conf:832 # "tar.gz" # set? /.../sources/meta-freescale/classes/mfgtool-initramfs-image.bbclass:16 # "cpio.zst.u-boot" # override[mxs-generic-bsp]:set? /.../sources/meta-freescale/classes/mfgtool-initramfs-image.bbclass:17 # "cpio.gz.u-boot" # pre-expansion value: # "${SOC_DEFAULT_IMAGE_FSTYPES}" IMAGE_FSTYPES="wic.bmap wic.gz" ``` The layer uses an extra variable SOC_DEFAULT_IMAGE_FSTYPES to override IMAGE_FSTYPES [2], so use it here. [1] 0a29050 classes: IMAGE_FSTYPES as weak variable in mfgtool-initramfs-image [2] 541b8b8 imx-base.inc: Move IMAGE_FSTYPES override to a SoC variable Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-06-14recipes-bsp: drop custom deploy location for TF-A binaryAndrey Zhizhikin
Upstream TF-A and downstream TF-A fork uses different deployment locations for results binaries, which leads to failures during image build when switching between upstream and downstream versions. Drop the custom TF-A deployment location, which is only specific to NXP downstream deployment, allowing the TF-A binaries from upstream and downstream to be picked up from the same location, namely - image deployment folder. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
2022-06-14layer-wide: define configurable default TF-A providerAndrey Zhizhikin
TF-A package can have several providers: upstream TF-A implementation, or NXP downstream fork. Functionality to switch this provider, and to select which package shall be included into the target image is missing in the layer however, defaulting the usage of the layer to NXP downstream fork only. Introduce the Default TF-A Provider define, make it overridable, and default it to NXP downstream fork. This allows user to re-define the package name later shall they choose to integrate upstream TF-A package instead. Current upstream TF-A version (v2.7) does not support HAB feature of i.MX8M family, see [1]. If the upstream TF-A version is chosen, then HAB will not be available for all SoCs that are opting-in. This is indicated in the comment where default TF-A provider variable is set. This might change with future TF-A release, so later it can be revised and statement in include file can be potentially removed. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Link: [1]: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/message/5UYYI4CNLQ5OWWHU466JBK6I5QIQ2VRS/
2022-06-13Merge pull request #1104 from dimonoff/masterOtavio Salvador
classes: mfgtool-initramfs-image use weak variable for IMAGE_FSTYPES
2022-06-09classes: IMAGE_FSTYPES as weak variable in mfgtool-initramfs-imageWalter Bonetti
With `IMAGE_FSTYPES` weak variable, we are able to use `cpio.gz` and generate fsl-image-mfgtool-initramfs as KERNEL_IMAGETYPES = "fitImage". This weak variable allows use to choose a suitable values for IMAGE_FSTYPES. (see from poky: image_types.bbclass)
2022-06-09kernel-itbimage: delete this bbclassThomas Perrot
It is no longer used. Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
2022-05-10EULA,SCR: Update for NXP release 5.15.5-1.0.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-04-26imx-boot-container: resurrect imx-boot symlinkMax Krummenacher
Having a symlink named 'imx-boot' allows to have the consumers of the boot container, e.g. wic to be oblivious on who created the bootcontainer. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-04-26imx-boot: don't restrict to the nxp bsp onlyMax Krummenacher
Choosing if the boot container FIT image is built with imx-mkimage/ imx-boot or the U-Boot provided binman can be done with the imx-boot-container MACHINEOVERRIDES. Change the used overrides from *nxp-bsp to *generic-bsp. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-04-15fsl-eula-unpack.bbclass: Unpack NXP EULA archives lastTom Hochstein
NXP EULA archive-based builds like imx-gpu-viv fail because the unpacked folder is empty: ``` ERROR: imx-gpu-viv-1_6.4.3.p2.4-aarch64-r0 do_populate_lic: QA Issue: imx-gpu-viv: LIC_FILES_CHKSUM points to an invalid file: /opt/work/upstream/fsl-xwayland/tmp/work/cortexa53-crypto-mx8m-fsl-linux/imx-gpu-viv/1_6.4.3.p2.4-aarch64-r0/imx-gpu-viv-6.4.3.p2.4-aarch64/COPYING [license-checksum] ``` This is traced to a change in bitbake: ``` b074f4a ast: Improve function flags handling for EXPORT_FUNCTIONS ``` That change includes a fix for cleandirs, so now the call to base_unpack, done after the NXP EULA archive unpack, does now remove the folder(s) created by the NXP EULA archive unpack. Fix the problem by simply unpacking the NXP EULA archives last. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-03-31mx8dx: Normalize MACHINEOVERRIDES implementationTom Hochstein
The imx8dx-mek machine is similar to imx8qxp-mek and so the mx8qxp override was included in the MACHINEOVERRIDES hierarchy. This is non-standard, and the rework of the SOC overrides didn't handle it properly, leading to a build break: ``` Log data follows: | DEBUG: Executing shell function do_compile | NOTE: 8QX boot binary build | cp: failed to access '/home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin': Not a directory | WARNING: /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636:179 exit 1 from 'cp /home/aquino/src/ossystems/oel-platform/build/tmp/deploy/images/imx8dx-mek/imx-boot$ tools/scfw_tcm.bin /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin' | WARNING: Backtrace (BB generated script): | #1: compile_mx8x, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 179 | #2: do_compile, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 151 | #3: main, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 189 ERROR: Task (/home/aquino/src/ossystems/oel-platform/sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb:do_compile) failed with exit code '1' ``` Fix the problem by removing mx8qxp from the mx8dx hierarchy and adapting existing mx8qxp overrides appropriately. Fixes: #1027 Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-03-22kernel-itbimage: Add support for cpio.zstdTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>