Remove the linux-v4.20 recipe and use the linux-fslc kernel recipe in
meta-freescale-3rdparty instead.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Add kernel module parameter to enable/disable the p2p interface.
By default p2p interface is disabled.
https://jira.digi.com/browse/DEL-6503
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The naming of branches in the qcacld repository is now in the qca65x4
namespace.
Also, the qca6564/master branch now does not hardcode the TX MCS to 0 as
this change should only apply to the CC6UL and not other platforms like
the CC6+.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Device tree files no longer have the kernel type prefixed to their name, so the
trustfence_sign() function must be updated to reflect this change or else
errors will occur.
https://jira.digi.com/browse/DEL-6476
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The driver now builds directly from the kernel source and the
fixes are already included in the kernel tree so there is no need
to build the module externally.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6460
(cherry picked from commit a0990a7e1dcd03af239efb620b83b7dee126484e)
KERNEL_IMAGE_BASE_NAME was replaced by KERNEL_IMAGE_NAME for
consistency between variable names.
https://jira.digi.com/browse/DEL-6443
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
new version allows building multiple flavors of the kernel and
module packages by templatizing kernel package names via a new
KERNEL_PACKAGE_NAME variable in kernel.bbclass.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This error only appears when the build host does not have the openssl
development libraries (libssl-dev) installed. If they are, the build
process will use them.
The error is:
|
/home/builder/jenkins/workspace/dey-rocko-use-mainline-bsp/projects/ccimx6ulsbc/tmp/work-shared/ccimx6ulsbc/kernel-source/scripts/extract-cert.c:21:25:
fatal error: openssl/bio.h: No such file or directory
| compilation terminated.
| scripts/Makefile.host:90: recipe for target 'scripts/extract-cert'
failed
| make[3]: *** [scripts/extract-cert] Error 1
| make[3]: *** Waiting for unfinished jobs....
This commit makes openssl-native a dependency and passes the include
path to the build.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Just add the following to the conf/local.conf file:
MACHINEOVERRIDES .= ":use-mainline-bsp"
The defconfig is the mainline imx_v6_v7_defconfig.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Currently the contents of FILESEXTRAPATHS and the actual paths being used for
the patch files are not aligned. That generates the following WARNINGs:
imx-gst1.0-plugin_4.3.4.bb: Unable to get checksum for imx-gst1.0-plugin SRC_URI entry 0001-gstimxv4l2-map-dev-video1-to-dev-fb0.patch: file could not be found
kernel-module-imx-gpu-viv_5.0.11.p8.6.bb: Unable to get checksum for kernel-module-imx-gpu-viv SRC_URI entry 0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch: file could not be found
kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb: Unable to get checksum for kernel-module-imx-gpu-viv SRC_URI entry 0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch: file could not be found
Also, those patches are not being applied.
This patch fixes FILESEXTRAPATHS to contain the actual paths being used.
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit 4d35d15fee)
Digi Embedded Yocto 2.4-r2.4-beta
Manually changed recipes to use the master branches instead of the
fixed SHA1 from the last release.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The module was being loaded by the default udev rules. With this new rule, the
module will be loaded with our custom qualcomm.sh script.
https://jira.digi.com/browse/DEL-6067
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The module's sources are now obtained from the kernel and two of our patches
aren't needed anymore.
https://jira.digi.com/browse/DEL-6115
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This way, other recipes (like the ones for kernel modules) can re-use the
sources if needed.
https://jira.digi.com/browse/DEL-6115
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This is our new Linux branch based on the beta 2 BSP for i.MX8 QXP
https://jira.digi.com/browse/DEL-6084
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
A new variable QUALCOMM_WIFI_INTERFACE allows to select between 'sdio'
(default) and 'pcie'.
Compilation flags and source files differ between the two.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
- This is an AARCH64 platform that requires to build "Image", so let's
change KERNEL_IMAGETYPE to a weak assignment in imx-digi-base.inc
- The device tree is inside a vendor folder.
- For the moment, this platform builds from a different branch.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5936
With this patch a user can provide his own kernel 'defconfig' file by:
- setting the variable KERNEL_DEFCONFIG to a custom kernel configuration
file inside the kernel repository.
- setting the variable KERNEL_DEFCONFIG to a kernel configuration file
using the full path to the file.
- clearing the variable KERNEL_DEFCONFIG and providing a kernel
configuration file in the layer (in this case the file must be named
'defconfig').
Otherwise the default platform's kernel configuration file will be taken
directly from the Linux source code tree.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Bash v4.4 or higher warns when discarding NULL bytes in command substitution
output. Remove these bytes to avoid the undesired warnings.
https://jira.digi.com/browse/DEL-5588
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
As a side effect, remove U-Boot entry point variable and LOADADDR
extra parameter from the kernel recipe.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5554
Cryptodev has been updated to version 1.9 and the patch is no longer
needed.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
ConnectCore 6 and ConnectCore 6 UL are now supported in kernel v4.9.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This functionality is automatically enabled for any recipe that inherits
the kernel class.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This commit adds the recipe to update the Vivante GPU
driver to the latest version and refresh patches.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds the defconfig for the platform ccimx6qpsbc
to the kernel v4.9 and modifies the recipe.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The patch is needed to match the API kernel changes. This fixes:
zc.c:68:44: error: passing argument 7 of 'get_user_pages_remote' from incompatible pointer type [-Werror=incompatible-pointer-types]
(unsigned long)addr, pgcount, write, 0, pg, NULL);
^~
In file included from zc.c:28:0:
kernel-source/include/linux/mm.h:1276:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
zc.c:63:8: error: too many arguments to function 'get_user_pages_remote'
ret = get_user_pages_remote(
^~~~~~~~~~~~~~~~~~~~~
In file included from zc.c:28:0:
kernel-source/include/linux/mm.h:1276:6: note: declared here
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
https://jira.digi.com/browse/DEL-5081
Signed-off-by: Jose Diaz de Grenu <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>
We need to pass different log levels depending on the message, so they
appear in the console, so generalize the 'log' function.
https://jira.digi.com/browse/DEL-4682
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
At the point this script is running from udev (the system log is not yet
available), so to avoid debug messages from qualcomm wireless module
reduce the console log level.
https://jira.digi.com/browse/DEL-4570
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
At the point this script is run (from udev) the system log is not yet
available, so use the kernel log buffer instead.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use the same udev script that loads the qualcomm wireless module to
create the 'wlan1' virtual interface.
https://jira.digi.com/browse/DEL-4453
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Udev comes with a bunch of generic rules for the hardware. One of them:
/lib/udev/rules.d/80-drivers.rules
is able to load the qualcomm wireless module.
At the same time our new rule is needed, so it prepares the firmware
before the module is loaded.
Both rules running collide with following error message:
udevd[181]: '/etc/udev/scripts/qualcomm.sh' [184] terminated by signal 1 (Hangup)
So to fix this, we rename the specific rule so it's parsed later, and
then we use the hard assignation '=' instead of '+=' to override the
values that come from the previous parsed rule.
Also clean-up a bit the 'qualcomm.sh' script and the modprobe file,
given that now we know the standard drivers rule won't run for this
interface.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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)
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>
In Linux 2.6.35, the kernel module accepting the parameters on load
was 'ath6kl_sdio' while in 3.10 is 'ath6kl_core'.
So we need to apply the load parameters to either module depending on
the kernel version.
This is solved by configuring the modprobe configuration file
'/etc/modprobe.d/atheros.conf' with the parameters to the correct
module instead of passing them in the command line.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
With the old version of the kernel (2.6.35) we build an external atheros
kernel module, while with the new kernel (3.10) the atheros driver is
included with the kernel sources.
However, the new driver needs the firmware files and the driver load
scripts that are stored with the old driver.
So put a dependence on kernel-module-atheros regardless of the kernel
version and then rework the kernel-module-atheros recipe to build the
whole driver for the old kernel or only the firmware for the new kernel.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The UBOOT_LOADADDRESS and UBOOT_ENTRYPOINT variables are only used in
the kernel recipe, so remove from the machine configuration files.
Also, use the defconfig from the kernel tree which compiles all the
support by default and expects the device tree to be configured with
the desired support. Hence, remove all the empty configuration fragments
files.
https://jira.digi.com/browse/DEL-577
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
ERROR: Fetcher failure: Unable to find file file://atheros anywhere
The FILESPATH variable (used as the search path for files referred to
in SRC_URI) is now (dylan) more restrictive, so move the files where
they can be found.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is to work as in previous kernels. For now the fragments are empty
and they will have to be individually included and tested.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Copy including folders. This was causing problems in kernel version 3.10
as the directory included folders that were omitted in the copy and caused
the do_install to fail.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>