Merge tag 'dey-2.0-r5.3' into dey-2.0/master

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>
This commit is contained in:
Javier Viguera 2017-02-15 13:25:35 +01:00
commit c8d17d4a93
26 changed files with 370 additions and 74 deletions

View File

@ -59,14 +59,31 @@ Documentation is available online on the Digi documentation site:
# Downloads # Downloads
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.0/r4/images/ * Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.0/r5/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.0/r4/sdk/ * Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.0/r5/sdk/
# Release Changelog # Release Changelog
## 2.0-r5 ## 2.0-r5
* TBC * Digi Embedded Yocto
* Support firmware update through the new recovery mode
* Initial support to connect to Remote Manager with the CloudConnector
* Updated U-Boot to version 'dub-2015.04-r7' for Digi ConnectCore 6 and 6UL
* Digi ConnectCore 6UL
* Added support to audio codec MAX98089
* Added support to camera Omnivision OV5642
* Optimized kernel configuration (smaller kernel)
* Added support for EDO mode on NAND Flash
* Added PMIC NVRAM support through sysfs
* Added suspend support for PMIC regulators
* Added support for i.MX6UL ADC channels
* Added voltage scaling support for MCA ADC
* Added full-system reset support to MCA watchdog
* Added MCA 32KHz output control through sysfs
* Added VRef output control through sysfs
* Added support to PWM1 on Starter Board expansion header
* Kernel v4.1.38
## 2.0-r4 ## 2.0-r4
@ -125,17 +142,22 @@ after a failed attempt. Hence the target needs to be reset after an
authentication failure. authentication failure.
* If TrustFence (TM) image encryption support is enabled, the uSD image will * If TrustFence (TM) image encryption support is enabled, the uSD image will
boot a signed U-Boot only. boot a signed U-Boot only.
* Firmware update
* Updating from a microSD card is not supported, only from local partitions
(e.g. the 'update' partition) or from external USB memory devices.
* The software update package must be located in the root level of the
update media (subfolders are not yet supported).
* Cloud Connector
* Remote file system management fails with long file names and paths
(over 255 characters).
## Digi ConnectCore 6UL ## Digi ConnectCore 6UL
* In the Bluetooth interface, the UART hardware flow control doesnt work * The UART connected to the Bluetooth chip on early versions of the ConnectCore
properly. To work around this problem the UART is configured without hardware 6UL system-on-module (hardware version < 4) cannot properly execute flow
flow control at 115200 bps, reducing the maximum throughput of this interface. control. To work around this issue, UART1 of these SOM versions has been
This problem will be corrected in newer revisions of the hardware. configured to operate at 115200 bps and without hardware flow control,
reducing the maximum throughput of this interface.
* U-Boot version dub-2015.04-r4.5 may report running on Starter Board version 1
even when your Starter Board is version 2. In that case Ethernet does not work
in U-Boot. More recent versions of U-Boot fix this issue.
## Digi ConnectCore 6 ## Digi ConnectCore 6

View File

@ -240,7 +240,7 @@ gDataInactivityTimeout=200
# Valid values are 0,1,2. If commented out, the default value is 0. # Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 # 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gVhtRxMCS=2 gVhtRxMCS=2
gVhtTxMCS=2 gVhtTxMCS=0
# VHT Tx/Rx MCS values for 2x2 # VHT Tx/Rx MCS values for 2x2
# Valid values are 0,1,2. If commented out, the default value is 0. # Valid values are 0,1,2. If commented out, the default value is 0.

View File

@ -20,3 +20,5 @@ index 3c9c779092c5..f0cd4e06f0dd 100644
- return RAND_load_file("/dev/random", bytes); - return RAND_load_file("/dev/random", bytes);
+ return RAND_load_file("/dev/urandom", bytes); + return RAND_load_file("/dev/urandom", bytes);
} }

View File

