Commit Graph

50 Commits

Author SHA1 Message Date
Arturo Buzarra 9284f9df01 zeus migration: imx-mkimage: update recipe to v1.0
https://jira.digi.com/browse/DEL-7013

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-04-28 11:30:26 +02:00
Gonzalo Ruiz 4b6d1a2c09 trustfence: Add U-Boot sign support for ccimx8mn
Add Trustfence support for signing imx-boot images:
- Install a different U-Boot signing script for images with U-Boot SPL.
- Store mkimage log for later use in the signing script
- make 'print_hab_log' and store its log for later use in the signing script

https://jira.digi.com/browse/DEL-7023

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2020-04-08 14:23:18 +02:00
Gonzalo Ruiz c52778d2a4 imx-boot: [cosmetic] remove RAM_CONFIG comment
Remove wrong comment on conditional block where there are no
UBOOT_RAM_CONFIGURATIONS

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2020-04-08 14:23:18 +02:00
Gonzalo Ruiz 6451bc1990 imx-boot: [cosmetic] fix indentation
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2020-04-08 14:23:18 +02:00
Gonzalo Ruiz ae49a255fa imx-boot: fix sign conditions
Do not evaluate TRUSTFENCE_SIGN_MODE on conditions where the sign mode
is not relevant:

1) U-Boot binary file should be signed directly after building it when simple
U-Boot images are used, but it should not be signed when imx-boot bundled
images are used.
For those, the signing process is performed later over the whole imx-boot
bundled binary file on a different recipe.
We use BOOTLOADER_IMAGE_RECIPE variable to evaluate this distinction.
BOOTLOADER_IMAGE_RECIPE is set to "u-boot" by default and is set to "imx-boot"
on ccimx8x and ccimx8mn machine configuration files.

2) For signing imx-boot images we should treat differently those images that
include the RAM configuration in their name and those that don't, as we do
for the rest of the tasks in the same recipe. We can ignore the sign mode
method in this case.

https://jira.digi.com/browse/DEL-7023

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2020-04-08 14:20:35 +02:00
Hector Palacios 5d063d6906 imx-boot: simplify copy of SRK_efuses.bin to DEPLOYDIR
There is no need to generate PV-PR revision of this file
since it's the same for any version.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-02-12 18:50:19 +01:00
Hector Palacios d21462302d trustfence-sign-tools: homogenize the sign script filename
The recipe needs to create a copy of the sign.sh script to be used by
other recipes, but the file is the same whether you use it for HAB or AHAB
images. This is determined through the use of an exported variable with
the mode. There is no need to have the script duplicated.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-02-12 18:50:19 +01:00
Hector Palacios b0ef3ea14f imx-mkimage: install mkimage_imx8 binaries to BOOT_TOOLS
This binary is required for signing the U-Boot scripts generated
by the U-Boot recipe but it wasn't available because this recipe
was not installing it anywhere.

At the same time, remove the installation from imx-boot, to avoid a
conflict between the two (imx-mkimage is a dependency from imx-boot
anyway).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-02-12 18:50:19 +01:00
Mike Engel 826ca9b63d trustfence: Export variables that are needed by sign tools.
This commit exports variables that are needed by the sign tools to
select the target HAB.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2020-02-12 18:50:19 +01:00
Hector Palacios 8320168821 trustfence: homogenize SIGN_MODE variables
* prefix TRUSTFENCE_ to variable SIGN_MODE for DEY
* prefix CONFIG_ to variable SIGN_MODE for script

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-02-12 18:50:19 +01:00
Mike Engel 5beec04b6a trustfence: Add Trustfence support for CCMX8X
This commit adds Trustfence support for the CCMX8X
platform.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://jira.digi.com/browse/DEL-6917
2020-02-04 12:20:38 +01:00
Gabriel Valcazar dd1ab58d84 imx-boot: update SRCREV and SRCBRANCH to sync with sumo-4.14.98-2.3.0
Although the recipe was updated with the modifications in meta-fsl-bsp-release,
the revision was still pointing to the sumo-4.14.98-2.2.0 version of
imx-mkimage, which is incompatible with our recently updated patch.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-01-17 09:45:06 +01:00
Gabriel Valcazar 23e758eb22 imx-boot: sync with meta-fsl-bsp-release branch sumo-4.14.98-2.3.0
Update SRCREV and SRCBRANCH, change the names of the m4 demos that are
installed into imx-boot, change the name of the SECO firmware (ahab container)
and update our patch so it applies over the newest revision of imx-mkimage.
For the time being, use the B0 SECO firmware for all i.MX8QXP platforms and add
the changes needed for C0 support in comments.

