NXP chip family identifier.
Revision of silicon. The 'latest' name, means most current revision.
Target memory for AHAB container
Output AHAB file name
Output file format for AHAB image
Base offset where the AHAB image will be placed in target memory. (primarily when using SREC/HEX output_format)
Force container version, if not specified the default version is used. This configuration option is valid only for chips that supports both AHAB container versions. Possible options <2, 1>
The order of containers in the list defines the order in AHAB.
Must contain a minimum of 1 items
Binary Container format to add to AHAB image, Typically it could be used to add ELE Firmware.
The binary file that contains AHAB "mybinarycontainer.bin
Configurable Container format to add to AHAB image. This allow to configure all aspects of the AHAB container.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"none"
Defines which set is used to authenticate the container.
Which key from SRK set is being used.
Bit-mask to indicate which SRKs to revoke. Bit set to 1 means revoke key. Bit 0 = revoke SRK0, bit 1 = revoke SRK1 etc. Example of revocation SRK0 and SRK1 - the value should be 0x03
This option defines runtime behavior of Glitch detector. Not supported by all devices and their ELE firmware.
- disabled: GDET is disabled after the first OEM container has been authenticated (default behavior)
- enabled_eleapi: Automatically enable GDET during all ELE API calls
- enabled: Leave GDET enabled
This option overrides a fuse to select verification mode.
- default: Apply default fuse policy.
- checkallsignatures: Force verification of all present signatures.
This option enables fast boot mode.
- disabled: Fast boot disabled.
- hashandcopy: ELE will do the hash and copy (when disabled, BootROM will do the copy).
- externalaccelerator: Use external accelerator for authentication (e.g. V2X on i.MX95B0, i.MX943 and i.MX952).
- hashandcopywithexternalaccelerator:ELE will do hash and copy, and use external accelerator for authentication.
The value must be equal or greater than the version stored in fuses to allow loading this container.
Number used by Privileged Host Boot Companion (PHBC) to select between multiple images with same Fuse version field.
Signature provider configuration in format 'type=<identifier>;<key1>=<value1>;<key2>=<value2>' or a private key used for sign the container header. Header can be signed by SRK. The referenced SRK must not have been revoked.
Signature provider configuration in format 'type=<identifier>;<key1>=<value1>;<key2>=<value2>' or a private key used for second sign (PQC only) of the container header. Header can be signed by SRK. The referenced SRK must not have been revoked.
Array of image entries.
Must contain a minimum of 1 items
Must contain a maximum of 8 items
Double Authentication of NXP firmwares
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x0000000000000000
hashtype: SHA384
NXP ELE firmware, that should be also signed by OEM keys binary file.
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
OEI with DDR PHY tunning images
Firmware for LPDDR4/5 memory.
Firmware for LPDDR4/5 for quick boot.
Data for LPDDR4/5 memory.
Data for LPDDR4/5 memory in quick boot.
OEI - Optional Executable Image firmware
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
OEI TCM settings (ECC etc.)
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x000000001FFC0000
entrypoint: 0x000000001FFC0001
imagetype: oei
coreid: cortex-m33
hash_type: SHA384
OEI(Optional Executable Image) TCM settings binary file.
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
System booting image
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x000000001FFC0000
imagetype: executable
coreid: cortex-m33
hashtype: SHA384
System manager booting image
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
Cortex M7 additional application
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x00000000303C0000
entrypoint: 0x0000000000000000
imagetype: executable
coreid: cortex-m7-1
metadatastartcpuid: 1
hash_type: SHA384
Cortex M7 additional application
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
U-Boot SPL (Secondary program loader)
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x0000000020480000
imagetype: executable
coreid: cortex-a55
metadatastartcpuid: 2
hashtype: SHA384
SPL firmware
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
V2X dummy image container definition
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x000000008B000000
imagetype: v2xdummy
coreid: cortex-m33
hash_type: SHA384
If Present, V2X dummy image will be added to Image Array Entry (no data record)
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
U-Boot ATF container definition
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x000000008A200000
imagetype: executable
coreid: cortex-a55
metadatastartcpuid: 2
hashtype: SHA384
ARM Trusted Firmware binary file.
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
U-Boot container definition
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x0000000090200000
imagetype: executable
coreid: cortex-a55
metadatastartcpuid: 2
hashtype: SHA384
U-Boot binary file.
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
A TEE (Trusted Execution Environment) is a trusted OS running in some secure environment, for example, TrustZone on ARM CPUs, or a separate secure co-processor etc. A TEE driver handles the details needed to communicate with the TEE.
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x000000008C000000
imagetype: executable
coreid: cortex-a55
metadatastartcpuid: 2
hashtype: SHA384
TEE - Trusted Execution Environment binary
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
Linux kernel Image container definition
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x0000000090400000
imagetype: executable
coreid: cortex-a55
metadatastartcpuid: 2
hashtype: SHA384
Linux kernel executable Image binary file (typically Image.bin)
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
Device Tree Blob (DTB) container definition
Image array default settings. Can be overridden by definitions that are hidden in the template:
loadaddress: 0x0000000093000000
entrypoint: 0x0000000000000000
imagetype: data
coreid: cortex-a55
hash_type: SHA384
Device Tree Blob (DTB) binary file containing hardware description
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
General Image Entry
Path to image binary (absolute/relative). In case that only Image Array entry without any data image is needed, Just do not use the image path. In case that the image size in container should be aligned differently then SPSDK do (4 bytes for ELE images, 1 byte otherwise), there is hidden option 'imagesizealignment' where could be override image size by any custom value.
As a standard is use 1 byte in general and for ELE image 4 bytes.
Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones
Address the image is written to in memory (absolute address in system memory).
Image entry point (absolute address). Valid only for executable image types.
Kind of image.
Defines the core the image is dedicated for. Not all cores are supported for all families.
Determines, whether image is encrypted or not.
Determines, whether image is descriptor or not.
Boot flags controlling SCFW boot.
Resource ID of CPU to be started
Resource ID of the MU associated with the CPU
Partition ID of the partition to start
HASH type of image.
Size of empty gap just behind the image in AHAB container
SRK (Super Root key) table definition.
CA Flag is used by HAB to indicate if the SRK is allowed to sign other keys. In AHAB CA Flag only affects the final SRKH (Super Root Key Hash) value burned into chip fuses. It is not used in the AHAB signing process itself. This option exists only for compatibility with systems where fuses are already programmed. In most cases, this should remain false.
Hash algorithm used for SRK records. If not specified, default algorithm based on key type will be used.
Force RSA exponent to use legacy 4-byte size instead of actual exponent size. This option provides backward compatibility with older SPSDK versions that always used 4 bytes for RSA exponents. Only enable this if you need compatibility with containers generated by older SPSDK versions.
Table containing the used SRK records. All SRKs must be of the same type. Supported signing algorithms are: RSA-PSS, ECDSA, Dilithium or SM2. Supported hash algorithms: sha256, sha384, sha512, sha3256, sha3384, sha3_512, sm3. Supported key sizes/curves: prime256v1, sec384r1, sec512r1, rsa2048, rsa4096, dilithium3, sm2. Certificate may be of Certificate Authority. Dilithium algorithms are supported just in new type of AHAB container
Must contain a minimum of 4 items
Must contain a maximum of 4 items
Path to SRK Key file.
CA Flag is used by AHAB to indicate if the SRK is allowed to sign other keys. In AHAB CA Flag only affects the final SRKH (Super Root Key Hash) value burned into chip fuses. It is not used in the AHAB signing process itself. This option exists only for compatibility with systems where fuses are already programmed. In most cases, this should remain false.
Hash algorithm used for SRK records. If not specified, default algorithm based on key type will be used.
Table containing the used SRK Dilithium records. All SRKs must be of the same type. Supported signing algorithms are: Dilithium level 3. Supported hash algorithms: sha3256, sha3384, sha3_512. Certificate may be of Certificate Authority.
Must contain a minimum of 4 items
Must contain a maximum of 4 items
Path to SRK Key file.
The file that contains AHAB certificate. It could be used already prepared binary form signed by SRK, or it is possible to use configuration YAML file of certificate and the AHAB export process it will export it itself.
Encryption blob container definition
The key identifier that has been used to generate DEK keyblob.
Data Encryption key size. Used for AES CBC-MAC (128/192/256 size)
Data Encryption key. Used for AES CBC-MAC (128/192/256 size). The HEX format is accepted
Wrapped Data Encryption key. Used for AES CBC-MAC (128/192/256 size). The HEX format is accepted. If NOT used, the empty keyblob is inserted into container and need to be updated later.