@ -9,7 +9,7 @@ Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
1 file changed, 4 insertions(+), 3 deletions(-) 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/keys/hab4_pki_tree.sh b/keys/hab4_pki_tree.sh diff --git a/keys/hab4_pki_tree.sh b/keys/hab4_pki_tree.sh
index b2c6b71b604e..93347521cea1 100644 index b2c6b71b604e..93347521cea1 100755
--- a/keys/hab4_pki_tree.sh --- a/keys/hab4_pki_tree.sh
+++ b/keys/hab4_pki_tree.sh +++ b/keys/hab4_pki_tree.sh
@@ -95,9 +95,10 @@ fi @@ -95,9 +95,10 @@ fi
@ -26,4 +26,3 @@ index b2c6b71b604e..93347521cea1 100644
fi fi
# The following is required otherwise OpenSSL complains # The following is required otherwise OpenSSL complains

View File

@ -162,12 +162,16 @@ setenv bootcmd "
exit; exit;
fi; fi;
echo \"\"; echo \"\";
setenv boot_recovery yes setenv boot_recovery yes;
setenv recovery_command wipe_update setenv recovery_command wipe_update;
saveenv; saveenv;
echo \">> Firmware installation complete. Booting into recovery for final deployment.\"; echo \"\";
echo \"\";
echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\";
echo \"\";
echo \"\";
sleep 1; sleep 1;
run recoverycmd; reset;
" "
saveenv saveenv

View File