https://jira.digi.com/browse/DEL-6932

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-01-16 13:27:54 +01:00
Arturo Buzarra 712fa3f96a imx-boot: add support to ConnectCore 8M Nano platform
https://jira.digi.com/browse/DEL-6911

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:37:39 +01:00
Arturo Buzarra ca9e743af8 imx-seco: add recipe to sync with meta-fsl-bsp-release branch sumo-4.14.98-2.2.0
This imx-seco recipe manages now the NXP IMX SECO firmware, it was removed
from the firmware-imx recipe.

https://jira.digi.com/browse/DEL-6823

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-10-30 16:50:18 +01:00
Gabriel Valcazar 74b59a3af7 Revert "imx-boot: move m4 demos artifacts to BOOT_TOOLS directory"
The imx-boot recipe expects the m4 demos to be in the root of the deploy
directory when building the package.

This reverts commit a0d01e1cf6.

https://jira.digi.com/browse/DEL-6731
2019-09-04 13:24:49 +02:00
Hector Palacios 5453acf56f imx-boot: update branch and SRCREV to latest NXP BSP
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2019-09-03 18:41:29 +02:00
Gabriel Valcazar 511d4c8cf3 imx-mkimage: sync with meta-fsl-bsp-release branch sumo-4.14.98-2.1.0
Update revision to the imx_4.14.98_2.1.0 branch.

https://jira.digi.com/browse/DEL-6722

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-09-02 09:43:15 +02:00
Gonzalo Ruiz a0d01e1cf6 imx-boot: move m4 demos artifacts to BOOT_TOOLS directory
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2019-08-30 18:06:13 +02:00
Gabriel Valcazar 03d40edfd0 imx-boot: add patch to fix imx-boot images with M4 demos
These images were broken in many ways, including ethernet not working and Linux
not booting. For now, revert back to the build command that was used in
DEY-2.6-r1.

https://jira.digi.com/browse/DEL-6677

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-07-24 09:37:26 +02:00
Hector Palacios 7d61198cc8 imx-boot: iterate on matching RAM sizes in do_install/do_append
The existing loops were iterating through all RAM_CONFIGS, but
they must only iterate over those that match the RAM size on the
platform's UBOOT_CONFIG.

This commit adds a Python class 'boot-artifacts' to get the list of matching
combinations of RAM_CONFIGS and UBOOT_CONFIG so that the iteration
is easier to do than nesting loops inside one another.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6641
2019-07-12 12:33:18 +02:00
Hector Palacios 00ac4445bc imx-boot: avoid renaming files during internal copy stages
Temporary files were being renamed for no good reason.
Remove renamings to simplify recipe.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2019-07-12 11:04:47 +02:00
Hector Palacios 3263fda892 imx-boot: use new UBOOT_PREFIX variable instead of creating one
The recipe was creating a variable with the value of another one from
the main recipe, just to refer to the bootable artifact prefix.
We can now use instead the new UBOOT_PREFIX variable.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2019-07-12 11:04:47 +02:00
Hector Palacios c4bea6edd8 imx-boot: create symlink to default bootable U-Boot artifact
Similar to the way the u-boot recipe does, create a symlink to the default
bootable artifact.
Since they are overwritten on every loop, this requires that the default
RAM configuration is set the last on the list of RAM_CONFIGS (same
convention than the one used on UBOOT_CONFIGS).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6641
2019-07-09 11:21:58 +02:00
Hector Palacios 5a311a7e4a imx-boot: re-add machine name to boot filenames
With the rework to support variants, the machine name (actually the
UBOOT_CONFIG) was removed from the filename. Re-add it using
${MACHINE_NAME} which is more appropriate than the ${UBOOT_CONFIG} which
contains the RAM size (now present in ${ramc}).

While on it, remove one of the two symlinks on DEPLOYDIR. Only one makes
sense.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6641
2019-07-09 11:21:58 +02:00
Hector Palacios 23503567a1 imx-boot: build matching combinations of U-Boot and SCFW
There are several U-Boot binaries, depending on RAM size, at the moment:
- u-boot.bin-ccimx8x_sbc_pro512MB
- u-boot.bin-ccimx8x_sbc_pro1GB
- u-boot.bin-ccimx8x_sbc_pro2GB

