Merge tag 'dey-2.6-r2.2' into dey-2.6/master

Digi Embedded Yocto 2.6-r2.2

Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
Arturo Buzarra 2019-10-10 14:10:33 +02:00
commit ce4be46458
36 changed files with 638 additions and 184 deletions

143
README.md
View File

@ -20,29 +20,55 @@ OS versions:
Software for the following hardware platforms is in production support:
## ConnectCore 8X
* ConnectCore 8X System-on-Module (SOM)
* [CC-WMX-JM8E-NN](https://www.digi.com/products/models/cc-wmx-jm8e-nn)
* [CC-MX-JM8D-ZN](https://www.digi.com/products/models/cc-mx-jm8d-zn)
* [CC-MX-JM7D-ZN](https://www.digi.com/cc8x)
* [CC-WMX-JM7D-NN](https://www.digi.com/products/models/cc-wmx-jm7d-nn)
* [CC-MX-JQ6D-ZN](https://www.digi.com/cc8x)
* [CC-MX-JQ7D-ZN](https://www.digi.com/cc8x)
* [CC-WMX-JQ7D-ZN](https://www.digi.com/cc8x)
* ConnectCore 8X SBC Pro
* [CC-WMX8-PRO](https://www.digi.com/products/embedded-systems/single-board-computers/digi-connectcore-8x-sbc-pro) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc8x/yocto-gs_index))
## ConnectCore 6UL
* ConnectCore 6UL System-on-Module (SOM)
* [CC-WMX-JN58-NE](https://www.digi.com/products/models/cc-wmx-jn58-ne)
* [CC-MX-JN58-Z1](https://www.digi.com/products/models/cc-mx-jn58-z1)
* CC-WMX-JN7A-NE
* ConnectCore 6UL SBC Express
* [CC-WMX6UL-START](https://www.digi.com/products/models/cc-wmx6ul-start) ([Get Started](https://www.digi.com/resources/documentation/digidocs/90001548/default.htm#concept/yocto/c_get_started_with_yocto.htm))
* [CC-WMX6UL-START](https://www.digi.com/products/models/cc-wmx6ul-start) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto-gs_index))
* [CC-SBE-WMX-JN58](https://www.digi.com/products/models/cc-sbe-wmx-jn58)
* ConnectCore 6UL SBC Pro
* [CC-WMX6UL-KIT](https://www.digi.com/products/models/cc-wmx6ul-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/90001547/default.htm#concept/yocto/c_get_started_with_yocto.htm))
* [CC-WMX6UL-KIT](https://www.digi.com/products/models/cc-wmx6ul-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto-gs_index))
* [CC-SBP-WMX-JN58](https://www.digi.com/products/models/cc-sbp-wmx-jn58)
## ConnectCore 8X
* ConnectCore 8X System-on-Module (SOM)
* [CC-WMX-JM7D-NN](https://www.digi.com/cc8x)
* [CC-WMX-JM8E-NN](https://www.digi.com/cc8x)
* [CC-MX-JM8D-ZN](https://www.digi.com/cc8x)
* [CC-WMX-JN7D-NN](https://www.digi.com/cc8x)
* [CC-MX-JN7D-ZN](https://www.digi.com/cc8x)
* ConnectCore 8X SBC Express
* [CC-WMX8-EXPRESS](https://www.digi.com/cc8x)
* ConnectCore 8X SBC Pro
* [CC-WMX8-PRO](https://www.digi.com/cc8x)
## ConnectCore 6 Plus
* ConnectCore 6 Plus System-on-Module (SOM)
* [CC-WMX-KK8D-TN](https://www.digi.com/products/models/cc-wmx-kk8d-tn)
* ConnectCore 6 Plus professional development kit
* [CC-WMX6P-KIT](https://www.digi.com/products/models/cc-wmx6p-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6plus/yocto-gs_index))
## ConnectCore 6
* ConnectCore 6 System-on-Module (SOM)
* [CC-WMX-J97C-TN](https://www.digi.com/products/models/cc-wmx-j97c-tn)
* [CC-WMX-L96C-TE](https://www.digi.com/products/models/cc-wmx-l96c-te)
* [CC-WMX-L87C-TE](https://www.digi.com/products/models/cc-wmx-l87c-te)
* [CC-MX-L76C-Z1](https://www.digi.com/products/models/cc-mx-l76c-z1)
* [CC-MX-L86C-Z1](https://www.digi.com/products/models/cc-mx-l86c-z1)
* [CC-MX-L96C-Z1](https://www.digi.com/products/models/cc-mx-l96c-z1)
* [CC-WMX-L76C-TE](https://www.digi.com/products/models/cc-wmx-l76c-te)
* CC-WMX-K87C-FJA
* CC-WMX-K77C-TE
* CC-WMX-L97D-TN
* CC-WMX-J98C-FJA
* CC-WMX-J98C-FJA-1
* ConnectCore 6 Jumpstart Development Kit (SBC with Connectore 6 module)
* [CC-WMX6-KIT](https://www.digi.com/products/models/cc-wmx6-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6/yocto-gs_index))
* [CC-SB-WMX-J97C-1](https://www.digi.com/products/models/cc-sb-wmx-j97c-1)
* [CC-SB-WMX-L87C-1](https://www.digi.com/products/models/cc-sb-wmx-l87c-1)
* [CC-SB-WMX-L76C-1](https://www.digi.com/products/models/cc-sb-wmx-l76c-1)
Previous versions of Digi Embedded Yocto include support for additional Digi
hardware.
@ -60,11 +86,28 @@ Documentation is available online at https://www.digi.com/resources/documentatio
# Downloads
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r1/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r1/sdk/
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/sdk/
# Release Changelog
## 2.6-r2
* Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including:
* Updated GCC toolchain to v8.2.0 (from v7.3.0)
* Updated gstreamer1.0 to v1.14.4
* Updated busybox to v1.29.3
* Updated OpenSSL to v1.1.1b
* Package upgrades and security fixes
* Added support for ConnetCore 6 and ConnectCore 6 Plus platforms
* Updated kernel version to v4.14.141 for i.MX8X and i.MX6UL platforms
* Updated kernel version to v4.9.190 for i.MX6 platforms
* Updated U-Boot to version 2018.03-r2 for i.MX8X platform
* Updated U-Boot to version 2017.03-r4 for i.MX6 and i.MX6UL platforms
* Updated AWS Greengrass core to v1.9.2
* Updated i.MX8 SCU firmware to v1.2.5 (see [important note](#scfw-note))
* Updated QCA65x4 Wi-Fi and Bluetooth firmware
## 2.6-r1
* Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including:
@ -99,10 +142,37 @@ updated list can be found on the online documentation.
* Remote file system management fails with long file names and paths
(over 255 characters).
* For P2P connections Digi recommends "Negotiated GO" modes. The QCA6564
devices (ConnectCore 6UL) running a 4.14 kernel version fail to join to
autonomous groups.
devices (ConnectCore 6UL, ConnectCore 6 Plus) fail to join autonomous groups.
* Trustfence is not yet supported on U-Boot v2018.03.
## ConnectCore 8X
* i.MX8QXP Processor
* GPU maximum performance reduced. The maximum frequency targets are 850 MHz
for the shaders and 700 MHz for the core. However, in this hardware release
the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for
the core, with the corresponding performance reduction. These targets will
be met in future releases of the hardware.
* BSDL operation is not supported. It will be available in future releases
of the hardware.
* Digi Embedded Yocto
* The following features are not supported in this release for the ConnectCore 8X platform:
* Trustfence (TM)
<a name="scfw-note"></a>
---
**IMPORTANT**: This release updates the firmware of the _System Control Unit_ (SCU).
This is an NXP proprietary firmware and its last version is **not compatible** with
the previous one released on DEY-2.6-r1. As a consequence:
* Old U-Boot v2018.03-r1 **cannot boot** images from this release DEY-2.6-r2.
* New U-Boot v2018.03-r2 **cannot boot** images from previous release DEY-2.6-r1.
To succesfully run DEY-2.6-r2 images you need to update the U-Boot on your device.
---
## ConnectCore 6UL
* ConnectCore 6UL System-on-Module (SOM)
@ -122,20 +192,33 @@ updated list can be found on the online documentation.
currently supported.
* The QCA6564 wireless chip does not support Wake On Wireless LAN.
## ConnectCore 8X
## ConnectCore 6 Plus
* i.MX8QXP Processor
* GPU maximum performance reduced. The maximum frequency targets are 850 MHz
for the shaders and 700 MHz for the core. However, in this hardware release
the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for
the core, with the corresponding performance reduction. These targets will
be met in future releases of the hardware.
* BSDL operation is not supported. It will be available in future releases
of the hardware.
* Digi Embedded Yocto
* The following features are not supported in this release for the ConnectCore 8X platform:
* Trustfence (TM)
* Digi Remote Manager
* ConnectCore 6 Plus System-on-Module (SOM)
* NXP i.MX6QP processor has a documented errata (ERR004512) whereby the maximum
performance of the Gigabit FEC is limited to 400Mbps (total for Tx and Rx).
* ConnectCore 6 Plus SBC
* The Micrel PHY KSZ9031 may take between five and six seconds to
auto-negotiate with Gigabit switches.
## ConnectCore 6
* ConnectCore 6 System-on-Module (SOM)
* NXP i.MX6 processor has a documented errata (ERR004512) whereby the maximum
performance of the Gigabit FEC is limited to 400Mbps (total for Tx and Rx).
* When using softAP mode on Band A on the Qualcomm AR6233, channels used for
Dynamic Frequency Selection (DFS) are not supported.
* The Qualcomm AR6233 firmware does not support the following configuration
modes:
* Concurrent modes involving P2P mode, such as P2P + softAP or P2P + STA.
* Bluetooth + softAP + STA concurrent mode.
* A maximum of five clients are supported when using Qualcomm's AR6233 in
softAP mode.
* A maximum of ten connected devices are supported when using Qualcomm's AR6233
Bluetooth Low Energy mode.
* ConnectCore 6 SBC
* The Micrel PHY KSZ9031 may take between five and six seconds to
auto-negotiate with Gigabit switches.
# Support Contact Information

View File

@ -41,6 +41,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS_remove_use-mainline-bsp = "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}"
MACHINE_FEATURES += "wifi bluetooth cryptochip"
MACHINE_FEATURES_remove_use-mainline-bsp = "wifi"
# mkfs.ubifs parameters for boot partition (the one holding kernel and device tree files)
# Max LEB count (-c 255) calculated for a partition of up to 32 MiB considering 128 KiB erase-block size.

View File

@ -4,15 +4,15 @@
DESCRIPTION = "i.MX System Controller Firmware, customized for Digi platforms"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44"
LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
SECTION = "BSP"
inherit pkgconfig deploy
SRC_URI = "${DIGI_PKG_SRC}/${PN}-${PV}.tar.gz"
SRC_URI[md5sum] = "3cf34f428d9a0e98ffc7f0cd326d5dc8"
SRC_URI[sha256sum] = "5b0022857fdcbbd4c641f3753d99b8afa8f605b798be3dfd8433696657911f86"
SRC_URI[md5sum] = "4a1a7a99cda9e55388d1c491011853c6"
SRC_URI[sha256sum] = "852cdd37d37905b08cfdc4b753ce33b7364749065bac91d78cc2292481e6d6a7"
S = "${WORKDIR}/${PN}-${PV}"

View File

@ -62,23 +62,22 @@ do_install() {
# Wifi firmware
if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then
WIFI_FW_PATH="${D}${base_libdir}/firmware/ath10k/QCA6174/hw3.0"
WIFI_FW_PATH="${base_libdir}/firmware/ath10k/QCA6174/hw3.0"
else
WIFI_FW_PATH="${D}${base_libdir}/firmware"
WIFI_FW_PATH="${base_libdir}/firmware"
fi
install -d ${WIFI_FW_PATH}
install -d ${D}${WIFI_FW_PATH}
# Remove preceeding 'file://' from variable with files list
FW_WIFI_FILES="$(echo ${FW_QUALCOMM_WIFI} | sed -e 's,file\:\/\/,,g')"
install -m 0644 ${FW_WIFI_FILES} ${WIFI_FW_PATH}
cd ${WIFI_FW_PATH}
install -m 0644 ${FW_WIFI_FILES} ${D}${WIFI_FW_PATH}
if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then
# If using community driver, create symlink 'board.bin' to
# proprietary 'fakeboar.bin'
ln -s fakeboar.bin board.bin
ln -s fakeboar.bin ${D}${WIFI_FW_PATH}/board.bin
else
if [ "${FW_QUALCOMM_WIFI}" = "${FW_QCA6574_WIFI_PROPRIETARY}" ]; then
ln -s qwlan30.bin athwlan.bin
ln -s otp.bin athsetup.bin
ln -s qwlan30.bin ${D}${WIFI_FW_PATH}/athwlan.bin
ln -s otp.bin ${D}${WIFI_FW_PATH}/athsetup.bin
fi
fi
}

View File

@ -1,9 +1,9 @@
# Copyright 2019 Digi International, Inc.
inherit boot-artifacts
# Use the v4.14 ga BSP branch
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRCREV = "dd0234001713623c79be92b60fa88bc07b07f24f"
# Use the v4.14 latest BSP branch
SRCBRANCH = "imx_4.14.98_2.1.0"
SRCREV = "abd6ce551a7b81fc6953d32d92b24a4a1d4b214e"
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI_append_ccimx8x = " file://0001-iMX8QX-remove-SC_BD_FLAGS_ALT_CONFIG-flag-in-flash_r.patch"
@ -106,9 +106,6 @@ do_deploy () {
# copy makefile (soc.mak) for reference
install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
# Move all M4 demo artifacts to the imx-boot-tools folder
mv ${DEPLOY_DIR_IMAGE}/imx8qx_m4_* ${DEPLOYDIR}/${BOOT_TOOLS}/
# copy the generated boot image to deploy path
for ramc in ${UBOOT_RAM_COMBINATIONS}; do
IMAGE_IMXBOOT_TARGET=""

View File

@ -13,19 +13,17 @@
# %% the '%' char itself
#
# Boot partitions
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="linux*", ACTION=="add", RUN+="/etc/udev/scripts/mount_bootparts.sh", GOTO="automount_rules_end"
# Digi-mounted partitions: linux, update
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="linux*|update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_digiparts.sh", GOTO="automount_rules_end"
SUBSYSTEM=="mtd", ATTRS{name}=="linux*|update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_digiparts.sh", GOTO="automount_rules_end"
# Update partition
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_partition.sh 'update'", GOTO="automount_rules_end"
SUBSYSTEM=="mtd", ATTRS{name}=="update", ACTION=="add", RUN+="/etc/udev/scripts/mount_partition.sh 'update'", GOTO="automount_rules_end"
# Recovery partition
# Avoid mounting recovery partition
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="recovery*", ACTION=="add", GOTO="automount_rules_end"
SUBSYSTEM=="mtd", ATTRS{name}=="recovery", ACTION=="add", GOTO="automount_rules_end"
SUBSYSTEM=="mtd", ATTRS{name}=="recovery*", ACTION=="add", GOTO="automount_rules_end"
# Media automounting
SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
SUBSYSTEM=="block", ACTION=="change", ENV{DISK_MEDIA_CHANGE}=="1" RUN+="/etc/udev/scripts/mount.sh"
LABEL="automount_rules_end"

View File

@ -0,0 +1,157 @@
#!/bin/sh
#
# Called from udev
#
# Attempt to mount any added block devices and umount any removed devices
BASE_INIT="`readlink -f "@base_sbindir@/init"`"
INIT_SYSTEMD="@systemd_unitdir@/systemd"
if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
# systemd as init uses systemd-mount to mount block devices
MOUNT="/usr/bin/systemd-mount"
UMOUNT="/usr/bin/systemd-umount"
if [ -x $MOUNT ] && [ -x $UMOUNT ];
then
logger "Using systemd-mount to finish mount"
else
logger "Linux init is using systemd, so please install systemd-mount to finish mount"
exit 1
fi
else
MOUNT="/bin/mount"
UMOUNT="/bin/umount"
fi
PMOUNT="/usr/bin/pmount"
for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*`
do
if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
then
logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
exit 0
fi
done
automount_systemd() {
name="`basename "$DEVNAME"`"
# Skip already mounted partitions
if [ -f /run/systemd/transient/run-media-$name.mount ]; then
logger "mount.sh/automount" "/run/media/$name already mounted"
return
fi
# Skip the partition which are already in /etc/fstab
grep "^[[:space:]]*$DEVNAME" /etc/fstab && return
for n in LABEL PARTLABEL UUID PARTUUID; do
tmp="$(lsblk -o $n $DEVNAME | sed -e '1d')"
test -z "$tmp" && continue
tmp="$n=$tmp"
grep "^[[:space:]]*$tmp" /etc/fstab && return
done
[ -d "/run/media/$name" ] || mkdir -p "/run/media/$name"
MOUNT="$MOUNT -o silent"
# If filesystemtype is vfat, change the ownership group to 'disk', and
# grant it with w/r/x permissions.
case $ID_FS_TYPE in
vfat|fat)
MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
;;
# TODO
*)
;;
esac
if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
then
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!"
rm_dir "/run/media/$name"
else
logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful"
touch "/tmp/.automount-$name"
fi
}
automount() {
name="`basename "$DEVNAME"`"
if [ -x "$PMOUNT" ]; then
$PMOUNT $DEVNAME 2> /dev/null
elif [ -x $MOUNT ]; then
$MOUNT $DEVNAME 2> /dev/null
fi
# If the device isn't mounted at this point, it isn't
# configured in fstab
grep -q "^$DEVNAME " /proc/mounts && return
! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
# Silent util-linux's version of mounting auto
if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
then
MOUNT="$MOUNT -o silent"
fi
# If filesystem type is vfat, change the ownership group to 'disk', and
# grant it with w/r/x permissions.
case $ID_FS_TYPE in
vfat|fat)
MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
;;
# TODO
*)
;;
esac
if ! $MOUNT -t auto $DEVNAME "/run/media/$name"
then
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!"
rm_dir "/run/media/$name"
else
logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful"
touch "/tmp/.automount-$name"
fi
}
rm_dir() {
# We do not want to rm -r populated directories
if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
then
! test -z "$1" && rm -r "$1"
else
logger "mount.sh/automount" "Not removing non-empty directory [$1]"
fi
}
# No ID_FS_TYPE for cdrom device, yet it should be mounted
name="`basename "$DEVNAME"`"
[ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
# Note the root filesystem can show up as /dev/root in /proc/mounts,
# so check the device number too
if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
if [ "`basename $MOUNT`" = "systemd-mount" ];then
automount_systemd
else
automount
fi
fi
fi
if [ "$ACTION" = "remove" ] || [ "$ACTION" = "change" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
do
$UMOUNT $mnt
done
# Remove empty directories from auto-mounter
name="`basename "$DEVNAME"`"
test -e "/tmp/.automount-$name" && rm_dir "/run/media/$name"
fi

View File

@ -1,27 +0,0 @@
#!/bin/sh
#===============================================================================
#
# mount_bootparts.sh
#
# Copyright (C) 2014 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
# !Description: Attempt to mount boot partitions read-only (called from udev)
#
#===============================================================================
MOUNT="/bin/mount"
# Use 'silent' if util-linux's mount (busybox's does not support that option)
[ "$(readlink ${MOUNT})" = "/bin/mount.util-linux" ] && MOUNT="${MOUNT} -o silent"
MOUNTPOINT="/mnt/${ID_PART_ENTRY_NAME}"
mkdir -p ${MOUNTPOINT}
if ! ${MOUNT} -t auto -r ${DEVNAME} ${MOUNTPOINT}; then
logger -t udev "mount_bootparts.sh: mount ${DEVNAME} under ${MOUNTPOINT} failed!"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi

View File

@ -0,0 +1,92 @@
#!/bin/sh
#===============================================================================
#
# mount_bootparts.sh
#
# Copyright (C) 2014-2019 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
# !Description: Attempt to mount boot partitions read-only (called from udev)
#
#===============================================================================
BASE_INIT="$(readlink -f "@base_sbindir@/init")"
INIT_SYSTEMD="@systemd_unitdir@/systemd"
if [ "${SUBSYSTEM}" = "block" ]; then
PARTNAME="${ID_PART_ENTRY_NAME}"
elif [ "${SUBSYSTEM}" = "mtd" ]; then
MTDN="$(echo ${DEVNAME} | cut -f 3 -d /)"
PARTNAME="$(grep ${MTDN} /proc/mtd | sed -ne 's,.*"\(.*\)",\1,g;T;p')"
fi
MOUNT_PARAMS="-o silent"
# Mount 'linux' partition as read-only
if [ "${PARTNAME}" = "linux" ]; then
MOUNT_PARAMS="${MOUNT_PARAMS} -o ro"
fi
if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
# systemd as init uses systemd-mount to mount block devices
MOUNT="/usr/bin/systemd-mount"
MOUNT_PARAMS="${MOUNT_PARAMS} --no-block"
if [ -x "$MOUNT" ];
then
logger "Using systemd-mount to finish mount"
else
logger "Linux init is using systemd, so please install systemd-mount to finish mount"
exit 1
fi
else
MOUNT="/bin/mount"
if [ "$(readlink ${MOUNT})" != "/bin/mount.util-linux" ]; then
# Busybox mount. Clear default params
MOUNT_PARAMS=""
# Mount 'linux' partition as read-only
if [ "${PARTNAME}" = "linux" ]; then
MOUNT_PARAMS="${MOUNT_PARAMS} -r"
fi
fi
fi
# Create mount point if needed
MOUNTPOINT="/mnt/${PARTNAME}"
[ -d "${MOUNTPOINT}" ] || mkdir -p ${MOUNTPOINT}
if [ "${SUBSYSTEM}" = "block" ]; then
if ! ${MOUNT} -t auto ${MOUNT_PARAMS} ${DEVNAME} ${MOUNTPOINT}; then
logger -t udev "ERROR: Could not mount ${DEVNAME} under ${MOUNTPOINT}"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
elif [ "${SUBSYSTEM}" = "mtd" ]; then
# Before attaching, find out if partition already attached
MTD_NUM="$(echo ${MTDN} | sed -ne 's,.*mtd\([0-9]\+\),\1,g;T;p')"
for ubidev in /sys/devices/virtual/ubi/*; do
echo "${ubidev}" | grep -qs '/sys/devices/virtual/ubi/\*' && continue
mtd_att="$(cat ${ubidev}/mtd_num)"
if [ "${mtd_att}" = "${MTD_NUM}" ]; then
dev_number="$(echo ${ubidev} | sed -ne 's,.*ubi\([0-9]\+\),\1,g;T;p')"
fi
done
# If not already attached, attach and get UBI device number
if [ -z "${dev_number}" ]; then
dev_number="$(ubiattach -p ${DEVNAME} 2>/dev/null | sed -ne 's,.*device number \([0-9]\).*,\1,g;T;p' 2>/dev/null)"
fi
# Check if volume exists.
if ubinfo /dev/ubi${dev_number} -N ${PARTNAME} >/dev/null 2>&1; then
# Mount the volume.
if ! mount -t ubifs ubi${dev_number}:${PARTNAME} ${MOUNT_PARAMS} ${MOUNTPOINT}; then
logger -t udev "ERROR: Could not mount '${PARTNAME}' partition"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
else
logger -t udev "ERROR: Could not mount '${PARTNAME}' partition, volume not found"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
fi

View File

@ -1,46 +0,0 @@
#!/bin/sh
#===============================================================================
#
# mount_partition.sh
#
# Copyright (C) 2017 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
# !Description: Attempt to mount the partition triggered by udev
#
#===============================================================================
MOUNT="/bin/mount"
PARTITION_NAME="${1}"
MOUNTPOINT="/mnt/${PARTITION_NAME}"
# Use 'silent' if util-linux's mount (busybox's does not support that option)
[ "$(readlink ${MOUNT})" = "/bin/mount.util-linux" ] && MOUNT="${MOUNT} -o silent"
if mkdir -p "${MOUNTPOINT}" && ! mountpoint -q "${MOUNTPOINT}"; then
if [ "${SUBSYSTEM}" = "block" ]; then
FSTYPE="$(blkid ${DEVNAME} | sed -e 's,.*TYPE="\([^"]\+\)".*,\1,g')"
if ! mount ${FSTYPE:+-t ${FSTYPE}} "${DEVNAME}" "${MOUNTPOINT}"; then
logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
elif [ "${SUBSYSTEM}" = "mtd" ]; then
# Attach and get UBI device number
dev_number="$(ubiattach -p ${DEVNAME} 2>/dev/null | sed -ne 's,.*device number \([0-9]\).*,\1,g;T;p' 2>/dev/null)"
# Check if volume exists.
if ubinfo "/dev/ubi${dev_number}" -N "${PARTITION_NAME}" >/dev/null 2>&1; then
# Mount the volume.
if ! mount -t ubifs "ubi${dev_number}:${PARTITION_NAME}" "${MOUNTPOINT}"; then
logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
else
logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition, volume not found"
rmdir --ignore-fail-on-non-empty ${MOUNTPOINT}
fi
fi
fi

View File

@ -3,15 +3,15 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI += " \
file://mount_bootparts.sh \
file://mount_partition.sh \
file://mount_digiparts.sh \
file://81-spi-spidev.rules \
file://blacklist.conf \
"
do_install_append() {
install -m 0755 ${WORKDIR}/mount_bootparts.sh ${D}${sysconfdir}/udev/scripts/
install -m 0755 ${WORKDIR}/mount_partition.sh ${D}${sysconfdir}/udev/scripts/
install -m 0755 ${WORKDIR}/mount_digiparts.sh ${D}${sysconfdir}/udev/scripts/
sed -i -e 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount_digiparts.sh
sed -i -e 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount_digiparts.sh
install -m 0644 ${WORKDIR}/81-spi-spidev.rules ${D}${sysconfdir}/udev/rules.d/
# Bluetooth tty symlink

View File

@ -8,13 +8,13 @@ PKGNAME = "mca_tool"
# ARM tarball
SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm"
SRC_URI[arm.md5sum] = "c1eefe3113c4915b92fadebc7f769d21"
SRC_URI[arm.sha256sum] = "9a9d962e549fdb0f22fc1037f74ca21c7356dded7033c28a1b4b325a44b579aa"
SRC_URI[arm.md5sum] = "aa2037b93dadafe160824f7d63dd8582"
SRC_URI[arm.sha256sum] = "7dbc07672d5cce52e3ec611a1bcef1b6c0aed278fbcd6a150b3f528d8da66065"
# AARCH64 tarball
SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64"
SRC_URI[aarch64.md5sum] = "92a3d3d3a63c749efc4761cdb5efe77e"
SRC_URI[aarch64.sha256sum] = "6b3cd2e9aa879ebd5aba628731855112db69ab01cedc5e203c10917e51f93a08"
SRC_URI[aarch64.md5sum] = "40d8113353daf8e426597c289f6659d8"
SRC_URI[aarch64.sha256sum] = "a0f7d8bae72f9dcdb1102bcf3e42a4b66d4f66b4bef43f80a4fd63282562a9d4"
S = "${WORKDIR}/${PKGNAME}-${PV}"

View File

@ -36,6 +36,10 @@ python () {
import hashlib
import os
if ("ccimx8x" in d.getVar("MACHINE", True)):
bb.fatal("Trustfence is not currently supported on the ccimx8x SOM")
return
# Secure console configuration
if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"):
d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_CONSOLE_DISABLE=y ")

View File

@ -21,9 +21,9 @@ LIC_FILES_CHKSUM = " \
file://ggc/core/THIRD-PARTY-LICENSES;md5=53b6a4caa097863bc3971d5e0ac6d1db \
"
SRC_URI[arm.md5sum] = "57e408134eccbbda40f08dbbf52101c2"
SRC_URI[arm.sha256sum] ="ded5d88a3ec1479d79c842b16fef11f91ee331bd4b79dbba1ca639b3e51922a3"
SRC_URI[arm.md5sum] = "63a1f6aae22260be19f34f278f7e7833"
SRC_URI[arm.sha256sum] ="4bc0bc8a938cdb3d846df92e502155c6ec8cbaf1b63dfa9f3cc3a51372d95af5"
# For ARCH64 we use another tarball.
SRC_URI[aarch64.md5sum] = "c8e5488e302905583829f95d55d7a912"
SRC_URI[aarch64.sha256sum] ="9cd00902090e8fc34de18bf1ff21dca5e90af12ced886e6ac46e1f6899b059e1"
SRC_URI[aarch64.md5sum] = "967cd25ac77e733b0a1b42d83dc96ed1"
SRC_URI[aarch64.sha256sum] ="4cbaf91e5354fe49ded160415394413f068426c2bba13089e6b8a28775990a9c"

View File

@ -19,7 +19,11 @@
#
log() {
systemd-cat -p "${1}" -t ifdownup printf "%s" "${2}"
if type "systemd-cat" >/dev/null 2>/dev/null; then
systemd-cat -p "${1}" -t ifdownup printf "%s" "${2}"
else
logger -p "${1}" -t ifdownup "${2}"
fi
}
log info "device-connectivity-change detected on interface ${DEVICE_IP_IFACE}"

View File

@ -22,7 +22,11 @@
[ "${CONNECTION_ID}" = "p2p-bridge" ] || exit 0
log() {
systemd-cat -p "${1}" -t p2pbridge printf "%s" "${2}"
if type "systemd-cat" >/dev/null 2>/dev/null; then
systemd-cat -p "${1}" -t p2pbridge printf "%s" "${2}"
else
logger -p "${1}" -t p2pbridge "${2}"
fi
}
case "${NM_DISPATCHER_ACTION}" in

View File

@ -20,6 +20,59 @@
# used to fix build issues on such systems (krb5.h not found).
#CFLAGS += -I/usr/include/kerberos
# Example configuration for various cross-compilation platforms
#### sveasoft (e.g., for Linksys WRT54G) ######################################
#CC=mipsel-uclibc-gcc
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
###############################################################################
#### openwrt (e.g., for Linksys WRT54G) #######################################
#CC=mipsel-uclibc-gcc
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
# -I../WRT54GS/release/src/include
#LIBS = -lssl
###############################################################################
# Driver interface for Agere driver
#CONFIG_DRIVER_HERMES=y
# Change include directories to match with the local setup
#CFLAGS += -I../../hcf -I../../include -I../../include/hcf
#CFLAGS += -I../../include/wireless
# Driver interface for madwifi driver
# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_MADWIFI=y
# Set include directory to the madwifi source tree
#CFLAGS += -I../../madwifi
# Driver interface for ndiswrapper
# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_NDISWRAPPER=y
# Driver interface for Atmel driver
# CONFIG_DRIVER_ATMEL=y
# Driver interface for old Broadcom driver
# Please note that the newer Broadcom driver ("hybrid Linux driver") supports
# Linux wireless extensions and does not need (or even work) with the old
# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver.
#CONFIG_DRIVER_BROADCOM=y
# Example path for wlioctl.h; change to match your configuration
#CFLAGS += -I/opt/WRT54GS/release/src/include
# Driver interface for Intel ipw2100/2200 driver
# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_IPW=y
# Driver interface for Ralink driver
#CONFIG_DRIVER_RALINK=y
# Driver interface for generic Linux wireless extensions
# Note: WEXT is deprecated in the current Linux kernel version and no new
# functionality is added to it. nl80211-based interface is the new
@ -31,6 +84,9 @@ CONFIG_DRIVER_WEXT=y
# Driver interface for Linux drivers using the nl80211 kernel interface
CONFIG_DRIVER_NL80211=y
# QCA vendor extensions to nl80211
#CONFIG_DRIVER_NL80211_QCA=y
# driver_nl80211.c requires libnl. If you are compiling it yourself
# you may need to point hostapd to your version of libnl.
#
@ -67,6 +123,9 @@ CONFIG_LIBNL32=y
# wpa_supplicant.
# CONFIG_USE_NDISUIO=y
# Driver interface for development testing
#CONFIG_DRIVER_TEST=y
# Driver interface for wired Ethernet drivers
#CONFIG_DRIVER_WIRED=y
@ -149,6 +208,8 @@ CONFIG_EAP_GPSK=y
# Wi-Fi Protected Setup (WPS)
CONFIG_WPS=y
# Enable WSC 2.0 support
#CONFIG_WPS2=y
# Enable WPS external registrar functionality
#CONFIG_WPS_ER=y
# Disable credentials for an open network by default when acting as a WPS
@ -267,6 +328,9 @@ CONFIG_BACKEND=file
# Should we use epoll instead of select? Select is used by default.
#CONFIG_ELOOP_EPOLL=y
# Should we use kqueue instead of select? Select is used by default.
#CONFIG_ELOOP_KQUEUE=y
# Select layer 2 packet implementation
# linux = Linux packet socket (default)
# pcap = libpcap/libdnet/WinPcap
@ -276,6 +340,12 @@ CONFIG_BACKEND=file
# none = Empty template
#CONFIG_L2_PACKET=linux
# Disable Linux packet socket workaround applicable for station interface
# in a bridge for EAPOL frames. This should be uncommented only if the kernel
# is known to not have the regression issue in packet socket behavior with
# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
CONFIG_PEERKEY=y
@ -455,6 +525,9 @@ CONFIG_IEEE80211N=y
# Hotspot 2.0
#CONFIG_HS20=y
# Enable interface matching in wpa_supplicant
#CONFIG_MATCH_IFACE=y
# Disable roaming in wpa_supplicant
#CONFIG_NO_ROAMING=y
@ -495,3 +568,41 @@ CONFIG_P2P=y
#
# External password backend for testing purposes (developer use)
#CONFIG_EXT_PASSWORD_TEST=y
# Enable Fast Session Transfer (FST)
#CONFIG_FST=y
# Enable CLI commands for FST testing
#CONFIG_FST_TEST=y
# OS X builds. This is only for building eapol_test.
#CONFIG_OSX=y
# Automatic Channel Selection
# This will allow wpa_supplicant to pick the channel automatically when channel
# is set to "0".
#
# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative
# to "channel=0". This would enable us to eventually add other ACS algorithms in
# similar way.
#
# Automatic selection is currently only done through initialization, later on
# we hope to do background checks to keep us moving to more ideal channels as
# time goes by. ACS is currently only supported through the nl80211 driver and
# your driver must have survey dump capability that is filled by the driver
# during scanning.
#
# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with
# a newly to create wpa_supplicant.conf variable acs_num_scans.
#
# Supported ACS drivers:
# * ath9k
# * ath5k
# * ath10k
#
# For more details refer to:
# http://wireless.kernel.org/en/users/Documentation/acs
#CONFIG_ACS=y
# Support Multi Band Operation
#CONFIG_MBO=y

View File

@ -24,13 +24,18 @@
# p2p-freq <channel-freq>
# p2p-local-address <local-ip>
# p2p-local-netmask <local-netmask>
# p2p-network-id <wpa_supplicant_conf P2P network ID>
#
# Execute only for the p2p0 interface
[ "${IFACE}" = "p2p0" ] || exit 0
log() {
systemd-cat -p "${1}" -t p2plink printf "%s" "${2}"
if type "systemd-cat" >/dev/null 2>/dev/null; then
systemd-cat -p "${1}" -t p2plink printf "%s" "${2}"
else
logger -p "${1}" -t p2plink "${2}"
fi
}
# Exit without error if the peer MAC address is not available
@ -50,7 +55,7 @@ if [ "${MODE}" = "start" ]; then
# Peer found, establish the link
log info "establish P2P link"
wpa_cli -i"${IFACE}" p2p_connect "${IF_P2P_PEER_MAC}" pbc go_intent=7 ${IF_P2P_FREQ:+freq=${IF_P2P_FREQ}}
wpa_cli -i"${IFACE}" p2p_connect "${IF_P2P_PEER_MAC}" pbc ${IF_P2P_NETWORK_ID:+persistent=${IF_P2P_NETWORK_ID}} ${IF_P2P_FREQ:+freq=${IF_P2P_FREQ}} auto
for _ in $(seq 20); do
if wpa_cli status 2>&1 | grep -qs "^wpa_state=COMPLETED$"; then
if wpa_cli status 2>&1 | grep -qs "^mode=P2P GO$"; then

View File

@ -23,7 +23,11 @@
WDOG_TIME_SEC=$((WATCHDOG_USEC / 1000000 / 4))
log() {
systemd-cat -p "${1}" -t system-monitor printf "%s" "${2}"
if type "systemd-cat" >/dev/null 2>/dev/null; then
systemd-cat -p "${1}" -t system-monitor printf "%s" "${2}"
else
logger -p "${1}" -t system-monitor "${2}"
fi
}
checks_failed=0

View File

@ -1,17 +0,0 @@
# Copyright (C) 2016-2018 Digi International.
SUMMARY = "Trustfence command line tool"
SECTION = "console/tools"
LICENSE = "CLOSED"
SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm"
SRC_URI[arm.md5sum] = "443fe53304c2c3021150abc4dd7cf5d2"
SRC_URI[arm.sha256sum] = "d52b0ecd11d69a88341b01c1fdf9789500ef8ef9b0e8e12747aa85ded4d0b315"
SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64"
SRC_URI[aarch64.md5sum] = "4608cc2594ac222578575e5ca4aecc1c"
SRC_URI[aarch64.sha256sum] = "f599e8627f798dcb43254ec52200d4d406662ad0fb79b95e57f75da870828625"
inherit bin_package

View File

@ -0,0 +1,17 @@
# Copyright (C) 2016-2019 Digi International.
SUMMARY = "Trustfence command line tool"
SECTION = "console/tools"
LICENSE = "CLOSED"
SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm"
SRC_URI[arm.md5sum] = "ef253e2c781d76820f38832ceec22ada"
SRC_URI[arm.sha256sum] = "5fc478f76848b438cc28cbdc7f8eabd63f7db4b2998a5a46d75602a80365a596"
SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64"
SRC_URI[aarch64.md5sum] = "a109efb8a2c7b57f2e83136ada24938d"
SRC_URI[aarch64.sha256sum] = "ddb9cb94b4ffa182e479cfbcc0f57774a6c68ac813b4af747aa493c259970c5b"
inherit bin_package

View File

@ -16,8 +16,6 @@ AWS_USER_LED_ccimx6ulsbc ?= "488"
AWS_USER_LED_ccimx6sbc ?= "34"
AWS_USER_LED_ccimx6qpsbc ?= "34"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git/awsiot-sample"
inherit aws-iot pkgconfig

View File

@ -11,8 +11,6 @@ inherit bluetooth
DEPENDS = "${BLUEZ}"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git/ble-gatt-server-example"
do_install() {

View File

@ -7,8 +7,6 @@ SECTION = "examples"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git/caam-blob-example"
inherit pkgconfig

View File

@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
DEPENDS = "cryptoauthlib"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git/cryptochip-get-random"
inherit pkgconfig

View File

@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca
DEPENDS = "libdigiapix"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
inherit pkgconfig

View File

@ -7,3 +7,5 @@ DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh"
DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https"
DEY_EXAMPLES_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DEY_EXAMPLES_STASH}', '${DEY_EXAMPLES_GITHUB}', d)}"
SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}"

View File

@ -1,4 +1,3 @@
From 6ef33e86557c59b31c9b731c0360ec1d404cc801 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 May 2015 20:56:00 -0700
Subject: [PATCH] make error() portable
@ -17,7 +16,7 @@ Upstream-Status: Submitted
create mode 100644 libweston/weston-error.h
diff --git a/configure.ac b/configure.ac
index 9d98e84..8f6b80d 100644
index 9d98e84bcf9e..8f6b80d932a7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
@ -31,7 +30,7 @@ index 9d98e84..8f6b80d 100644
# check for libdrm as a build-time dependency only
diff --git a/libweston/weston-error.h b/libweston/weston-error.h
new file mode 100644
index 0000000..2089d02
index 000000000000..2089d02c2892
--- /dev/null
+++ b/libweston/weston-error.h
@@ -0,0 +1,20 @@
@ -56,7 +55,7 @@ index 0000000..2089d02
+#endif
+
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
index bf73e0d..9064439 100644
index bf73e0d616a0..90644394309f 100644
--- a/libweston/weston-launch.c
+++ b/libweston/weston-launch.c
@@ -33,7 +33,6 @@

View File

@ -1,4 +1,3 @@
From d5fb8567868866665502106def90017243a968a8 Mon Sep 17 00:00:00 2001
From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Wed, 22 Feb 2017 15:53:30 +0200
Subject: [PATCH] weston-launch: Provide a default version that doesn't require
@ -21,7 +20,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8f6b80d..603fcb3 100644
index 8f6b80d932a7..603fcb3ee5ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -494,13 +494,17 @@ AC_ARG_ENABLE(resize-optimization,
@ -53,7 +52,7 @@ index 8f6b80d..603fcb3 100644
systemd notify support ${enable_systemd_notify}
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
index 9064439..c6abe92 100644
index 90644394309f..c6abe92877d5 100644
--- a/libweston/weston-launch.c
+++ b/libweston/weston-launch.c
@@ -51,7 +51,9 @@

View File

@ -1,4 +1,3 @@
From 46843c8681ddafbea6f491b7af4de6529e93f5bd Mon Sep 17 00:00:00 2001
From: Jun Zhu <junzhu@nxp.com>
Date: Sun, 30 Sep 2018 15:31:26 +0800
Subject: [PATCH] weston-touch-calibrator: Advertise the touchscreen calibrator
@ -15,12 +14,12 @@ Signed-off-by: Jun Zhu <junzhu@nxp.com>
1 file changed, 3 insertions(+)
diff --git a/weston.ini.in b/weston.ini.in
index 83dd56e..6e20e11 100644
index d9094b1f58f5..8adcc646a30b 100644
--- a/weston.ini.in
+++ b/weston.ini.in
@@ -3,6 +3,9 @@
idle-time=0
#use-g2d=1
@@ -7,6 +7,9 @@ idle-time=0
#[shell]
#size=1920x1080
+[libinput]
+touchscreen_calibrator=true

View File

@ -0,0 +1,37 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
# Copyright (C) 2017-2019 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Freescale alsa-lib plugins"
LICENSE = "GPLv2"
SECTION = "multimedia"
DEPENDS = "alsa-lib"
# For backwards compatibility
PROVIDES += "fsl-alsa-plugins"
RREPLACES_${PN} = "fsl-alsa-plugins"
RPROVIDES_${PN} = "fsl-alsa-plugins"
RCONFLICTS_${PN} = "fsl-alsa-plugins"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit autotools pkgconfig use-imx-headers
IMXALSA_SRC ?= "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https"
SRCBRANCH = "MM_04.04.07_1906_L4.14.98"
SRC_URI = "${IMXALSA_SRC};branch=${SRCBRANCH}"
SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38"
S = "${WORKDIR}/git"
INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
INSANE_SKIP_${PN} = "dev-so"
FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so"
FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"

View File

@ -0,0 +1,7 @@
# Copyright (C) 2019, Digi International Inc.
# ccimx6/ccimx6qp platforms use kernel v4.9, which is incompatible with the
# latest revision of the imx-alsa-plugins code due to UAPI changes. For these
# platforms, use an older revision which is functionally the same, but using
# the v4.9 UAPI.
SRCREV_ccimx6 = "9a63071e7734bd164017f3761b8d1944c017611f"

View File

@ -0,0 +1,11 @@
#!/bin/sh
# Export the XDG_RUNTIME_DIR and DBUS_SESSION_BUS_ADDRESS variables
# prior to starting pulseaudio. XDG_RUNTIME_DIR is sourced from a
# different file depending on the backend (xwayland or x11).
[ -f "/etc/profile.d/weston.sh" ] && source /etc/profile.d/weston.sh
[ -f "/etc/X11/Xsession.d/13xdgbasedirs.sh" ] && source /etc/X11/Xsession.d/13xdgbasedirs.sh
export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus
pulseaudio --start

View File

@ -0,0 +1,11 @@
[Unit]
Description=System-wide sound service
After=dbus.service
[Service]
Type=forking
ExecStart=/etc/pulseaudio-init
ExecStop=kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@ -30,6 +30,8 @@ SRC_URI_append = " \
${@oe.utils.conditional('SOUND_CARD', 'sgtl5000', '${CFG_SGTL5000}', '', d)} \
${@oe.utils.conditional('SOUND_CARD', 'max98089', '${CFG_MAX98089}', '', d)} \
${@oe.utils.conditional('AUDIO_HDMI', 'yes', '${CFG_HDMI}', '', d)} \
file://pulseaudio-init \
file://pulseaudio-system.service \
"
SRC_URI_append_ccimx6ulsbc = " \
@ -38,6 +40,11 @@ SRC_URI_append_ccimx6ulsbc = " \
EXTRA_OECONF_append_ccimx6 = " --disable-memfd"
FILES_${PN}-server_append = " ${systemd_unitdir}/* ${sysconfdir}/pulseaudio-init"
SYSTEMD_SERVICE_${PN}-server = "pulseaudio-system.service"
SYSTEMD_PACKAGES = "${PN}-server"
do_install_append() {
install -d ${D}${datadir}/pulseaudio/alsa-mixer/profile-sets
install -m 0644 ${WORKDIR}/${SOUND_CARD}/dey-audio-*.conf ${D}${datadir}/pulseaudio/alsa-mixer/profile-sets
@ -45,6 +52,12 @@ do_install_append() {
install -d ${D}${base_libdir}/udev/rules.d
install -m 0644 ${WORKDIR}/${SOUND_CARD}/90-pulseaudio.rules ${D}${base_libdir}/udev/rules.d
install -d ${D}${sysconfdir}
install -m 0755 ${WORKDIR}/pulseaudio-init ${D}/${sysconfdir}
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/pulseaudio-system.service ${D}/${systemd_unitdir}/system
# Configuration files for HDMI sound card
if [ "${AUDIO_HDMI}" = "yes" ]; then
install -d ${D}${sysconfdir}/udev/scripts