@ -74,7 +74,7 @@ setenv bootcmd "
echo \">> Installing Linux kernel and device tree files\"; echo \">> Installing Linux kernel and device tree files\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part linux nand erase.part linux;
update linux mmc ${INSTALL_MMCDEV} fat ${INSTALL_LINUX_FILENAME}; update linux mmc ${INSTALL_MMCDEV} fat ${INSTALL_LINUX_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update linux partition!\"; echo \"[ERROR] Failed to update linux partition!\";
@ -87,7 +87,7 @@ setenv bootcmd "
echo \">> Installing recovery\"; echo \">> Installing recovery\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part recovery nand erase.part recovery;
update recovery mmc ${INSTALL_MMCDEV} fat ${INSTALL_RECOVERY_FILENAME}; update recovery mmc ${INSTALL_MMCDEV} fat ${INSTALL_RECOVERY_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update recovery partition!\"; echo \"[ERROR] Failed to update recovery partition!\";
@ -100,7 +100,7 @@ setenv bootcmd "
echo \">> Installing Linux root file system\"; echo \">> Installing Linux root file system\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part rootfs nand erase.part rootfs;
update rootfs mmc ${INSTALL_MMCDEV} fat ${INSTALL_ROOTFS_FILENAME}; update rootfs mmc ${INSTALL_MMCDEV} fat ${INSTALL_ROOTFS_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update rootfs partition!\"; echo \"[ERROR] Failed to update rootfs partition!\";
@ -109,12 +109,16 @@ setenv bootcmd "
exit; exit;
fi; fi;
echo \"\"; echo \"\";
setenv boot_recovery yes setenv boot_recovery yes;
setenv recovery_command wipe_update setenv recovery_command wipe_update;
saveenv; saveenv;
echo \">> Firmware installation complete. Booting into recovery for final deployment.\"; echo \"\";
echo \"\";
echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\";
echo \"\";
echo \"\";
sleep 1; sleep 1;
run recoverycmd; reset;
" "
saveenv saveenv

View File

@ -74,7 +74,7 @@ setenv bootcmd "
echo \">> Installing Linux kernel and device tree files\"; echo \">> Installing Linux kernel and device tree files\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part linux nand erase.part linux;
update linux mmc ${INSTALL_MMCDEV} fat ${INSTALL_LINUX_FILENAME}; update linux mmc ${INSTALL_MMCDEV} fat ${INSTALL_LINUX_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update linux partition!\"; echo \"[ERROR] Failed to update linux partition!\";
@ -87,7 +87,7 @@ setenv bootcmd "
echo \">> Installing recovery\"; echo \">> Installing recovery\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part recovery nand erase.part recovery;
update recovery mmc ${INSTALL_MMCDEV} fat ${INSTALL_RECOVERY_FILENAME}; update recovery mmc ${INSTALL_MMCDEV} fat ${INSTALL_RECOVERY_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update recovery partition!\"; echo \"[ERROR] Failed to update recovery partition!\";
@ -100,7 +100,7 @@ setenv bootcmd "
echo \">> Installing Linux root file system\"; echo \">> Installing Linux root file system\";
echo \"\"; echo \"\";
echo \"\"; echo \"\";
nand erase.part rootfs nand erase.part rootfs;
update rootfs mmc ${INSTALL_MMCDEV} fat ${INSTALL_ROOTFS_FILENAME}; update rootfs mmc ${INSTALL_MMCDEV} fat ${INSTALL_ROOTFS_FILENAME};
if test \$? -eq 1; then if test \$? -eq 1; then
echo \"[ERROR] Failed to update rootfs partition!\"; echo \"[ERROR] Failed to update rootfs partition!\";
@ -109,12 +109,16 @@ setenv bootcmd "
exit; exit;
fi; fi;
echo \"\"; echo \"\";
setenv boot_recovery yes setenv boot_recovery yes;
setenv recovery_command wipe_update setenv recovery_command wipe_update;
saveenv; saveenv;
echo \">> Firmware installation complete. Booting into recovery for final deployment.\"; echo \"\";
echo \"\";
echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\";
echo \"\";
echo \"\";
sleep 1; sleep 1;
run recoverycmd; reset;
" "
saveenv saveenv

View File

@ -7,8 +7,8 @@ LICENSE = "CLOSED"
PKGNAME = "mca_tool" PKGNAME = "mca_tool"
SRC_URI = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}.tar.gz" SRC_URI = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}.tar.gz"
SRC_URI[md5sum] = "eb36b9e98c3ac30372343567c29f385d" SRC_URI[md5sum] = "d54692090bf0820e6116364822f6433f"
SRC_URI[sha256sum] = "864fdf42ce313e1a55caa654d53d9b9efa0073034914eb7b2e1ecc95f1a4fbf2" SRC_URI[sha256sum] = "e8267e66ba496a1e77b2dec70d6555bdeb8e06b267e776c86b9d4b01e9d13eb5"
S = "${WORKDIR}/${PKGNAME}-${PV}" S = "${WORKDIR}/${PKGNAME}-${PV}"

View File

@ -34,6 +34,8 @@ SRC_URI = " \
file://0018-qcacld-Indicate-disconnect-event-to-upper-layers.patch \ file://0018-qcacld-Indicate-disconnect-event-to-upper-layers.patch \
file://0019-wdd_hdd_main-Print-con_mode-to-clearly-see-if-in-FTM.patch \ file://0019-wdd_hdd_main-Print-con_mode-to-clearly-see-if-in-FTM.patch \
file://0020-Makefile-Pass-BUILD_DEBUG_VERSION-to-kbuild-system.patch \ file://0020-Makefile-Pass-BUILD_DEBUG_VERSION-to-kbuild-system.patch \
file://0021-cosmetic-change-log-level.patch \
file://0022-fix-issue-with-_scan_callback.patch \
" "
S = "${WORKDIR}/${PV}" S = "${WORKDIR}/${PV}"

View File

@ -0,0 +1,53 @@
From: Pedro Perez de Heredia <pedro.perez@digi.com>
Date: Mon, 13 Feb 2017 09:43:50 +0100
Subject: [PATCH] kernel-module-qualcomm: cosmetic change log level for anoying
driver messages
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
---
CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 4 ++--
CORE/SVC/src/logging/wlan_logging_sock_svc.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
index 1a1e51e..ee2af05 100644
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
@@ -1202,7 +1202,7 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
clock = device->host->f_max;
}
- printk(KERN_ERR "%s: Dumping clocks (%d,%d)\n", __func__, func->card->cis.max_dtr, device->host->f_max);
+ pr_info("%s: Dumping clocks (%d,%d)\n", __func__, func->card->cis.max_dtr, device->host->f_max);
/*
// We don't need to set the clock explicitly on 8064/ADP platforms.
@@ -1513,7 +1513,7 @@ static A_STATUS hifEnableFunc(HIF_DEVICE *device, struct sdio_func *func)
sdio_release_host(func);
return A_ERROR;
}
- printk(KERN_ERR"AR6000: Set async interrupt delay clock as %d.\n", asyncintdelay);
+ pr_info("AR6000: Set async interrupt delay clock as %d.\n", asyncintdelay);
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
diff --git a/CORE/SVC/src/logging/wlan_logging_sock_svc.c b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
index 0253215..379d878 100644
--- a/CORE/SVC/src/logging/wlan_logging_sock_svc.c
+++ b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
@@ -431,13 +431,13 @@ static int wlan_logging_thread(void *Arg)
|| gwlan_logging.exit));
if (ret_wait_status == -ERESTARTSYS) {
- pr_err("%s: wait_event_interruptible returned -ERESTARTSYS",
+ pr_info("%s: wait_event_interruptible returned -ERESTARTSYS",
__func__);
break;
}
if (gwlan_logging.exit) {
- pr_err("%s: Exiting the thread\n", __func__);
+ pr_info("%s: Exiting the thread\n", __func__);
break;
}

View File

@ -0,0 +1,102 @@
From: Pedro Perez de Heredia <pedro.perez@digi.com>
Date: Mon, 13 Feb 2017 10:28:35 +0100
Subject: [PATCH] kernel-module-qualcomm: fix issue with _scan_callback at
module unload
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.
https://jira.digi.com/browse/DEL-3607
https://jira.digi.com/browse/DEL-3393
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
---
CORE/SME/src/csr/csrApiScan.c | 43 +++++++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index 83a74cb..2f90cce 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -6420,13 +6420,20 @@ eHalStatus csrScanFreeRequest(tpAniSirGlobal pMac, tCsrScanRequest *pReq)
void csrScanCallCallback(tpAniSirGlobal pMac, tSmeCmd *pCommand, eCsrScanStatus scanStatus)
{
- if(pCommand->u.scanCmd.callback)
+ eHalStatus status;
+
+ status = sme_AcquireGlobalLock( &pMac->sme );
+ if ( HAL_STATUS_SUCCESS( status ) )
{
- pCommand->u.scanCmd.callback(pMac, pCommand->u.scanCmd.pContext,
- pCommand->sessionId,
- pCommand->u.scanCmd.scanID, scanStatus);
- } else {
- smsLog( pMac, LOG2, "%s:%d - Callback NULL!!!", __func__, __LINE__);
+ if(pCommand->u.scanCmd.callback)
+ {
+ pCommand->u.scanCmd.callback(pMac, pCommand->u.scanCmd.pContext,
+ pCommand->sessionId,
+ pCommand->u.scanCmd.scanID, scanStatus);
+ } else {
+ smsLog( pMac, LOG2, "%s:%d - Callback NULL!!!", __func__, __LINE__);
+ }
+ sme_ReleaseGlobalLock( &pMac->sme );
}
}
@@ -7126,6 +7133,7 @@ tANI_BOOLEAN csrScanRemoveFreshScanCommand(tpAniSirGlobal pMac, tANI_U8 sessionI
tSmeCmd *pCommand;
tDblLinkList localList;
tDblLinkList *pCmdList;
+ eHalStatus status;
vos_mem_zero(&localList, sizeof(tDblLinkList));
if(!HAL_STATUS_SUCCESS(csrLLOpen(pMac->hHdd, &localList)))
@@ -7178,15 +7186,21 @@ tANI_BOOLEAN csrScanRemoveFreshScanCommand(tpAniSirGlobal pMac, tANI_U8 sessionI
while( (pEntry = csrLLRemoveHead(&localList, LL_ACCESS_NOLOCK)) )
{
pCommand = GET_BASE_ADDR(pEntry, tSmeCmd, Link);
- if (pCommand->u.scanCmd.callback)
+
+ status = sme_AcquireGlobalLock( &pMac->sme );
+ if ( HAL_STATUS_SUCCESS( status ) )
{
- /* User scan request is pending,
+ if (pCommand->u.scanCmd.callback)
+ {
+ /* User scan request is pending,
* send response with status eCSR_SCAN_ABORT*/
- pCommand->u.scanCmd.callback(pMac,
- pCommand->u.scanCmd.pContext,
- sessionId,
- pCommand->u.scanCmd.scanID,
- eCSR_SCAN_ABORT);
+ pCommand->u.scanCmd.callback(pMac,
+ pCommand->u.scanCmd.pContext,
+ sessionId,
+ pCommand->u.scanCmd.scanID,
+ eCSR_SCAN_ABORT);
+ }
+ sme_ReleaseGlobalLock( &pMac->sme );
}
csrReleaseCommandScan( pMac, pCommand );
}
@@ -8015,7 +8029,6 @@ eHalStatus csrProcessSetBGScanParam(tpAniSirGlobal pMac, tSmeCmd *pCommand)
return (status);
}
-
eHalStatus csrScanAbortMacScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
eCsrAbortReason reason)
{
@@ -8035,6 +8048,8 @@ eHalStatus csrScanAbortMacScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
{
pCommand = GET_BASE_ADDR( pEntry, tSmeCmd, Link );
+ pCommand->u.scanCmd.callback = NULL;
+ pCommand->u.scanCmd.pContext = NULL;
csrAbortCommand( pMac, pCommand, eANI_BOOLEAN_FALSE);
}
csrLLUnlock(&pMac->scan.scanCmdPendingList);

View File

@ -0,0 +1,52 @@
#
# Generate DEY installer ZIP package
#
# Copyright 2017, Digi International Inc.
#
DEPENDS += "zip-native"
#
# Filesystem types allowed in the installer ZIP
#
FSTYPES_WHITELIST = " \
boot.ubifs \
boot.vfat \
ext4 \
recovery.ubifs \
recovery.vfat \
ubifs \
"
generate_installer_zip () {
# Get list of files to pack
INSTALLER_FILELIST="${DEPLOY_DIR_IMAGE}/install_linux_fw_sd.scr"
for ext in ${FSTYPES_WHITELIST}; do
if readlink -e "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${ext}" >/dev/null; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${ext}"
fi
done
for ubconf in ${UBOOT_CONFIG}; do
if readlink -e "${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}" >/dev/null; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}"
fi
done
# Create README file
cat >README.txt <<_EOF_
Digi Embedded Yocto kit installer
---------------------------------
_EOF_
md5sum ${INSTALLER_FILELIST} | sed -e "s,${DEPLOY_DIR_IMAGE}/,,g" >> README.txt
# Pack the files
zip -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.installer.zip ${INSTALLER_FILELIST} README.txt
# Create the symlink
if [ -n "${IMAGE_LINK_NAME}" ] && [ -e "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.installer.zip" ]; then
ln -sf ${IMAGE_NAME}.installer.zip ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.installer.zip
fi
}
IMAGE_POSTPROCESS_COMMAND += "generate_installer_zip; "