and several SCFW files, depending on frequency, size, bus width, at the
moment:
- scfw_tcm.bin-1.2GHz_512B_16bit
- scfw_tcm.bin-1.2GHz_1GB_16bit
- scfw_tcm.bin-1.2GHz_1GB_32bit
- scfw_tcm.bin-1.2GHz_2GB_32bit

From these, we need to combine those that match the RAM size, to produce
bootable images for the different variants.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6641
2019-07-08 16:42:28 +02:00
Gabriel Valcazar ea466b0264 imx-boot: add NXP sumo-4.14.98-2.0.0_ga changes
Use rel_imx_4.14.98_2.0.0_ga imx-mkimage tag, update ATF binary name, update
target names and rename CM4.bin to m4_image.bin.

https://jira.digi.com/browse/DEL-6603

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-05-15 10:35:13 +02:00
Gabriel Valcazar 7c465b30c3 imx-mkimage: update revision to use v4.14.98 BSP branch
This is the version used in meta-fsl-bsp-release branch sumo-4.14.98-2.0.0_ga.

https://jira.digi.com/browse/DEL-6603

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-05-15 10:33:23 +02:00
Gabriel Valcazar 0969676113 imx-boot: add fimrware-imx dependencies for do_compile() and do_populate_lic()
These dependencies went missing when we deleted our first .bb file and replaced
it with a .bbappend. Without these dependencies, the build can sometimes fail.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-04-16 17:31:02 +02:00
Gonzalo Ruiz 32bc5199fc imx-boot: remove our .bb file and add a .bbappend
Most of the support has been added to the meta-freescale layer, so
substitute our recipe for a .bbappend and redefine the tasks to build
U-Boot images for our two variants (1GB and 2GB).

https://jira.digi.com/browse/DUB-881

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2019-03-21 15:44:54 +01:00
Gonzalo Ruiz 9daabff5e7 imx-mkimage: remove our .bb file and add a .bbappend
Every task in this recipe is already supported in the same way in the
meta-freescale layer, so just keep the .bbappend file to select SRCBRANCH and
SRCREV.

The DDR patch can be removed since that source code is now included into the
SCFW project.

https://jira.digi.com/browse/DUB-881

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2019-03-21 15:44:54 +01:00
Gabriel Valcazar 6a4d40ceca imx-boot: remove u-boot-hash.bin between build iterations
This is a new intermediate file that will be reused in every iteration if it's
not removed, causing all imx-boot images to have the same U-Boot binary.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-01-16 11:31:00 +01:00
Gabriel Valcazar c0497cc651 imx-boot: update recipe to match the one in NXP's layer
While on it, clean up the recipe by removing dead code

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-01-16 11:31:00 +01:00
Arturo Buzarra aa2b3ca20f bsp: update imx-mkimage recipe
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-16 11:31:00 +01:00
Arturo Buzarra bb59ed593e bsp: update firmware-imx recipe to version 8.0
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-16 11:31:00 +01:00
Gabriel Valcazar 49f1c40f6a imx-sc-firmware: rename to digi-sc-firmware
This reflects the fact that the firmware is customized for Digi platforms. The
versioning still follows the one used by NXP in their recipe.

https://jira.digi.com/browse/DEL-6158

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-11-14 17:03:41 +01:00
Gabriel Valcazar 577302650d imx-boot: remove DCD patches
These patches were originally introduced in the recipe because the DCD files
were needed by mkimage to create the final imx-boot binaries. Now they are
in the SCFW source code instead.

https://jira.digi.com/browse/DEL-6158

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-11-14 17:03:41 +01:00
Gabriel Valcazar 17b054059d imx-boot: add coreutils-native as a dependency for the ccimx8x
The "sha384sum" tool included in the coreutils package is needed by mkimage
when creating the imx-boot image.

https://jira.digi.com/browse/DEL-6158

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-11-14 17:03:41 +01:00
Gabriel Valcazar 302f9208fb imx-boot: change order of mkimage targets
Otherwise, the default imx-boot images will include the Cortex M4 demo.

https://jira.digi.com/browse/DEL-6158

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-11-14 17:03:41 +01:00
Gabriel Valcazar f8ba05d065 imx-boot, imx-sc-firmware: adapt recipes for step B0 of the i.MX8X CPU
These adaptations include changing the mkimage targets and removing any
handling of the DCD files, since they are now included in the SCFW. Note that
these changes break support for step A0 of the silicon.

