NetworkManager is not able to detect and manage the wireless interface
until is actually created, so let udev load the kernel module and create
the interface on boot.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
Since 30c253e108 the module is compiled from a repository which already
includes the patches, so we can remove them from DEY.
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit adds support to read the GPU reserved memory
from the DT.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3868
The firmware configuration and the driver configuration are part of the
driver repository. Stop duplicating the content in meta-digi so they
are updated with the driver itself.
https://jira.digi.com/browse/DEL-4021
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The amount of patches to this driver maintained in meta-digi is
substantial, so we are moving to a git repository release model.
https://jira.digi.com/browse/DEL-3710
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Seems that this is needed for the bluetooth interface to work. Without
this options, the interface is not able to initialice (hciattach command
fails).
https://jira.digi.com/browse/DEL-3855
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Loading firmware by userspace helpers has been deprecated from device
managers (like udev, eudev, etc). Firmware loading is supposed to be
performed by the kernel.
This fixes the loading of an external kernel module (qualcomm wlan.ko)
that was failing to load because of a missing firmware file.
In that case the kernel was requesting the firmware load from userspace:
ar6k_wlan mmc0:0001:1: Direct firmware load for qsetup30.bin failed with error -2
ar6k_wlan mmc0:0001:1: Falling back to user helper
The device manager we are using in DEY-2.2 (eudev) does not support
firmware loading and is not giving an error return value to the kernel
either, so at one point the kernel throws an oops:
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 88228000 ti: 88cbe000 task.ti: 88cbe000
PC is at 0x7f183758
LR is at request_firmware+0x38/0x40
pc : [<7f183758>] lr : [<802f80bc>] psr: 600f0013
sp : 88cbfdb8 ip : 00000000 fp : 88644c00
r10: 0000dac0 r9 : 88cbfefc r8 : 0000000c
r7 : 00007d08 r6 : 88cbfde4 r5 : 88644ea2 r4 : 00000005
r3 : 88cbfde4 r2 : 00000080 r1 : 00000000 r0 : fffffff5
and the wireless driver is not loaded.
https://jira.digi.com/browse/DEL-3856
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The way the kernel artifacts are generated has change as of Yocto 2.2.
Also some of the variables (e.g. KERNEL_IMAGE_SYMLINK_NAME) have changed
their default values.
Thus the trustfence_sign function needed some tweaks to continue working
properly.
https://jira.digi.com/browse/DEL-3834
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
KERNEL_IMAGE_BASE_NAME and KERNEL_IMAGE_SYMLINK_NAME default values have
changed in Yocto 2.2, so now this appended command is failing because
it's translated to:
ln -sf -4.1-r0.2-ccimx6ulstarter-20170216122147.bin ccimx6ulstarter
which fails with:
ln: invalid option -- '4'
Just remove it, because we don't need that symlink anymore. New U-Boot's
'zimage' and 'uimage' environment variables have default values ending in
'.bin' which is what Yocto provides.
https://jira.digi.com/browse/DEL-3451
Signed-off-by: Javier Viguera <javier.viguera@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>
Protect the invocation of the _scan_done() callback function with the
global lock to avoid that it is called while the module is being unloaded
and the data structures have been freed.
Additionally, the commit also adds a patch to reduce the log level of the
driver that is logging some annoying messages.
https://jira.digi.com/browse/DEL-3607https://jira.digi.com/browse/DEL-3393
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
Remove the commit that removes the p2p0 interface at boot. This interface
is the one used to establish p2p connections. Configuring the wlan0 command
for p2p does not work.
https://jira.digi.com/browse/DEL-3390
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The qualcomm wlan driver creates two interfaces at load time, wlan0 and
p2p0. Both of them should load the module if not already loaded.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This re-enables USB mass storage support that was unintentionally
removed in commit 6851ab23e4.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-713
The dependence on virtual/kernel is added implicitly through the module
class, so there is no need to add it explicitly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This updates the kernel configuration to the latest one
which disables unused drivers and options to optimize the
kernel size.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Otherwise the module is built with debug as that is the Makefile's
default.
https://jira.digi.com/browse/DEL-3392
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
As discovered during certifications preparation work, calibration changes
applied only on the bdwlan30.bin file do not take effect.
Per QCA guidelines, the bdwlan30.bin and utfbd30.bin files should be the
same for the calibration changes to work.
This commit removes the current utfbd30.bin file, with an md5sum that
matches the original bdwlan30.bin file in QCA's chipcode
qca6564-le-1-0-3_qca_device repository, and creates a symbolic link to the
actual bdwlan30.bin board file used to certify Digi's module internal
antenna.
https://jira.digi.com/browse/DEL-3454
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The kernel recipe was modifying the device tree blobs in place within the
kernel build temporal directory. This can cause problems after several
compilations, only the deployed artifacts should be signed/encrypted.
The deployment of the DTBs is done by do_deploy_appends in other layers which
are appended after this recipe, so it is required to use a postfunc to do the
trustfence related process after the deployment of all the artifacts.
https://jira.digi.com/browse/DEL-3388
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
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)