View File

@ -26,3 +26,9 @@ EXTRA_USERS_PARAMS += "\
# Create QT5 capable toolchain/SDK if 'dey-qt' image feature is enabled # Create QT5 capable toolchain/SDK if 'dey-qt' image feature is enabled
# #
inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "populate_sdk_qt5", "",d)} inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "populate_sdk_qt5", "",d)}
#
# Generate ZIP installer if configured in the project's local.conf
#
DEY_IMAGE_INSTALLER ?= "0"
inherit ${@base_conditional("DEY_IMAGE_INSTALLER", "1", "dey-image-installer", "", d)}

View File

@ -10,12 +10,12 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILES += "${@' '.join('${LAYERDIR}/other-layers/%s/recipes*/*/*.bbappend' % layer \ BBFILES += "${@' '.join('${LAYERDIR}/other-layers/%s/recipes*/*/*.bbappend' % layer \
for layer in BBFILE_COLLECTIONS.split())}" for layer in BBFILE_COLLECTIONS.split())}"
BBFILE_COLLECTIONS += "dey" BBFILE_COLLECTIONS += "digi-dey"
BBFILE_PATTERN_dey := "^${LAYERDIR}/" BBFILE_PATTERN_digi-dey := "^${LAYERDIR}/"
BBFILE_PRIORITY_dey = "6" BBFILE_PRIORITY_digi-dey = "6"
LAYERDEPENDS_dey = "core digi-arm" LAYERDEPENDS_digi-dey = "core digi-arm"
LAYERDEPENDS_dey += "openembedded-layer networking-layer webserver qt5-layer" LAYERDEPENDS_digi-dey += "openembedded-layer networking-layer webserver qt5-layer swupdate"
# Digi's General and Open Source license agreements # Digi's General and Open Source license agreements
DIGI_EULA_FILE = "${LAYERDIR}/DIGI_EULA" DIGI_EULA_FILE = "${LAYERDIR}/DIGI_EULA"