The md5sum of the imx-sc-firmware tarball will be updated once the step B0 CPUs
are ready.

https://jira.digi.com/browse/DEL-6158

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-11-14 17:03:41 +01:00
Arturo Buzarra 89c9af1ea3 imx-boot: make do_populate_lic depend on packages dependant
When the imx-boot recipe is added in EXTRA_IMAGEDEPENDS the
license file is being referenced in image postcommand
write_deploy_manifest, but the licenses of the dependant
packages are missing. This leads to the license files of the
recipes to be missing when write_deploy_manifest runs,
causing build errors to appear.

https://jira.digi.com/browse/DEL-6251

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-11-07 09:39:43 +01:00
Arturo Buzarra f47852a573 imx-boot: generalize support for ccimx8x platforms with 1GB and 2GB of RAM
Generalize DCD patch to be agnostic of the platform and modify the imx-boot
recipe to depend only on the memory configuration instead of the platform name.

https://jira.digi.com/browse/DEL-6205

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-10-16 12:44:16 +02:00
Gabriel Valcazar f9427d1641 ccimx8x: u-boot: deploy all u-boot files to the imx-boot-tools directory
This way, customers are less likely to flash the plain u-boot by accident
instead of imx-boot. Also, have the imx-boot recipe look for the u-boot files
in the imx-boot-tools directory.

https://jira.digi.com/browse/DEL-6185

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-09-26 10:34:34 +02:00
Gabriel Valcazar ee14e6f28e imx-boot: create a symlink to the default 1GB image
This simplifies the creation of the sdcard image.

https://jira.digi.com/browse/DEL-6159

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-09-04 11:28:45 +02:00
Gabriel Valcazar f6639026d8 imx-boot: remove intermediate binary between mkimage iterations
Since this binary (u-boot-atf.bin) wasn't being deleted, the mkimage makefile
was using the one from the previous iteration, causing the 1GB imx-boot to
contain the 2GB U-Boot.

https://jira.digi.com/browse/DEL-6094

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-10 09:45:00 +02:00
Gabriel Valcazar f10f90d0c7 imx-boot: use different DCD depending on the cc8x variant
Also, move all of the recipe's patches from the .bbappend file to the .bb file,
because the .bb file's modifications depend greatly on said patches.

https://jira.digi.com/browse/DEL-6085

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-01 11:26:35 +02:00
Gabriel Valcazar 77e656cf21 imx-boot: add support for the imx-boot package
This package is the combination of U-Boot and the other i.MX firmware binaries.
In our case, these binaries are: the SCFW, the ATF and the DCD.

The recipe has been ported from the meta-fsl-bsp-release repo, with a couple of
important changes:

    * Support for our platform (based on the mx8qxpa0, which uses A0-specific
      parameters for mkimage and appends the DCD explicitly)
    * Support for multiple UBOOT_CONFIG values (NXP only uses one UBOOT_CONFIG
      string per platform; so the compile, install and deploy functions had to
      be tweaked to build both 1GB and 2GB variants for our platform).

Our DCD patch used in imx-mkimage is also used, since both packages share the
same repo and imx-boot is the one responsible for generating the final,
bootable image.

https://jira.digi.com/browse/DEL-6085

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-01 11:26:35 +02:00
Gabriel Valcazar 02223e2df5 imx-mkimage: update recipe to use the 8qxp_beta2 branch
In order for Yocto to append all the necessary firmware binaries to the U-Boot
image, this recipe needs to be up to date.

Also, remove the older hardcoded SRCREV in our .bbappend file. The file that
gets patched hasn't been modified since beta1, so our patch apllies cleanly to
beta2.

https://jira.digi.com/browse/DEL-6085

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-01 11:26:35 +02:00
Hector Palacios 53e81f5350 imx-mkimage: add DCD for cc8x 1GB Micron MT53B256M32D1
This was done using Excel aid sheet:
  MX8QXP_LPDDR4_register_programming_aid_ValidationBoard_1.2GHz_v7_DBI_enabled.xlsx

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2018-06-26 18:07:07 +02:00
Hector Palacios 2d28c97cc8 imx-mkimage: add imx-mkimage support
This recipe builds the Device Configuration Data (DCD) that
configures DRAM controller before the bootloader.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2018-06-26 18:07:07 +02:00