This patch introduces some parameters which allow to select the type of image
to be signed. Currently the supported types are:
* linux kernel (-l)
* DTB (-d)
* initramfs (-i)
This also moves the CONFIG_PLATFORM environment variable to a parameter, for
consistency.
https://jira.digi.com/browse/DUB-614https://jira.digi.com/browse/DUB-615
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The name "ext-eth" seems to indicate "External Ethernet". Rename that variable
and related ones to a more proper name like second ethernet.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
* Check number of arguments
* Add platform argument
* Read user configuration from .config file
* Remove unused variable (dek_blob_size)
* Remove noise in output messages
https://jira.digi.com/browse/DEL-2688
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Add a recipe to include all signing and encryption tools for U-Boot and
kernel images to the SDK. Move existing trustfence kernel scripts to this
new recipe.
This allows to use these scripts not only from the Yocto build system but
also as standalone tools for image signing and encryption.
https://jira.digi.com/browse/DEL-2688
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Tweaked to maintain the u-boot and linux revisions to AUTOREV instead of
the fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When changing any of the secure boot configurable macros the Linux kernel
should be re-deployed so that it can be signed/encrypted as needed.
https://jira.digi.com/browse/DEL-2750
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The region code is programmed in the OTP bits. We want to allow to be able to
override this behavior by setting the new value as a property in the device
tree called "regulatory-domain".
This can be done by setting the variable "regdomain=<code>" in uboot or well
by defining that entry in the device tree.
https://jira.digi.com/browse/DEL-2799
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The country region is programmed in the OTP bits. Based on that value we need
to load the firmware file for the specific country region.
https://jira.digi.com/browse/DEL-2774
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
TRUSTFENCE_SIGN can be defined to "0" to explicitly disable uImage sign and
encryption.
https://jira.digi.com/browse/DEL-2803
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
NXP Code signing Tool for the High Assurance Boot library is needed for
signing and encrypting different artifacts (U-Boot image, uImage, ...).
As the CST cannot be included in DEY, the user needs to download the
tarball and add it to the recipe folder.
https://jira.digi.com/browse/DUB-618
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The external module revision has been upgraded in meta-fsl-arm, thus
refresh the patches so they apply cleanly.
https://jira.digi.com/browse/DEL-2305
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By default the driver was being compiled with debug messages. Disabled it
but leave the option there so it can be enabled by user.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Do not compile the kernel for supporting the static regulatory domain
but force the system to do that by using crda.
https://jira.digi.com/browse/DEL-2539
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The root filesystem can have installed the busybox modprobe implementation or
the kmod modprobe implementation.
Check the version installed and compound the modprobe arguments.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Add recipe kernel-module-qualcomm to compile kernel module externally with all
the patches for kernel 4.1.15.
https://jira.digi.com/browse/DEL-2653
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
We compile those modules as built in to avoid a mismatch
between the current kernel version and the wlan.ko module.
https://jira.digi.com/browse/DEL-2653
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This enables the Cryptographic Accelerator and Assurance Module (CAAM).
https://jira.digi.com/browse/DEL-2502
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This module is the interface between user-space (openssl, gnutls) and
the hardware cryptographic acceleration support (CAAM).
This commit installs the module in the rootfs and configures it so it is
loaded on boot.
https://jira.digi.com/browse/DEL-2501
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This enables the Cryptographic Accelerator and Assurance Module (CAAM).
https://jira.digi.com/browse/DEL-2502
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Used ccimx6ul_defconfig from v4.1/master repository.
The defconfig file will live under module folder and not specific platform
folder because it will be the same for other ccimx6ul platforms.
https://jira.digi.com/browse/DEL-2381https://jira.digi.com/browse/DEL-2529
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
COMPATIBLE_MACHINE is a regular expression, so we need to update the current
pattern for ccimx6 due to it will also match with ccimx6ul.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
As the plan is to use the same git objects (SHA1) in the internal and
github repos, also remove that internal/external SRCREV infrastructure.
https://jira.digi.com/browse/DEL-2205
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
After the merge of the kernel's stability patches, the driver
uses the include for Freescale BSP beyond 3.14.28.
Despite having applied the kernel stability patches and having
a kernel version beyond 3.14.28, we still use Freescale's BSP
for 3.14.28, so let's keep the busfreq include for any 3.14.x
version.
This patch may need to be reverted if the BSP is moved to a
newer one by Freescale.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This commit adds the minimum GPU frequency patch to the community
Vivante GPU driver repository.
https://jira.digi.com/browse/DEL-1969
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For the moment, disable the built-in GPU kernel driver as there is a
mismatch between the driver version and the user-space GPU libraries.
Use the external module maintained by the community.
https://jira.digi.com/browse/DEL-1890https://jira.digi.com/browse/DEL-1926
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
ccimx51js and ccimx53js are not supported in this version of DEY.
Support for those platforms is in previous versions of DEY.
https://jira.digi.com/browse/DEL-1890
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
That commit disables CONFIG_FIRMWARE_IN_KERNEL which is needed by IMX
SDMA driver and maybe other drivers.
An example of functionality failing without that enabled is the audio
over HDMI.
While on it configure the atheros driver as module. Otherwise the kernel
tries to load the firmware from user-space before the rootfs being
mounted, giving error messages on boot:
ath6kl: No "atheros,board-id" property on wireless node.
ath6kl: Failed to get board file ath6k/AR6003/hw2.1.1/bdata.bin (-2), trying to find default board file.
ath6kl: Failed to get default board file ath6k/AR6003/hw2.1.1/bdata.SD31.bin: -2
ath6kl: Failed to init ath6kl core
ath6kl_sdio: probe of mmc3:0001:1 failed with error -2
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Disable firmware loading from user-space (udev) as the kernel is able to
load the firmware directly.
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Split the ATH6KL firmware files to a different recipe and package so
they can be used regardless of what driver we are using (the external
module or the upstream driver).
Reuse the 'firmware-atheros' recipe which was creating a package with
bluetooth firmware, to create the package with wireless firmware as
well.
Also remove 'ccimx6' as compatible machine for the external atheros
module, as the module does not even compile with the kernel version we
are using (3.14).
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Move kernel configuration fragments to 2.6.35 recipe (that's the only
kernel version using them)
* Move compile-time dependences to common include linux-dey.inc
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Platform defconfig corresponds to sha1 'e1506ff' in the kernel.
At this point linux-3.10 continues to be the default, some device-tree
files were renamed and the external atheros module does not compile with
linux-3.14, so to use this kernel with dey-1.8, following lines are
needed in the project's local.conf:
PREFERRED_VERSION_linux-dey = "3.14"
KERNEL_DEVICETREE = " \
imx6dl-ccimx6sbc-wb.dtb \
imx6dl-ccimx6sbc-w.dtb \
imx6q-ccimx6sbc.dtb \
imx6q-ccimx6sbc-wb.dtb \
imx6q-ccimx6sbc-wb-ldo-bypass.dtb \
imx6q-ccimx6sbc-w.dtb \
"
MACHINE_FEATURES_remove = "wifi"
https://jira.digi.com/browse/DEL-1748
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also remove kernel configuration fragments for kernel 3.10. This is not
needed for 3.10 as all the configuration is done via device-trees.
https://jira.digi.com/browse/DEL-1695
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit b0031915f1c7f3eeba680161827e78bbac9eebb4)
This is a regression introduced in a74363c. The MOD_VARIANT variable was
not correctly set because in kernel 2.6.35 there is no device-tree
support.
The fix is to get the module variant from the sysfs as a fallback for
old kernels.
https://jira.digi.com/browse/DEL-1694
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 6357d71152c38c4713fc534b78b6c2993b201aa8)
Some CC6 variants have wireless but not bluetooth. Those variants need a
different calibration file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit a74363cf4a9b239edf9d628f84fe7e88002c0f5c)
Also remove support for device tree variants as it's not needed. We will
only have different device tree for the different CPUs, but not for the
different variants of the same CPU.
https://jira.digi.com/browse/DEL-1569
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We need to append our config to EXTRA_OEMAKE variable instead of
overriding it, because otherwise we lose some config from the
environment (e.g. KERNEL_SRC) and the build fails with:
make: *** M=...kernel-module-.../git: No such file or directory
Also remove redundant PACKAGE_ARCH setting, as it's inherited from
module-base class.
https://jira.digi.com/browse/DEL-1558
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The way the kernel is built in yocto 1.8 has changed. Now the
build is done under ${WORKDIR}/build while the source code is at
STAGING_KERNEL_DIR, so we need to modify the '.config' in the build
directory instead of in the source directory.
This fixes:
kernel-source is not clean, please run 'make mrproper'
make[2]: *** [prepare3] Error 1
make[1]: *** [sub-make] Error 2
https://jira.digi.com/browse/DEL-1558
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
It has never been a mirror of upstream packages.
It's the URL of packages needed for the BSP. These packages are mostly
Digi specific and not provided in any other location.
https://jira.digi.com/browse/DEL-1493
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit d4cf9a88c9db39c6ecfd0099437d82af81c96e85)
This completes the support for ccimx6sbc variants:
* support device tree variants
* split variants '0x01,0x02,0x04' group in two different groups (with or
without kinetis)
https://jira.digi.com/browse/DEL-1359
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 3f20015411f4e270b2e2c8faf292678c75ff2aff)
A post-down script was unloading the Atheros wireless driver
when the network interfaces were brought down.
On rare occasions the 'rmmod' command was not able to complete
and may leave the system in an unexpected state.
This patch removes the post-down script for the ccardimx28 platform
and leaves it only for the ccimx6 platform, where the unloading
is wanted to reset the driver after suspend.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-1314
Notes:
* This version of u-boot does not support comments in scripts
* Enabled EXT4 in kernel config (for the SDCARD rootfs)
https://jira.digi.com/browse/DEL-197
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By removing the driver on ifdown and loading it on ifup we workaround some
problems found in long run suspend stability testing.
https://jira.digi.com/browse/DEL-1084
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This updates the driver to upstream AR6003-ISC-v3.4p6-b3.4.0.225.
https://jira.digi.com/browse/DEL-1127
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This adds the calibration file for US regulatory (still missing the
world-regulatory calibration file)
https://jira.digi.com/browse/DEL-1102
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
User-space has been updated in meta-fsl-arm for the general availability
(GA) FSL release, so use the kernel branch with the GA support.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The 'v3.10/master' master branch has been updated with the latest
general availability (GA) release from FSL, but the user-space is not
ready yet, so using the new kernel the build is broken:
imx-lib: error: 'PXP_IOC_GET_CHAN' undeclared
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Needing to set the branch where a specific SHA1 revision is contained is
a unnecessary constraint that can be bypassed setting 'nobranch=1' in
the SRC_URI.
We do that for all the external repos (GitHub) plus the internal ones
for the im-xbootlets and the atheros kernel module (as those two repos
are stable enough and we are not developing actively on them).
For U-Boot and Linux we keep the SRCBRANCH framework for internal repos
as this is needed for the AUTOREV yocto feature.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Starting with Yocto 1.6 there is a need to configure in which branch a
specific SHA1 revision is included. We need a framework to set such
branches both for internal git repos and for external ones (Github).
If the branch is not specified in the SRC_URI, the do_fetch task may
fail even though the SHA1 revision exists in the repository.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Otherwise building Yocto 1.6 for ccardimx28js fails with:
ERROR: Logfile of failure stored in:
/home/jviguera/projects/yocto/master/gui/ccardimx28js/tmp/work/ccardimx28js-dey-linux-gnueabi/kernel-module-atheros/1.0-r1/temp/log.do_fetch.38442
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Fetch the source from the dey-1.6/maint branch which contains a fix
for a kernel oops introduced by the Yocto GCC 4.8.1 compiler.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This workaround is not needed anymore as the git fetcher bug is fixed in
poky's master branch.
This reverts commit 982af63902.
https://jira.digi.com/browse/DEL-996
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
PR was based on meta-fsl-arm's 'linux-imx.inc' INC_PR, but this was
removed after Dora, so we need to remove PR from our kernel recipes to
avoid a bitbake parser error:
${INC_PR}.0/git')} exception SyntaxError: EOL while scanning string literal
https://jira.digi.com/browse/DEL-996
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
linux-dey.inc is a copy of meta-fsl-arm's linux-imx recipe file, so
instead of copying the whole recipe just use that (including the file)
and code the differences.
While on it, add RDEPENDS_kernel-base="" to remove the dependence of the
rootfs image recipes on the linux image. We don't need/use the kernel
image in the rootfs as we load it from a different partition. This makes
rootfs images a bit smaller.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
change the directory (cd) and make the symbolic link in a subshell to
preserve the current working directory for any subsequent command.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
bitbake git's fetcher uses 'ls-remote' to get the branch revision to
checkout. If the repository has two branches ending equally the 'git
ls-remote' just picks the first one regardless of that being the correct
one.
In our case we were bitten by this bug because our git repo has:
...sha1-revision... refs/heads/android/v3.10/master
...sha1-revision... refs/heads/v3.10/master
and the fetcher was using the android branch instead of linux's
v3.10/master.
A patch has been sent upstream but while that gets applied to Dora
maintenance branch the workaround here is to set the absolute path in
the kernel's bitbake recipe.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The do_update_dts function was hardcoded for ccardimx28js. We need to
make it mxs specific so the recipe can be used for other platforms that
do not share the same device tree configuration (for example the
upcoming ccimx6js)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
To be sure the 'cfg80211' module is settled down before the
'ath6kl_sdio' module tries to use it.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Version v3.4p6 seems to have some problems with WEP encription. Version
v3.4p4 seems to work better with WEP, so revert to that version.
https://jira.digi.com/browse/DEL-843
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
There seems to be a race condition in the load of the 'cfg80211' and
'ath6kl_sdio' modules. If we try to load the atheros module before the
cfg80211 is settled down, the driver crash.
The workaround is just separate the load of both modules in two separate
'modprobe' commands and add a small delay between them.
https://jira.digi.com/browse/DEL-814
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Not well supported yet and cleans a debug line:
ath6kl: ath6kl_cfg80211_connect: sme->mfp = 0
https://jira.digi.com/browse/DEL-815
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The Linux kernel revision was splitted from main bitbake recipe to its
own linux-dey-rev file so that file could be used for linux-headers
recipe to build the toolchain using custom kernel headers (from our
repository).
That is not the recommended way to build a toolchain:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=babbf7a46acaefd9b36031483cafce053f607e66
and we are not using our kernel headers to build the toolchain anymore,
so just melt the linux-dey-rev files into the linux-dey bitbake recipes
for cleanness and easier maintenance.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The wireless module occasionally fails to load in kernel v3.10.
If that is the case, unload the driver and load it again (up to
five retries).
Notes:
- Only the ath6kl_sdio module needs to be unloaded and reloaded.
- The chip is not issued a power cycle via CHIP_PWD_L because
this demonstrated to cause failure, instead of improving
behaviour.
- The 2-seconds sleep after unloading the driver is a security
measure to avoid other problems seen during test cycle.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Reviewed-by: Javier Viguera <javier.viguera@digi.com>
https://jira.digi.com/browse/DEL-820
Committed a patch in linux-dey repo to fix perf build. At the same
time update linux-dey revision to get the perf fix.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
They conflict.
Warn the user about the problem and let they change the device tree
manually.
https://jira.digi.com/browse/DEL-840
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
list.h: In function 'INIT_HLIST_NODE':
list.h:582:12: error: 'NULL' undeclared (first use in this function)
list.h: In function 'hlist_move_list':
list.h:661:15: error: 'NULL' undeclared (first use in this function)
list.h: In function 'hlist_move_list':
list.h:661:15: error: 'NULL' undeclared (first use in this function)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Those boolean helper variables can be used in different recipes so move
them to a common place.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also change the default ccardimx28js variant to 'web1' (wireless, second
ethernet, bluetooth and 1-wire)
https://jira.digi.com/browse/DEL-819
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Most SRC_URI defaults to DIGI_LOG_GIT. This patch sets a more generic
name (DIGI_GIT) that defaults to DIGI_LOG_GIT, but is configurable by
someone who might want to tune it (DIGI_MTK_GIT, etc.).
Signed-off-by: Seth Bollinger <sethb@digi.com>
To get the latest changes: logo, mac-address, wireless...
Also synchronize the defconfig with the one in the kernel tree.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
If people are creating derivative machines in their layer, make
COMPATIBLE_MACHINE more flexible. Use SOC_FAMILY instead of specific
machine types. This allows users to more easily share these recipes.
https://jira.digi.com/browse/DEL-676
Signed-off-by: Seth Bollinger <sethb@digi.com>
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Modify the atheros and bluetooth init scripts to fetch the hwid details
from the device tree.
https://jira.digi.com/browse/DEL-572
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>