View File

@ -4,6 +4,13 @@ fast_reauth=1
update_config=1 update_config=1
ap_scan=1 ap_scan=1
# Static scheduled scan interval time in seconds
#
# The wpa-supplicant dynamically adjusts the scheduled scan time interval. On
# occassions, fixing the interval time is helpful, for example on DFS channels.
#sched_scan_interval=2
network={ network={
scan_ssid=1 scan_ssid=1
ssid="" ssid=""

View File

@ -3,7 +3,7 @@
# #
# suspend # suspend
# #
# Copyright (C) 2016 by Digi International Inc. # Copyright (C) 2016, 2017 by Digi International Inc.
# All rights reserved. # All rights reserved.
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
@ -17,6 +17,8 @@
scriptname="$(basename ${0})" scriptname="$(basename ${0})"
syspower="/sys/power/state" syspower="/sys/power/state"
lockfile="/var/lock/${scriptname}.lock"
lockfd="9"
usage() { usage() {
printf "\nSuspend system to RAM memory\n" printf "\nSuspend system to RAM memory\n"
@ -40,6 +42,21 @@ resume_interfaces() {
fi fi
} }
enter_critical_section() {
# Create lock file
eval "exec ${lockfd}>${lockfile}"
# Acquire the lock in non blocking mode. Otherwise, additional calls
# to the script will be queued and the system will endlessly go in
# and out of suspend to ram
flock -n "${lockfd}" || exit 0
}
exit_critical_section() {
# Release the lock
flock -u "${lockfd}"
}
while getopts "h" c; do while getopts "h" c; do
case "${c}" in case "${c}" in
h) usage; exit;; h) usage; exit;;
@ -47,15 +64,19 @@ while getopts "h" c; do
done done
if [ -f "${syspower}" ]; then if [ -f "${syspower}" ]; then
# Avoid running multiple instances of this script in parallel
enter_critical_section
# Pre-suspend actions # Pre-suspend actions
suspend_interfaces suspend_interfaces
# Suspend the device # Suspend the device
printf "mem" > ${syspower} printf "mem" > ${syspower}
sleep .5
# Post-resume actions # Post-resume actions
resume_interfaces resume_interfaces
exit_critical_section
else else
printf "\n[ERROR] File ${syspower} not found\n\n" printf "\n[ERROR] File ${syspower} not found\n\n"
fi fi

View File

@ -0,0 +1,10 @@
#!/bin/sh
# The full CAAM function is exclusive with the Mega/Fast mix off feature in DSM.
# If CAAM is enabled, the Mega/Fast mix off feature needs to be disabled, and
# the user should enable CAAM jr0 as a wakeup source after the kernel boots up,
# and then Mega/Fast mix will keep the power on in DSM.
JR0_WAKEUP="/sys/bus/platform/devices/2100000.aips-bus/2140000.caam/2141000.jr0/power/wakeup"
if [ -f "${JR0_WAKEUP}" ]; then
echo "enabled" > "${JR0_WAKEUP}"
fi

View File

@ -1,12 +1,21 @@
# Copyright (C) 2013 Digi International. # Copyright (C) 2013-2017 Digi International.
FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:"
SRC_URI += "file://device_table.txt \ SRC_URI += "file://device_table.txt \
file://devtmpfs.sh" file://devtmpfs.sh"
SRC_URI_append_ccimx6ul = " file://caam_jr0_wakeup.sh"
do_install_append() { do_install_append() {
install -m 755 ${WORKDIR}/devtmpfs.sh ${D}${sysconfdir}/init.d/devtmpfs.sh install -m 755 ${WORKDIR}/devtmpfs.sh ${D}${sysconfdir}/init.d/devtmpfs.sh
update-rc.d -r ${D} devtmpfs.sh start 03 S . update-rc.d -r ${D} devtmpfs.sh start 03 S .
install -m 0755 ${WORKDIR}/device_table.txt ${D}${sysconfdir}/device_table install -m 0755 ${WORKDIR}/device_table.txt ${D}${sysconfdir}/device_table
} }
do_install_append_ccimx6ul() {
install -m 0755 ${WORKDIR}/caam_jr0_wakeup.sh ${D}${sysconfdir}/init.d/caam_jr0_wakeup.sh
update-rc.d -r ${D} caam_jr0_wakeup.sh start 20 S .
}
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -1,29 +0,0 @@
# Copyright (C) 2017, Digi International Inc.
SUMMARY = "Digi's device cloud connector"
SECTION = "libs"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7f619bab123dad"
DEPENDS = "confuse openssl recovery-utils zlib"
SRC_URI = "${DIGI_PKG_SRC}/${BP}.tar.gz"
SRC_URI[md5sum] = "db366b0358c1b47f6380080ce75d91e4"
SRC_URI[sha256sum] = "5ecd4b1830fea7746e005465b6eef30f118302147861eb4074cf717fffbdf9d5"
S = "${WORKDIR}/${PN}-${PV}"
inherit pkgconfig
do_install() {
oe_runmake DESTDIR=${D} install
}
PACKAGES =+ "${PN}-cert"
FILES_${PN}-cert = "${sysconfdir}/ssl/certs/Digi_Int-ca-cert-public.crt"
CONFFILES_${PN} += "${sysconfdir}/cc.conf"
RDEPENDS_${PN} = "${PN}-cert"

View File

@ -10,7 +10,12 @@ DEPENDS = "confuse openssl recovery-utils zlib"
SRCBRANCH = "master" SRCBRANCH = "master"
SRCREV = "${AUTOREV}" SRCREV = "${AUTOREV}"
SRC_URI = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh;branch=${SRCBRANCH}" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh"
CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=git"
CC_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}"
SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
@ -27,5 +32,3 @@ FILES_${PN}-cert = "${sysconfdir}/ssl/certs/Digi_Int-ca-cert-public.crt"
CONFFILES_${PN} += "${sysconfdir}/cc.conf" CONFFILES_${PN} += "${sysconfdir}/cc.conf"
RDEPENDS_${PN} = "${PN}-cert" RDEPENDS_${PN} = "${PN}-cert"
DEFAULT_PREFERENCE = "-1"

View File

@ -0,0 +1,6 @@
# Copyright (C) 2017 Digi International
#
# Add runtime dependency so that GLES3 headers don't need to be added manually
#
RDEPENDS_libgles2-mesa-dev += "libgles3-mesa-dev"

View File

@ -30,40 +30,48 @@ auto-profiles = no
description = Analog Mono description = Analog Mono
device-strings = hw:%f device-strings = hw:%f
channel-map = mono channel-map = mono
priority = 2
[Mapping analog-stereo] [Mapping analog-stereo]
description = Analog Stereo description = Analog Stereo
device-strings = hw:%f device-strings = hw:%f
channel-map = left,right channel-map = left,right
priority = 60
[Profile input:analog-mono] [Profile input:analog-mono]
description = Analog Mono Input description = Analog Mono Input
input-mappings = analog-mono input-mappings = analog-mono
skip-probe = yes skip-probe = yes
priority = 2
[Profile input:analog-stereo] [Profile input:analog-stereo]
description = Analog Stereo Input description = Analog Stereo Input
input-mappings = analog-stereo input-mappings = analog-stereo
skip-probe = yes skip-probe = yes
priority = 60
[Profile output:analog-mono] [Profile output:analog-mono]
description = Analog Mono Output description = Analog Mono Output
output-mappings = analog-mono output-mappings = analog-mono
skip-probe = yes skip-probe = yes
priority = 200
[Profile output:analog-mono+input:analog-mono] [Profile output:analog-mono+input:analog-mono]
description = Analog Mono Duplex description = Analog Mono Duplex
output-mappings = analog-mono output-mappings = analog-mono
input-mappings = analog-mono input-mappings = analog-mono
skip-probe = yes skip-probe = yes
priority = 202
[Profile output:analog-stereo] [Profile output:analog-stereo]
description = Analog Stereo Output description = Analog Stereo Output
output-mappings = analog-stereo output-mappings = analog-stereo
skip-probe = yes skip-probe = yes
priority = 6000
[Profile output:analog-stereo+input:analog-stereo] [Profile output:analog-stereo+input:analog-stereo]
description = Analog Stereo Duplex description = Analog Stereo Duplex
output-mappings = analog-stereo output-mappings = analog-stereo
input-mappings = analog-stereo input-mappings = analog-stereo
skip-probe = yes skip-probe = yes
priority = 6060

View File

@ -32,6 +32,10 @@ INHERIT += \"rm_work\"
RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\" RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\"
" "
ZIP_INSTALLER_CFG="
DEY_IMAGE_INSTALLER = \"1\"
"
X11_REMOVAL_CFG=" X11_REMOVAL_CFG="
DISTRO_FEATURES_remove = \"x11\" DISTRO_FEATURES_remove = \"x11\"
" "
@ -169,6 +173,7 @@ for platform in ${DY_PLATFORMS}; do
-e "/^#SSTATE_DIR ?=/cSSTATE_DIR ?= \"${YOCTO_PROJ_DIR}/sstate-cache\"" \ -e "/^#SSTATE_DIR ?=/cSSTATE_DIR ?= \"${YOCTO_PROJ_DIR}/sstate-cache\"" \
conf/local.conf conf/local.conf
printf "${RM_WORK_CFG}" >> conf/local.conf printf "${RM_WORK_CFG}" >> conf/local.conf
printf "${ZIP_INSTALLER_CFG}" >> conf/local.conf
# Remove 'x11' distro feature if building framebuffer images # Remove 'x11' distro feature if building framebuffer images
if [ "${DY_FB_IMAGE}" = "true" ]; then if [ "${DY_FB_IMAGE}" = "true" ]; then
printf "${X11_REMOVAL_CFG}" >> conf/local.conf printf "${X11_REMOVAL_CFG}" >> conf/local.conf

View File

@ -45,6 +45,10 @@ INHERIT += \"rm_work\"
RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\" RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\"
" "
ZIP_INSTALLER_CFG="
DEY_IMAGE_INSTALLER = \"1\"
"
X11_REMOVAL_CFG=" X11_REMOVAL_CFG="
DISTRO_FEATURES_remove = \"x11\" DISTRO_FEATURES_remove = \"x11\"
" "
@ -170,6 +174,7 @@ done<<-_EOF_
ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt
ccimx6ulstarter DONTBUILDVARIANTS core-image-base ccimx6ulstarter DONTBUILDVARIANTS core-image-base
ccimx6ulsom DONTBUILDVARIANTS dey-image-mft-module-min ccimx6ulsom DONTBUILDVARIANTS dey-image-mft-module-min
ccimx6ulrftest DONTBUILDVARIANTS dey-image-mft-module-rf
_EOF_ _EOF_
YOCTO_IMGS_DIR="${WORKSPACE}/images" YOCTO_IMGS_DIR="${WORKSPACE}/images"
@ -243,6 +248,7 @@ for platform in ${DY_PLATFORMS}; do
if [ "${DY_RM_WORK}" = "true" ]; then if [ "${DY_RM_WORK}" = "true" ]; then
printf "${RM_WORK_CFG}" >> conf/local.conf printf "${RM_WORK_CFG}" >> conf/local.conf
fi fi
printf "${ZIP_INSTALLER_CFG}" >> conf/local.conf
# Remove 'x11' distro feature if building framebuffer images # Remove 'x11' distro feature if building framebuffer images
if [ "${DY_FB_IMAGE}" = "true" ]; then if [ "${DY_FB_IMAGE}" = "true" ]; then
printf "${X11_REMOVAL_CFG}" >> conf/local.conf printf "${X11_REMOVAL_CFG}" >> conf/local.conf