Compare commits

..

7 Commits

Author SHA1 Message Date
Alexandre Bard fc94d777d8 u-boot-hw23: Set empty initial environment
The default behavior is to try to build u-boot-initial-env
Which is not implemented in our u-boot repo.

Part of yocto update to dunfell release.

BugzID: 69636
2021-01-15 14:04:22 +01:00
Alexandre Bard 2fac485833 jody-w1-bt-hcd: Add missing dependency
The BT script is using the libgpiod tools (gpioset, gpiofind).

Part of yocto update to dunfell release.

BugzID: 69636
2021-01-15 14:04:22 +01:00
Alexandre Bard 415cbd2a9d hw23: Use A35 tune instead of generic aarch64
Afer upgrading meta-freescale to dunfell, the new default tune is
a35-crypto instead of aarch64.

Part of yocto update to dunfell release.

BugzID: 69636
2021-01-15 14:04:03 +01:00
Alexandre Bard dba1661987 imx-sc-firmware: Update to 1.5.0
Aligning with recipes from meta-freescale/dunfell.

Part of yocto update to dunfell release.

BugzID: 69636
2021-01-15 14:01:16 +01:00
Alexandre Bard 5705846684 Make layer compatible with dunfell
BugzID: 69636
2021-01-11 18:06:46 +01:00
Alexandre Bard d0d805cea6 gpsd: Move to recipes-navigation
BugzID: 67798
2021-01-11 18:06:46 +01:00
Alexandre Bard da6b7a7c61 gpsd: Use official backport recipe from meta-oe/master
BugzID: 67798
2021-01-11 18:06:46 +01:00
120 changed files with 1700 additions and 1709 deletions

View File

@ -1,3 +1,5 @@
inherit kernel
do_assemble_fitimage[depends] += "fpga-image:do_deploy"
#
@ -6,12 +8,12 @@ do_assemble_fitimage[depends] += "fpga-image:do_deploy"
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to fpga image
fitimage_emit_section_kernel_append() {
fpgacount=1
cat << EOF >> ${1}
fpga@${fpgacount} {
fitimage_emit_section_fpga() {
cat << EOF >> ${1}
fpga@${2} {
description = "FPGA";
data = /incbin/("${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}");
data = /incbin/("${3}");
type = "fpga";
arch = "${UBOOT_ARCH}";
compression = "none";
@ -21,3 +23,128 @@ fitimage_emit_section_kernel_append() {
};
EOF
}
#
# Assemble fitImage
#
# $1 ... .its filename
# $2 ... fitImage name
# $3 ... include ramdisk
fitimage_assemble() {
kernelcount=1
fpgacount=1
dtbcount=""
DTBS=""
ramdiskcount=${3}
setupcount=""
rm -f ${1} arch/${ARCH}/boot/${2}
fitimage_emit_fit_header ${1}
#
# Step 1: Prepare a kernel image section.
#
fitimage_emit_section_maint ${1} imagestart
uboot_prep_kimage
fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin "${linux_comp}"
#
# Step 1.5: Prepare a fpga image section.
#
fitimage_emit_section_fpga ${1} "${fpgacount}" "${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}"
#
# Step 2: Prepare a DTB image section
#
if [ -n "${KERNEL_DEVICETREE}" ]; then
dtbcount=1
for DTB in ${KERNEL_DEVICETREE}; do
if echo ${DTB} | grep -q '/dts/'; then
bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
fi
DTB_PATH="arch/${ARCH}/boot/dts/${DTB}"
if [ ! -e "${DTB_PATH}" ]; then
DTB_PATH="arch/${ARCH}/boot/${DTB}"
fi
DTB=$(echo "${DTB}" | tr '/' '_')
DTBS="${DTBS} ${DTB}"
fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
done
fi
#
# Step 3: Prepare a setup section. (For x86)
#
if [ -e arch/${ARCH}/boot/setup.bin ]; then
setupcount=1
fitimage_emit_section_setup ${1} "${setupcount}" arch/${ARCH}/boot/setup.bin
fi
#
# Step 4: Prepare a ramdisk section.
#
if [ "x${ramdiskcount}" = "x1" ] ; then
# Find and use the first initramfs image archive type we find
for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do
initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}"
echo "Using $initramfs_path"
if [ -e "${initramfs_path}" ]; then
fitimage_emit_section_ramdisk ${1} "${ramdiskcount}" "${initramfs_path}"
break
fi
done
fi
fitimage_emit_section_maint ${1} sectend
# Force the first Kernel and DTB in the default config
kernelcount=1
if [ -n "${dtbcount}" ]; then
dtbcount=1
fi
#
# Step 5: Prepare a configurations section
#
fitimage_emit_section_maint ${1} confstart
if [ -n "${DTBS}" ]; then
i=1
for DTB in ${DTBS}; do
dtb_ext=${DTB##*.}
if [ "${dtb_ext}" = "dtbo" ]; then
fitimage_emit_section_config ${1} "" "${DTB}" "" "" "`expr ${i} = ${dtbcount}`"
else
fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
fi
i=`expr ${i} + 1`
done
fi
fitimage_emit_section_maint ${1} sectend
fitimage_emit_section_maint ${1} fitend
#
# Step 6: Assemble the image
#
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-f ${1} \
arch/${ARCH}/boot/${2}
#
# Step 7: Sign the image and add public key to U-Boot dtb
#
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-F -k "${UBOOT_SIGN_KEYDIR}" \
${@'-K "${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY}"' if len('${UBOOT_DTB_BINARY}') else ''} \
-r arch/${ARCH}/boot/${2}
fi
}

View File

@ -3,10 +3,11 @@
#@DESCRIPTION: Machine configuration for the netmodule hw25, aka TC Router
require am335x-nmhw24.conf
MACHINEOVERRIDES .= ":am335x-nmhw24"
UBOOT_MACHINE = "am335x_hw25_defconfig"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-hw25"
KERNEL_DEVICETREE_TO_USE = "${HW25_DT}"
KERNEL_DEVICETREE = "am335x-hw25.dtb "
SERIAL_CONSOLES = "115200;ttyS0"
DEFAULT_ETH = "lan0"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: NetModule HW 26 with user module
#@DESCRIPTION: NG800 (hw26) was based on VCU1 (hw21), but later on,
# the new VCU pro was based on the changes done on NG800
require am335x-hw26.conf
MACHINEOVERRIDES =. "am335x-hw26:"
USER_MODULE_MACHINE_FEATURE = "user-module"

View File

@ -4,10 +4,5 @@
#require conf/machine/include/ti33x.inc
require am335x-nmhw21.conf
KERNEL_DEVICETREE_TO_USE = "${HW26_DT}"
MACHINEOVERRIDES =. "am335x-nmhw21:"
MACHINE_FEATURES += "pps"
# Remove usermodule
USER_MODULE_MACHINE_FEATURE = ""
KERNEL_DEVICETREE = "am335x-hw26.dtb "
MACHINEOVERRIDES .= ":am335x-nmhw21"

View File

@ -6,10 +6,13 @@ require conf/machine/include/ti33x.inc
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW21_DT}"
KERNEL_DEFCONFIG ??= "am335x-nmhw21_defconfig"
KERNEL_DEVICETREE = "am335x-nmhw21-prod1.dtb \
"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
UBOOT_MACHINE = "am335x_nmhw21_defconfig"
KERNEL_IMAGETYPE = "fitImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw21"
USE_VT = "0"
@ -19,20 +22,9 @@ WWAN_NBR = "1"
WWAN_VENDORS = "ublox"
MACHINE_FEATURES += " \
can \
spi \
imu \
gnss \
advanced-gnss \
wwan \
bluetooth \
tibluetooth \
neo-m8l \
wifi \
ti-wifi \
da9063-ignition \
"
USER_MODULE_MACHINE_FEATURE = "user-module"
MACHINE_FEATURES_append = " ${USER_MODULE_MACHINE_FEATURE}"

View File

@ -6,10 +6,13 @@ require conf/machine/include/ti33x.inc
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW24_DT}"
KERNEL_DEFCONFIG ??= "am335x-nmhw24_defconfig"
KERNEL_DEVICETREE = "am335x-nmhw24-prod1.dtb \
"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
UBOOT_MACHINE = "am335x_nrhw24_defconfig"
KERNEL_IMAGETYPE = "fitImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw24"
USE_VT = "0"
@ -19,12 +22,9 @@ WWAN_NBR="1"
WWAN_VENDORS = "ublox"
MACHINE_FEATURES += " \
can \
wwan \
bluetooth \
tibluetooth \
atsha \
wifi \
ti-wifi \
"

View File

@ -6,22 +6,23 @@ require conf/machine/include/ti33x.inc
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW16_DT}"
KERNEL_DEFCONFIG ??= "am335x-nrhw16_defconfig"
KERNEL_DEVICETREE = "am335x-nrhw16.dtb \
am335x-nrhw16-prod2.dtb \
am335x-nrhw16-prod3.dtb \
am335x-nrhw16-prod4.dtb \
am335x-nrhw16-prod5.dtb \
"
KERNEL_IMAGETYPE = "fitImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw16-v2"
USE_VT = "0"
SERIAL_CONSOLES ?= "115200;ttyS1"
MACHINE_FEATURES += " \
can \
bluetooth \
tibluetooth \
atsha \
am335x-wakeup-timer \
wifi \
ti-wifi \
ath-wifi \
"
"

View File

@ -6,10 +6,12 @@ require conf/machine/include/ti33x.inc
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW20_DT}"
KERNEL_DEFCONFIG ??= "am335x-nrhw20_defconfig"
KERNEL_DEVICETREE = "am335x-nrhw20-prod1.dtb \
"
KERNEL_IMAGETYPE = "fitImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
UBOOT_MACHINE = "am335x_nrhw20_defconfig"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw20-v1"
USE_VT = "0"
@ -19,13 +21,8 @@ WWAN_NBR = "1"
WWAN_VENDORS = "ublox"
MACHINE_FEATURES += " \
can \
wwan \
gnss \
bluetooth \
tibluetooth \
atsha \
wifi \
ti-wifi \
ath-wifi \
"
"

View File

@ -1,21 +0,0 @@
#@TYPE: Machine
#@NAME: HW17 based routers like NB2800
#@DESCRIPTION: Machine configuration for the HW17 based routers http://netmodule.com/en/products/vehicle-routers/NB2800
require conf/machine/include/armada.inc
SERIAL_CONSOLE = "115200 ttyS1"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
UBOOT_MACHINE = "${MACHINE}_defconfig"
IMAGE_BOOT_FILES = "u-boot-armada-385-hw17.kwb"
KERNEL_DEVICETREE_TO_USE = "${HW17_DT}"
PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule"
MACHINE_FEATURES += " \
fpga \
atsha \
wifi \
ath-wifi \
"

View File

@ -0,0 +1,18 @@
#@TYPE: Machine
#@NAME: NBHW17 based routers like NB2800
#@DESCRIPTION: Machine configuration for the NBHW17 based routers http://netmodule.com/en/products/vehicle-routers/NB2800
require conf/machine/include/armada.inc
SERIAL_CONSOLE = "115200 ttyS1"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEFCONFIG ??= "nbhw_defconfig"
KERNEL_DEVICETREE = "armada-385-nbhw17-prod1.dtb"
KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule"
PV_pn-linux-netmodule = "4.12.0-${SRCPV}"
SRC_URI_pn-linux-netmodule = "git://github.com/netmodule/linux.git;protocol=https;branch=4.12/standard/nrhw14"
SRCREV_pn-linux-netmodule = "2fb3360ec3cf672c74321e1dbe5c04e59d1ced11"

View File

@ -7,19 +7,19 @@ require conf/machine/include/armada.inc
SERIAL_CONSOLE = "115200 ttyS1"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW18_DT}"
KERNEL_DEFCONFIG ??= "armada-385-nrhw18_defconfig"
KERNEL_DEVICETREE = "armada-385-nrhw18-prod1.dtb"
KERNEL_IMAGETYPE = "fitImage"
KERNEL_MODULE_PROBECONF += "ath10k_pci"
module_conf_ath10k_pci = "options ath10k_pci irq_mode=1"
UBOOT_MACHINE = "armada-385-hw18_defconfig"
IMAGE_BOOT_FILES = "u-boot-armada-385-hw18.kwb"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada-385-nrhw18-v2"
IMAGE_BOOT_FILES = "u-boot-armada-385-nrhw18-v2.kwb"
DEFAULT_ETH = "eth2"
MACHINE_FEATURES += " \
fpga \
atsha \
wifi \
ath-wifi \
"
"

View File

@ -17,6 +17,9 @@ SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_IMAGETYPE = "Image"
KERNEL_IMAGETYPES = "fitImage Image"
KERNEL_IMAGETYPE_sota = "fitImage"
KERNEL_IMAGETYPES_sota = "fitImage"
UBOOT_ENTRYPOINT ?= "0x80020000"
UBOOT_MACHINE = "imx8qxp_mek_defconfig"
IMAGE_BOOT_FILES = "flash.bin"

View File

@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the netmodule HW23, DLM variant
require imx8-nmhw23.conf
KERNEL_DEVICETREE_TO_USE = "${HW23_DLM_DT}"
KERNEL_DEVICETREE = "netmodule/imx8-nmhw23-dlm.dtb"
MACHINEOVERRIDES .= ":imx8-nmhw23"
SOTA_MACHINE = "imx8-nmhw23"

View File

@ -1,19 +1,31 @@
#@TYPE: Machine
#@NAME: NetModule HW 23
#@DESCRIPTION: Machine configuration for the nmhw23 mainboard
require include/imx8.inc
require conf/machine/include/imx-base.inc
# Prevent the use of imx mainline BSP
IMX_DEFAULT_BSP = ""
require conf/machine/include/tune-cortexa35.inc
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot"
IMAGE_CLASSES += "image_types"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE_TO_USE = "${HW23_DT}"
KERNEL_DEFCONFIG = "defconfig"
KERNEL_DEVICETREE = "netmodule/imx8-nmhw23.dtb"
SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_IMAGETYPE = "fitImage"
KERNEL_IMAGETYPE_aarch64 = "fitImage"
KERNEL_ALT_IMAGETYPE = "Image"
UBOOT_ENTRYPOINT = "0x80280000"
#UBOOT_MACHINE = "imx8_nmhw23_defconfig"
IMAGE_BOOT_FILES = "flash.bin"
@ -31,28 +43,13 @@ WWAN_NBR = "1"
WWAN_VENDORS = "ublox"
MACHINE_FEATURES += " \
pci \
can \
spi \
imu \
gnss \
advanced-gnss \
wwan \
bluetooth \
neo-m8l \
usb-hub-reset \
v2x \
imx-boot \
wifi \
ublox-wifi \
da9063-ignition \
"
ACCEPT_FSL_EULA = "1"
UBLOX_FEATURES = "jody-w1-pcie"
# Unstable versions are provided by meta-netmodule-wlan
# We prefer to keep the official stable versions
PREFERRED_VERSION_wpa-supplicant = "2.9"
PREFERRED_VERSION_hostapd = "2.9"

View File

@ -1,13 +1,14 @@
SOC_FAMILY = "armada"
require conf/machine/include/soc-family.inc
require netmodule-hardware.inc
DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/tune-cortexa9.inc
# Default providers, may need to override for specific machines
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada"
PREFERRED_PROVIDER_u-boot = "u-boot-armada"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
PREFERRED_PROVIDER_u-boot = "u-boot"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "mvebu_db_armada8k_config"
@ -16,22 +17,10 @@ UBOOT_ENTRYPOINT = "0x13000000"
UBOOT_LOADADDRESS = "0x13000000"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 usbgadget usbhost pci vfat ext2 ext4 ethernet"
MACHINE_FEATURES = "kernel26 usbgadget usbhost vfat ext2 ext4 ethernet"
SOTA_MACHINE = "armada-385"
NM_TARGET = "netbolt"
NM_ARCH = "arm"
MACHINEOVERRIDES =. "${NM_TARGET}:"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule"
PREFERRED_VERSION_linux-netmodule ?= "git-5.10"
# We have one kernel for all armada machines
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEFCONFIG = "armada-385-netmodule_defconfig"
HW17_DT = "armada-385-nbhw17-prod1.dtb"
HW18_DT = "armada-385-nrhw18-prod1.dtb"
KERNEL_DEVICETREE = "${HW17_DT} ${HW18_DT}"

View File

@ -1,24 +0,0 @@
require conf/machine/include/imx-base.inc
require netmodule-hardware.inc
# Prevent the use of imx mainline BSP
IMX_DEFAULT_BSP = ""
# Prevent usage of dynamic-packagearch for the kernel
MACHINE_ARCH_FILTER = ""
require conf/machine/include/tune-cortexa35.inc
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
KERNEL_IMAGETYPE = "Image"
KERNEL_ALT_IMAGETYPE = "Image"
UBOOT_ENTRYPOINT = "0x80280000"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule"
PREFERRED_VERSION_linux-netmodule ?= "git-4.14-nxp"
KERNEL_DEFCONFIG = "imx8-netmodule_defconfig"
HW23_DT = "netmodule/imx8-nmhw23.dtb"
HW23_DLM_DT = "netmodule/imx8-nmhw23-dlm.dtb"
KERNEL_DEVICETREE = "${HW23_DT} ${HW23_DLM_DT}"

View File

@ -1,2 +0,0 @@
STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-source"
STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-build-artifacts"

View File

@ -1,6 +1,5 @@
SOC_FAMILY = "ti33x"
require conf/machine/include/soc-family.inc
require netmodule-hardware.inc
DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/tune-cortexa8.inc
@ -21,8 +20,7 @@ GUI_MACHINE_CLASS = "bigscreen"
MACHINE_KERNEL_PR = "r22"
# Default providers, may need to override for specific machines
PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule"
PREFERRED_VERSION_linux-netmodule ?= "git-5.10"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging"
@ -41,29 +39,9 @@ IMAGE_BOOT_FILES = "MLO u-boot.img"
UBI_VOLNAME = "rootfs"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost pci vfat ext2 screen alsa ethernet sgx"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"
NM_TARGET = "netbird"
NM_ARCH = "arm"
MACHINEOVERRIDES =. "${NM_TARGET}:"
# We have one kernel for all TI machines
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEFCONFIG = "am335x-netmodule_defconfig"
# We need to specify all devicetrees here in order to build them with the kernel
HW16_DT = "am335x-nrhw16.dtb \
am335x-nrhw16-prod2.dtb \
am335x-nrhw16-prod3.dtb \
am335x-nrhw16-prod4.dtb \
am335x-nrhw16-prod5.dtb \
"
HW20_DT = "am335x-nrhw20-prod1.dtb"
HW21_DT = "am335x-nmhw21-prod1.dtb"
HW24_DT = "am335x-nmhw24-prod1.dtb"
HW25_DT = "am335x-hw25.dtb"
HW26_DT = "am335x-hw26.dtb"
KERNEL_DEVICETREE = "${HW16_DT} ${HW20_DT} ${HW21_DT} ${HW24_DT} ${HW25_DT} ${HW26_DT}"

View File

@ -8,10 +8,10 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m
PV = "1.5.0+git${SRCPV}"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
"
SRCREV ?= "413e93e10ee4838e9a68b190f1468722f6385e0e"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"

View File

@ -4,8 +4,8 @@ DEPENDS = "zlib-native openssl-native"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "dd0234001713623c79be92b60fa88bc07b07f24f"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"

View File

@ -14,7 +14,7 @@ PKGV = "${GITPKGVTAG}"
PV = "1.0-git${SRCPV}"
SRC_URI = "git://gitlab.com/netmodule/tools/bootloader-config.git;protocol=ssh;user=git;branch=master"
SRCREV ?= "60269b7bbb4076247607c7a59b2134c3a5369f07"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
# Likely required in the future

View File

@ -1,26 +1,28 @@
DESCRIPTION = "Fpga images"
DESCRIPTION = "Fpga image for NRHW18"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
inherit deploy
COMPATIBLE_MACHINE = "(armada-385-hw17|armada-385-nrhw18)"
SRC_URI = "file://LG00000000"
SRC_URI_armada-385-nrhw18 = "file://LG00000000"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRCREV = "${AUTOREV}"
PV = "1.0.0"
do_install () {
do_install_armada-385-nrhw18 () {
install -d ${D}/logic
install -m 0644 ${WORKDIR}/LG00000000 ${D}/logic/
}
do_deploy () {
do_deploy_armada-385-nrhw18 () {
cp ${WORKDIR}/LG00000000 ${DEPLOYDIR}/fpga-image-${MACHINE}
}
do_deploy(){
}
FILES_${PN} += "/logic/LG00000000"
addtask deploy before do_build after do_compile
addtask deploy before do_build after do_compile

View File

@ -1,7 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
ignore in1
ignore in2
label in3 "wwan0-supply"
label in4 "rtc-voltage"
label temp1 "tjunc"

View File

@ -1,13 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
label in1 "input-voltage"
compute in1 15.0*@, @/15.0
label in2 "ignition-voltage"
compute in2 4.96*@, @/4.96
ignore in3
label in4 "rtc-voltage"
label temp1 "tjunc"
chip "*-mdio-*"
ignore in0
ignore temp1

View File

@ -1 +0,0 @@
am335x-hw26

View File

@ -1,9 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
label in1 "input-voltage"
compute in1 15.0*@, @/15.0
label in2 "ignition-voltage"
compute in2 4.96*@, @/4.96
label in3 "wwan0-supply"
label in4 "rtc-voltage"
label temp1 "tjunc"

View File

@ -1,7 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
ignore in1
ignore in2
ignore in3
label in4 "rtc-voltage"
label temp1 "tjunc"

View File

@ -1,4 +0,0 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PACKAGECONFIG = ""

View File

@ -1,11 +1,9 @@
[Unit]
After=tibluetooth.service
After=jody-w1-bt-init.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/mac-address-set -b -l 1
ExecStart=/usr/bin/mac-address-set
[Install]
WantedBy=multi-user.target

View File

@ -1,378 +1,25 @@
#!/usr/bin/env bash
help_text='
This script configures bluetooth and wifi mac addresses
It is using the eth0 mac address as reference and then applying
a logical operation based on the mac address range.
eth_mac=$(ip addr show eth0 | awk '$1 == "link/ether" {gsub(/\/.*$/, "", $2); print $2}')
wlan_mac=$(echo $eth_mac | sed -r "s/^(.{9})50(.{6})/\170\2/")
bt_addr=$(echo $eth_mac | sed -r "s/^(.{9})50(.{6})/\180\2/")
Since the handling of wifi and bluetooth devices may be different
on different devices, this script is doing several attempts with
different approaches to be compatible with all devices.
Currently supported devices: HW21 and HW23
# Set WLAN address
ifconfig wlan0 | grep UP > /dev/null
up=$?
if [[ $up == 0 ]]; then
ifconfig wlan0 down
fi
ip link set wlan0 address $wlan_mac
It currently supports two schemes:
* VCU1 scheme, starts with 7C:97:63: and ends with:
eth0: :50:XX:YY
wlan0: :70:XX:YY
bt0: :80:XX:YY
* VCU2 scheme, starts with 00:11:2B: and ends with:
eth0: :XX:YY:ZZ
wlan0: :XX:YY:ZZ+3
bt0: :XX:YY:ZZ+4
This script is NOT setting eth0 mac address, this must be done
before (usually bootloader).
'
level_error=0
level_warning=1
level_info=2
level_test=3
log_level="$level_info"
eth_mac=0
set_wlan=0
set_bt=0
invert_bt_mac=0
log () {
msg_level="$1"
level_string="$2"
msg="$3"
if [ "$log_level" = "$level_test" ]; then
echo "$msg"
elif [ "$log_level" -ge "$msg_level" ]; then
echo "$0: $level_string: $msg"
fi
}
log_test() {
msg="$1"
log "$level_test" "test" "$msg"
}
log_info() {
msg="$1"
log "$level_info" "info" "$msg"
}
log_warning() {
msg="$1"
log "$level_warning" "warning" "$msg"
}
log_error() {
msg="$1"
log "$level_error" "error" "$msg"
}
wait_on() {
cmd=$1
device=$2
if $cmd "$device" > /dev/null 2>/dev/null; then
return
fi
log_info "$device not ready"
log_info "Waiting...."
wait_timeout=0
while ! $cmd "$device" > /dev/null 2>/dev/null; do
if [ $wait_timeout -gt 10 ]; then
log_warning "Timeout after 10 seconds, exiting now.."
break
else
sleep 1
fi
wait_timeout=$(($wait_timeout+1))
done
log_info "$device ready"
}
wait_on_wlan0() {
wait_on ifconfig wlan0
}
wait_on_hci0() {
wait_on hciconfig hci0
}
is_wlan0_up() {
if ifconfig wlan0 | grep UP > /dev/null;
then
return "1"
else
return "0"
fi
}
set_wlan_mac_address() {
address=$1
log_info "Setting wlan0 mac address to $address"
ip link set wlan0 address "$address"
ret=$?
if [ $ret -ne 0 ]; then
log_warning "Setting wlan address failed $ret"
fi
return $ret
}
set_and_check_wlan_mac_address() {
address=$1
set_wlan_mac_address "$address"
ret=$?
if [ $ret -ne 0 ]; then
log_warning "Setting wlan address failed: $ret"
return $ret
fi
log_info "Checking success"
# Setting the mac may fail without error
# Checking MAC to be sure it worked
if ifconfig wlan0 | grep -i "$address" > /dev/null; then
log_info "wlan mac address successfully set"
return 0
else
log_warning "Setting wlan address failed without throwing an error"
return 1
fi
}
prepare_wlan() {
is_wlan0_up
wlan_iface_was_up=$?
if [[ "$wlan_iface_was_up" -eq "1" ]]; then
log_info "Taking wlan0 down"
ifconfig wlan0 down
fi
return "$wlan_iface_was_up"
}
unprepare_wlan() {
wlan_iface_was_up=$1
if [[ "$wlan_iface_was_up" -eq "1" ]]; then
log_info "Taking wlan0 back up"
ifconfig wlan0 up
else
log_info "Making sure wlan0 is down"
ifconfig wlan0 down
fi
}
prepare_and_set_wlan_mac_address() {
address="$1"
wait_on_wlan0
prepare_wlan
wlan_iface_was_up=$?
set_and_check_wlan_mac_address "$address"
ret=$?
if [[ "$ret" -ne 0 ]]; then
# On some devices the interface must be up to set the address
log_warning "Setting wlan address failed, trying with interface up"
ifconfig wlan0 up
set_and_check_wlan_mac_address "$address"
ret=$?
fi
unprepare_wlan "$wlan_iface_was_up"
return $ret
}
# Returns 1 in case reset failed
# Returns 2 when the address is not correct after reset
set_and_check_bt_mac_address() {
address="$1"
addr_to_set="$address" # Because of some bug the address to set may be inverted
if [[ "$invert_bt_mac" -eq "1" ]]; then
addr_to_set=$(echo "$address" | sed -r "s/^(.{2}):(.{2}):(.{2}):(.{2}):(.{2}):(.{2})/\\6:\\5:\\4:\\3:\\2:\\1/")
fi
bdaddr "$addr_to_set" > /dev/null
ret=$?
if [ $ret -ne 0 ]; then
log_warning "Setting bluetooth address failed: $ret"
fi
sleep 2
log_info "Restarting bluetooth service"
if ! hciconfig hci0 reset; then
return 1
fi
systemctl restart bluetooth
sleep 1
wait_on_hci0
hciconfig hci0 up
log_info "Checking success"
if hciconfig hci0 | grep -i "$address" > /dev/null; then
log_info "Bluetooth address successfully set"
ret=0
else
log_warning "Setting bluetooth address failed without error"
ret=2
fi
return $ret
}
prepare_and_set_bt_mac_address() {
address=$1
wait_on_hci0
hciconfig hci0 up
log_info "Setting bluetooth mac address to $address"
set_and_check_bt_mac_address "$address"
ret=$?
return $ret
}
do_bt_hard_reset() {
if systemctl is-active --quiet jody-w1-bt-init; then
systemctl restart jody-w1-bt-init
elif systemctl is-active --quiet tibluetooth; then
systemctl restart tibluetooth
else
log_error "No hard reset possible"
return 1
fi
}
# VCU1 scheme, starts with 7C:97:63:
# eth0: 50:XX:YY
# wlan0: 70:XX:YY
# bt0: 80:XX:YY
is_vcu1_mac() {
[[ ${1^^} == "7C:97:63:50:"* ]]
}
vcu1_eth_to_wlan() {
echo "${1^^}" | sed -r "s/^(.{9})50(.{6})/\\170\\2/"
}
vcu1_eth_to_bt() {
echo "${1^^}" | sed -r "s/^(.{9})50(.{6})/\\180\\2/"
}
# VCU2 scheme, starts with 00:11:2B:
# eth0: XX:YY:ZZ
# wlan0: XX:YY:ZZ+3
# bt0: XX:YY:ZZ+4
is_vcu2_mac() {
[[ $1 == "00:11:2B:"* ]]
}
vcu2_eth_to_wlan_and_bt() {
iface="$1"
IFS=':' read -r -a digits <<< "$2"
# convert digits from hex to decimal
for ((x=0 ; x<6 ; x++)); do digits[x]=0x${digits[x]}; done
if [ $iface = "wlan" ]; then
digits[5]=$((digits[5] + 3))
elif [ $iface = "bt" ]; then
digits[5]=$((digits[5] + 4))
fi
mac=$(printf ":%02X" "${digits[@]}")
mac=${mac:1} # Remove first ":"
echo "$mac"
}
main() {
ret=0
if [ "$1" = "-h" ]; then
echo "$help_text"
echo "Usage:"
echo " $0"
echo " $0 -l <loglevel> # loglevel being between 0 (errors) and 2 (info)"
echo " $0 -w # set wifi address"
echo " $0 -b # set bluetooth address"
echo " $0 -i # invert bluetooth address"
echo " $0 -e <eth0 addr> # mac address input, e.g. 00:11:22:33:44:10"
exit 0
fi
while getopts l:wbie: option
do
case "${option}"
in
l)log_level=${OPTARG};;
w)set_wlan=1;;
b)set_bt=1;;
i)invert_bt_mac=1;;
e)eth_mac=${OPTARG};;
esac
done
if [ $eth_mac = 0 ]; then
eth_mac=$(ip addr show eth0 | awk '$1 == "link/ether" {gsub(/\/.*$/, "", $2); print $2}')
fi
eth_mac=${eth_mac^^} # UPPER case
if is_vcu1_mac "$eth_mac"; then
log_info "VCU1 mac address scheme"
wlan_mac=$(vcu1_eth_to_wlan "$eth_mac")
bt_addr=$(vcu1_eth_to_bt "$eth_mac")
elif is_vcu2_mac "$eth_mac"; then
log_info "VCU2 mac address scheme"
wlan_mac=$(vcu2_eth_to_wlan_and_bt "wlan" "$eth_mac")
bt_addr=$(vcu2_eth_to_wlan_and_bt "bt" "$eth_mac")
else
log_error "Unknown mac address scheme for: $eth_mac"
exit 1
fi
log_test "wlan: $wlan_mac"
log_test "bt: $bt_addr"
if [ $set_wlan = 1 ]; then
prepare_and_set_wlan_mac_address "$wlan_mac"
ret_wlan=$?
if [ $ret_wlan -ne 0 ]; then
log_error "Failed to set wlan mac address"
ret="$ret_wlan"
fi
fi
if [ $set_bt = 1 ]; then
prepare_and_set_bt_mac_address "$bt_addr"
ret_bt=$?
while [ $ret_bt -eq 1 ]; do
log_warning "Soft reset failed, doing hard reset and retrying"
do_bt_hard_reset
prepare_and_set_bt_mac_address "$bt_addr"
ret_bt=$?
done
if [ $ret_bt -ne 0 ]; then
log_error "Failed to set bluetooth mac address"
ret="$ret_bt"
fi
fi
return "$ret"
}
if [ "$1" = "testify" ]; then
return 0
if [[ $up == 0 ]]; then
ifconfig wlan0 up
fi
main $@
exit $?
# Set BT address
bt_addr_rev=$(echo $bt_addr | sed -r "s/^(.{2}):(.{2}):(.{2}):(.{2}):(.{2}):(.{2})/\6:\5:\4:\3:\2:\1/")
bdaddr $bt_addr_rev
hciconfig hci0 reset
systemctl restart bluetooth

View File

@ -1,12 +0,0 @@
[Unit]
Before=NetworkManager.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/mac-address-set -w -l 1
[Install]
WantedBy=multi-user.target

View File

@ -9,8 +9,7 @@ PR = "r2"
inherit systemd
SRC_URI = " \
file://wlan-address-set.service \
file://bt-address-set.service \
file://mac-address-set.service \
file://mac-address-set.sh \
"
@ -18,7 +17,7 @@ S = "${WORKDIR}"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
SYSTEMD_SERVICE_${PN} = "wlan-address-set.service bt-address-set.service"
SYSTEMD_SERVICE_${PN} = "mac-address-set.service"
SYSTEMD_AUTO_ENABLE ?= "enable"
FILES_${PN}_append = " \
@ -26,17 +25,9 @@ FILES_${PN}_append = " \
/usr \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_install () {
install -d ${D}${systemd_unitdir}/system/
install -m 0644 wlan-address-set.service ${D}${systemd_unitdir}/system/
install -m 0644 bt-address-set.service ${D}${systemd_unitdir}/system/
# Invert BT mac for TI chips
if ${@bb.utils.contains('MACHINE_FEATURES', 'tibluetooth', 'true', 'false',d)}; then
sed -i 's/^ExecStart=.*/& -i/g' ${D}${systemd_unitdir}/system/bt-address-set.service
fi
install -m 0644 mac-address-set.service ${D}${systemd_unitdir}/system/
install -d ${D}/usr/bin
install -m 0755 mac-address-set.sh ${D}/usr/bin/mac-address-set

View File

@ -1,48 +0,0 @@
# bash-assert
testify is a lightweight unit testing framework for bash
# Usage
clone this repository `git clone https://github.com/zombieleet/testify.git` here.
run the mac-address-set-test.sh file and check the console output.
# Commands
all subcommands to the assert functions requres 4 arguments, the first argument is the actual value to test for, while the second argument
is the expected value, the thrid argument is a description of the test , while the fourth argument is a short description of what the test output should be
**expect** Compares two values
`assert expect "$(Name 'Jane' 'Doe')" "John Doe" "Test for Name Function" "should fail"`
To test the output of a function you have to use command substitution
You can also test single values
`assert expect "victory" "favour" "Test for Name comparison" "This should fail"`
testing for mathematical expressions
`assert expect "$((2+2))" "4" "Test for Simple Math Operation" "It should succeed"`
**regex** Does a regular expression match. The second argument to this subcommand should be a regular expression
`assert regex "What is the difference between 6 and half a dozen" "[[:digit:]]" "Match Number Regular Expression" "It should succeed"`
**status** Test for any status code. The second argument should be the expected status code. The first argument to this subcommand should be a command name, and it should not be passed as a command substitution but it should be passed as just a string wrapped in double quotes.
The arguments to the function should also be in the double quotes. Arguments with spaced should be wrapped in single quotes
`assert status "ls ." "0" "List in current dir" "it should return 0"`
**done** This should be last subcommand to call, it does not require any argument
# LICENSE
GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

View File

@ -1,51 +0,0 @@
#!/usr/bin/env bash
source ../files/mac-address-set.sh testify
source ./testify/testify.bash
assert expect "$(log_error 'test')" "$0: error: test" "Test for Error logging" "should succeed"
assert expect "$(log_info 'test')" "$0: info: test" "Test for Info logging" "should succeed"
# Testing VCU1 mac address converter
assert expect "$(vcu1_eth_to_wlan '7C:97:63:50:00:00')" "7C:97:63:70:00:00" "Test VCU1 WLAN 1" "should match"
assert expect "$(vcu1_eth_to_wlan '7c:97:63:50:00:00')" "7C:97:63:70:00:00" "Test VCU1 WLAN 2" "should match"
assert expect "$(vcu1_eth_to_bt '7C:97:63:50:00:0A')" "7C:97:63:80:00:0A" "Test VCU1 BT 1" "should match"
assert expect "$(vcu1_eth_to_bt '7c:97:63:50:00:0a')" "7C:97:63:80:00:0A" "Test VCU1 BT 2" "should match"
# Testing VCU2 mac address converter
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:aa:cd:00')" "00:11:2B:AA:CD:03" "Test VCU2 WLAN 1" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2B:AA:CD:00')" "00:11:2B:AA:CD:03" "Test VCU2 WLAN 2" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:39')" "00:11:2B:00:00:3C" "Test VCU2 WLAN 3" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f0')" "00:11:2B:00:00:F3" "Test VCU2 WLAN 4" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f6')" "00:11:2B:00:00:F9" "Test VCU2 WLAN 5" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f7')" "00:11:2B:00:00:FA" "Test VCU2 WLAN 6" "should match"
#assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:RS')" "" "Test VCU2 WLAN 7" "should match"
#assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:FF')" "" "Test VCU2 WLAN 8" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:06')" "00:11:2B:00:00:09" "Test VCU2 WLAN 9" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:aa:cd:00')" "00:11:2B:AA:CD:04" "Test VCU2 BT 1" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2B:AA:CD:00')" "00:11:2B:AA:CD:04" "Test VCU2 BT 2" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:39')" "00:11:2B:00:00:3D" "Test VCU2 BT 3" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f0')" "00:11:2B:00:00:F4" "Test VCU2 BT 4" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f6')" "00:11:2B:00:00:FA" "Test VCU2 BT 5" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f7')" "00:11:2B:00:00:FB" "Test VCU2 BT 6" "should match"
#assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:RS')" "" "Test VCU2 BT 7" "should match"
#assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:FF')" "" "Test VCU2 BT 8" "should match"
assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:06')" "00:11:2B:00:00:0A" "Test VCU2 BT 9" "should match"
# Examples:
#assert expect "$(Name 'Jane' 'Doe')" "John Doe" "Test for Name Function" "should fail"
#assert expect "$(Name 'Jane' 'Doe')" "Jane Doe" "Test for Name Function" "should succeed"
#assert status "Name" "5" "Test for status code" "should return 5"
#assert status "Name 'Jane' 'Doe'" "0" "Test for Status Code" "should return 0"
#assert status "Name 'Jane' " "3" "Test for Status Code" "should return 3"
#assert status "Name 'Jane' 'Doe'" "12" "Test for Status Code" "it should fail"
#assert regex "$(Name 'Jane' 'Doe')" "Jane" "Test for Regexp" "it should match"
#assert regex "123victory" "\W" "Test for Regexp Non Word Character" "it should fail if match failes"
#assert expect "$((2+2))" "4" "Test for Simple Math Operation" "It should succeed"
#assert regex "What is the difference between 6 and half a dozen" "[[:digit:]]" "Match Number Regular Expression" "It should succeed"
#assert status "ls ." "0" "List in current dir" "it should return 0"
assert done

View File

@ -1,38 +0,0 @@
SUMMARY = "Storage Information Tool"
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=81438338854bd7a09cb97215f36db46b"
SRC_URI = "git://gitlab.com/netmodule/tools/storage-info.git;protocol=ssh;user=git;branch=develop"
SRCREV ?= "6584feb5fb3e18572fee1cea9e20a6b8e5cd0251"
PV = "0.0.1+git${SRCPV}"
DEPENDS_append = " libnmapp"
inherit systemd
S = "${WORKDIR}/git"
B = "${S}/build"
SYSTEMD_SERVICE_${PN} = "storage-info.service"
FILES_${PN} += " \
${bindir}/storage-info \
${systemd_system_unitdir}/storage-info.service \
${sysconfdir}/storage/storage-info.conf \
"
# build variables for the target (rest is default)
EXTRA_OEMAKE_append = " 'BUILD_TARGET=target' 'BUILD_CONFIG=rls' 'SYSROOT=${STAGING_DIR_TARGET}'"
do_install() {
install -d ${D}${bindir}
install -m 755 ${B}/rls/target/${BPN} ${D}${bindir}
install -d ${D}${sysconfdir}/storage
install -m 644 ${S}/config/${BPN}.conf ${D}${sysconfdir}/storage/
install -d ${D}${systemd_system_unitdir}
install -m 644 ${S}/systemd/${BPN}.service ${D}${systemd_system_unitdir}
}

View File

@ -0,0 +1,5 @@
require u-boot-am335x-nmhw24_git.bb
UBOOT_MACHINE = "am335x_hw25_defconfig"

View File

@ -0,0 +1,32 @@
require u-boot-nm.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "am335x_nmhw21_defconfig"
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule"
# Should be updated when a new U-Boot Version is available
SRCREV ?= "${AUTOREV}"
PV = "v2016.05+git${SRCPV}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy_append() {
rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin
rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX}
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin
cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX}
cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX}
}
# nmhw21 and hw26 using same u-boot sources so let's create symlinks for hw26 when building nmhw21
PN_E = "u-boot-${MACHINE}"
do_deploy_append_am335x-hw26() {
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN_E}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN_E}.xmodem.bin
cp ${S}/u-boot.img ${DEPLOYDIR}/${PN_E}.${UBOOT_SUFFIX}
cp ${S}/MLO ${DEPLOYDIR}/spl-${PN_E}.${UBOOT_SUFFIX}
}

View File

@ -0,0 +1,24 @@
require u-boot-nm.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "am335x_nrhw24_defconfig"
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule"
# Should be updated when a new U-Boot Version is available
SRCREV ?= "${AUTOREV}"
PV = "v2016.05+git${SRCPV}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy_append() {
rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin
rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX}
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin
cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX}
cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX}
}

View File

@ -0,0 +1,21 @@
require u-boot-nm.inc
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule"
# Should be updated when a new U-Boot Version is available
PV = "v2016.05+git${SRCPV}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy_append() {
rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin
rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX}
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin
cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX}
cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX}
}

View File

@ -0,0 +1,7 @@
require u-boot-am335x-nrhw16-common.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "am335x_nbhw16_defconfig"
# Should be updated when a new U-Boot Version is available
SRCREV ?= "a6f157c6dbd048b452c7e2640215c55be658780c"

View File

@ -0,0 +1,7 @@
require u-boot-am335x-nrhw16-common.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig"
SRCREV ?= "${AUTOREV}"

View File

@ -0,0 +1,24 @@
require u-boot-nm.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "am335x_nrhw20_defconfig"
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule"
# Should be updated when a new U-Boot Version is available
SRCREV ?= "${AUTOREV}"
PV = "v2016.05+git${SRCPV}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy_append() {
rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin
rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX}
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin
cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX}
cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX}
}

View File

@ -0,0 +1,28 @@
require u-boot-nm.inc
# Force machine configuration for this recipe
UBOOT_MACHINE = "armada-385-nrhw18-v2_defconfig"
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2017.11-armada-nrhw"
DEPENDS = "bc-native"
# Should be updated when a new U-Boot Version is available
#SRCREV ?= "f665946cc415e628b237fcf846bda1debf40980b"
SRCREV = "${AUTOREV}"
PV = "v2017.11+git${SRCPV}"
UBOOT_SUFFIX = "kwb"
UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}"
do_deploy_append() {
rm -f ${DEPLOYDIR}/${PN}-spl.bin
rm -f ${DEPLOYDIR}/${PN}.bin
rm -f ${DEPLOYDIR}/${PN}-spl.kwb
cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin
cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin
cp ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX}
}

View File

@ -1,26 +0,0 @@
require u-boot-nm.inc
# Be aware github/netmodule git
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2017.11/standard/armada-385"
DEPENDS += "bc-native"
# Should be updated when a new U-Boot Version is available
#SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2"
SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2"
UBOOT_SUFFIX = "kwb"
UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}"
do_deploy() {
# xmodem files
cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin
cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin
# file for wic file
cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-spl.${UBOOT_SUFFIX}
# file for user usage
cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX}
}

View File

@ -10,8 +10,8 @@ PROVIDES += "u-boot"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
SRCREV ?= "68ad3ed09773011ab15e9dd50f9ec2bbf817ef3f"
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"

View File

@ -1,13 +1,294 @@
require recipes-bsp/u-boot/u-boot.inc
SUMMARY = "Universal Boot Loader for embedded devices"
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
do_configure[cleandirs] = "${B}"
UBOOT_INITIAL_ENV = ""
PACKAGE_ARCH = "${MACHINE_ARCH}"
PROVIDES = "virtual/bootloader"
inherit uboot-config deploy
PROVIDES = "virtual/bootloader"
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
PACKAGECONFIG ??= "openssl"
# u-boot will compile its own tools during the build, with specific
# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
# a host build dependency.
PACKAGECONFIG[openssl] = ",,openssl-native"
# Allow setting an additional version string that will be picked up by the
# u-boot build system and appended to the u-boot version. If the .scmversion
# file already exists it will not be overwritten.
UBOOT_LOCALVERSION ?= ""
# Some versions of u-boot use .bin and others use .img. By default use .bin
# but enable individual recipes to change this value.
UBOOT_SUFFIX ??= "bin"
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
UBOOT_SYMLINK ?= "${PN}.${UBOOT_SUFFIX}"
UBOOT_MAKE_TARGET ?= "all"
# Output the ELF generated. Some platforms can use the ELF file and directly
# load it (JTAG booting, QEMU) additionally the ELF can be used for debugging
# purposes.
UBOOT_ELF ?= ""
UBOOT_ELF_SUFFIX ?= "elf"
UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}"
UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}"
UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
# Some versions of u-boot build an SPL (Second Program Loader) image that
# should be packaged along with the u-boot binary as well as placed in the
# deploy directory. For those versions they can set the following variables
# to allow packaging the SPL.
SPL_BINARY ?= ""
SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}"
SPL_SYMLINK ?= "${SPL_BINARY}-${PN}"
# Additional environment variables or a script can be installed alongside
# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
# or 'boot.scr', should be packaged along with u-boot as well as placed in the
# deploy directory. Machine configurations needing one of these files should
# include it in the SRC_URI and set the UBOOT_ENV parameter.
UBOOT_ENV_SUFFIX ?= "txt"
UBOOT_ENV ?= ""
UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
# This variable is set to "0" in distro in order to get reproducible build
# It is however not needed for uboot and unsetting it allows us to keep the build date in uboot output
unset SOURCE_DATE_EPOCH
do_compile () {
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
fi
unset LDFLAGS
unset CFLAGS
unset CPPFLAGS
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
then
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
fi
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
oe_runmake O=${config} ${config}
oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
fi
done
unset j
done
unset i
else
oe_runmake ${UBOOT_MACHINE}
oe_runmake ${UBOOT_MAKE_TARGET}
fi
}
do_install () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install -d ${D}/boot
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
fi
done
unset j
done
unset i
else
install -d ${D}/boot
install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
fi
if [ "x${UBOOT_ELF}" != "x" ]
then
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
fi
done
unset j
done
unset i
else
install ${S}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
fi
fi
if [ -e ${WORKDIR}/fw_env.config ] ; then
install -d ${D}${sysconfdir}
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
fi
if [ "x${SPL_BINARY}" != "x" ]
then
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}
fi
done
unset j
done
unset i
else
install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
fi
fi
if [ "x${UBOOT_ENV}" != "x" ]
then
install ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
fi
}
FILES_${PN} = "/boot ${sysconfdir}"
# Ensure the split debug part of any elf files are put into dbg
FILES_${PN}-dbg += "/boot/.debug"
do_deploy () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install -d ${DEPLOYDIR}
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
cd ${DEPLOYDIR}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
fi
done
unset j
done
unset i
else
install -d ${DEPLOYDIR}
install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
cd ${DEPLOYDIR}
rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
fi
if [ "x${UBOOT_ELF}" != "x" ]
then
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
fi
done
unset j
done
unset i
else
install ${S}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
fi
fi
if [ "x${SPL_BINARY}" != "x" ]
then
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
done
unset j
done
unset i
else
install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
fi
if [ "x${UBOOT_ENV}" != "x" ]
then
install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
fi
}
addtask deploy before do_build after do_compile

View File

@ -1,24 +0,0 @@
require u-boot-nm.inc
# Be aware github/netmodule git
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2016.05/standard/am335x"
# Should be updated when a new U-Boot Version is available
SRCREV = "69e9c386dd3734a01af79ca1cc565896facfb9f6"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy() {
# xmodem files
cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin
cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin
# files for wic file
cp ${B}/MLO ${DEPLOYDIR}/
cp ${B}/u-boot.img ${DEPLOYDIR}/
# files for user usage
cp ${B}/MLO ${DEPLOYDIR}/spl-u-boot-${MACHINE}.${UBOOT_SUFFIX}
cp ${B}/u-boot.img ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX}
}

View File

@ -1,87 +0,0 @@
#!/bin/sh
# ************************************************************
# USB Hub Reset Script
# -----------------------
#
# The USB hub in the HW23 connects the GNSS modem, the v2x-
# module, the user interface and the user module.
#
# When HW23 device is powering up the v2x module enters DFU
# mode. This mode leads to enumeration errors when releasing
# the gnss module from reset. Thus a sequentialized startup
# is needed.
# This script just sets the USB hub either into reset mode or
# releases it from reset.
# ************************************************************
SCRIPT_NAME=$(basename "${0}")
SCRIPT_DIR=$(dirname "${0}")
SCRIPT_PATH=$(realpath "${SCRIPT_DIR}")
MYDIR=$(pwd)
HUB_RST=/sys/class/leds/hub_rst/brightness
ON_VALUE=0
OFF_VALUE=255
export HUB_RST_STATE="off"
#**********************************************************************************************
# local helper functions
#**********************************************************************************************
function printUsage()
{
echo -e "\\nUsage: ${SCRIPT_NAME} [OPTIONS] HUB_STATE\\n\\n"
echo -e " HUB_STATE The requested state of the usb hub:"
echo -e " * on = release hub from reset"
echo -e " * off = set hub into reset state (default)"
echo -e " OPTIONS:"
echo -e " -h|--help Show this help"
echo -e ""
}
#**********************************************************************************************
# main
#**********************************************************************************************
O=$(getopt -o h --long help -- "$@") || exit 1
if [ $? != 0 ]; then
echo "ERROR: Could not parse $SCRIPT_NAME command line options"
exit 1
fi
eval set -- "$O"
while true; do
case "${1}" in
-h|--help)
printUsage
exit 0
;;
--)
export HUB_RST_STATE="${2}"
shift 2
break
;;
*)
printUsage; exit 0 ;;
esac
done
if [ ! -f $HUB_RST ]; then
echo "ERROR $SCRIPT_NAME: USB hub reset lines not available"
return 1
fi
HUB_RST_VALUE=$OFF_VALUE
[[ "${HUB_RST_STATE}" != "off" ]] && HUB_RST_VALUE=$ON_VALUE || true
echo "$SCRIPT_NAME: set usb-hub=${HUB_RST_STATE}($HUB_RST_VALUE)..."
echo $HUB_RST_VALUE > $HUB_RST
if [[ "$?" != "0" ]]; then
echo "ERROR $SCRIPT_NAME: Could not set usb hub to ${HUB_RST_STATE}"
exit 1
fi
exit 0

View File

@ -1,14 +0,0 @@
[Unit]
Description=USB Hub Reset Service
Before=gpsd.service
[Service]
Type=oneshot
ExecStart=/usr/bin/usb-hub-reset on
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=multi-user.target

View File

@ -1,29 +0,0 @@
DESCRIPTION = "USB-Hub Reset on HW23"
HOMEPAGE = "www.netmodule.com"
LICENSE = "MIT"
SECTION = "bsp"
RDEPENDS_${PN} = "usbutils coreutils"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit systemd
SRC_URI = " \
file://usb-hub-reset.service \
file://usb-hub-reset\
"
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
usb-hub-reset.service \
"
FILES_${PN} = "${systemd_unitdir}/system ${bindir}"
do_install() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/usb-hub-reset.service ${D}${systemd_unitdir}/system/
install -d ${D}${bindir}
install -m 744 ${WORKDIR}/usb-hub-reset ${D}${bindir}
}

View File

@ -1,141 +0,0 @@
#!/bin/sh
SCRIPT_NAME=$(basename "${0}")
V2X_CONF=/etc/v2x0.conf
V2X_RST=/sys/class/leds/v2x_rst/brightness
ON_VALUE=0
#OFF_VALUE=255
IS_PLACEHOLDER_FW=false
#**********************************************************************************************
# local helper functions
#**********************************************************************************************
printUsage()
{
echo ""
echo "Usage: ${SCRIPT_NAME} [OPT] CMD"
echo ""
echo " CMD:"
echo " -h|--help Show this help"
echo ""
echo " OPT:"
echo " -c|--config-file=FILE The config file pathname (default=${V2X_CONF})"
echo ""
}
checkInputParameters()
{
if [ ! -f $V2X_RST ]; then
echo "ERROR $SCRIPT_NAME: v2x module reset lines not available"
exit 1
fi
if [ ! -f $V2X_CONF ]; then
echo "ERROR $SCRIPT_NAME: no v2x config file '${V2X_CONF}' found"
exit 1
fi
}
getConfigParameters()
{
echo "$SCRIPT_NAME: getting config parameter from $V2X_CONF"
placeholderEntry=$(grep is-placeholder-firmware $V2X_CONF | cut -d'=' -f2)
if [ "${placeholderEntry}" != "" ] && [ "${placeholderEntry}" = "true" ]; then
IS_PLACEHOLDER_FW=true
fi
}
enableTheModule()
{
pwrGpio="$(gpiofind UM_SUP_EN)"
echo "$SCRIPT_NAME: releasing v2x reset..."
echo $ON_VALUE > $V2X_RST
echo "$SCRIPT_NAME: toggling v2x module power..."
gpioset -m time -s 1 $pwrGpio=0
gpioset -m signal $pwrGpio=1 &
}
detectDfuMode()
{
timeoutS=30
echo "$SCRIPT_NAME: discovering DFU mode of v2x module (timeout=${timeoutS}s)..."
timeout $timeoutS bash -c -- 'while true; do lsusb | grep "0483:df11"; if [ $? == 0 ]; then break; fi; done'
if [ $? = 124 ]; then
echo "ERROR: v2x module is not available on usb bus"
exit 1
fi
}
waitForDfuModeExit()
{
disconnectTimeoutS=20
echo "$SCRIPT_NAME: wait for v2x module leaving DFU mode (timeout=${disconnectTimeoutS}s)..."
timeout $disconnectTimeoutS bash -c -- 'while true; do dmesg | grep "0483:df11"; if [ $? != 0 ]; then break; fi; done'
if [ $? = 124 ]; then
echo "$SCRIPT_NAME: no DFU mode exit of v2x module detected"
else
echo "$SCRIPT_NAME: v2x module exited DFU mode"
fi
}
loadFirmware()
{
echo "$SCRIPT_NAME: loading v2x firmware..."
output=$(dfu-util -d 0483:df11 -s 0x10000000 -D /lib/firmware/v2x/SECTON.packed_bin.rom 2>&1)
if [ $? != 0 ]; then
if echo "$output" | grep -i "Error during abort get_status"; then
echo "$SCRIPT_NAME: get_status abort error: ignoring"
exit 0
fi
echo "$SCRIPT_NAME: Something went wrong while uploading firmware:"
echo "$output"
exit 1
fi
}
#**********************************************************************************************
# main
#**********************************************************************************************
O=$(getopt -o hc: --long help,config-file: -- "$@") || exit 1
eval set -- "$O"
while true; do
case "${1}" in
-h|--help)
printUsage
exit 0
;;
-c|--config-file)
V2X_CONF=${2}
shift 2
;;
--)
break
;;
*)
printUsage; exit 0 ;;
esac
done
checkInputParameters
getConfigParameters
enableTheModule
detectDfuMode
if [ $IS_PLACEHOLDER_FW = true ]; then
echo "$SCRIPT_NAME: v2x placeholder firmware configured"
waitForDfuModeExit
exit 0
fi
loadFirmware
exit 0

View File

@ -1,12 +0,0 @@
[Unit]
Description=V2X Firmware loader
After=usb-hub-reset.service
[Service]
Type=oneshot
ExecStart=/usr/bin/v2x-fw-load
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=multi-user.target

View File

@ -1,2 +0,0 @@
[default]
is-placeholder-firmware=true

View File

@ -1 +0,0 @@
[default]

View File

@ -1,45 +0,0 @@
# Copyright (C) 2019 Ramon Moesching <ramon.moesching@netmodule.com>
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Murata v2x module firmware loader service"
HOMEPAGE = "www.netmodule.com"
LICENSE = "MIT"
SECTION = "bsp/firmware"
RDEPENDS_${PN} = "dfu-util usbutils coreutils"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit systemd
SRC_URI = " \
file://v2x-ieee802.11p.service \
file://v2x-fw-load \
file://v2x_dummy.rom \
file://v2x0.conf \
file://v2x0-placeholderFw.conf \
"
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
v2x-ieee802.11p.service \
"
FILES_${PN} = "${systemd_unitdir}/system ${bindir} ${nonarch_base_libdir}/firmware/v2x ${sysconfdir} "
do_install() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/v2x-ieee802.11p.service ${D}${systemd_unitdir}/system/
install -d ${D}${nonarch_base_libdir}/firmware/v2x
install -m 644 ${WORKDIR}/v2x_dummy.rom ${D}${nonarch_base_libdir}/firmware/v2x/SECTON.packed_bin.rom
install -d ${D}${sysconfdir}
if [ ! -z "${V2X_ENABLE_FW_LOAD}" ]; then
install -m 544 ${WORKDIR}/v2x0.conf ${D}${sysconfdir}
else
install -m 544 ${WORKDIR}/v2x0-placeholderFw.conf ${D}${sysconfdir}/v2x0.conf
fi
install -d ${D}${bindir}
install -m 744 ${WORKDIR}/v2x-fw-load ${D}${bindir}
}

View File

@ -1,11 +1,14 @@
[Unit]
Description=GNSS init service
After=usb-hub-reset.service v2x-ieee802.11p.service
After=v2x-ieee802.11p.service
[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness"
ExecStartPre=/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness"
ExecStart=/usr/bin/echo start
ExecStop=/usr/bin/echo stop
ExecStopPost=/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness"
RemainAfterExit=yes

View File

@ -26,4 +26,5 @@ FILES_${PN}_append = "${systemd_unitdir}/system ${bindir}"
do_install_append() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/gnss-init.service ${D}${systemd_unitdir}/system/
}

View File

@ -25,7 +25,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/gnssmgr.git;protocol=ssh;user=git;branch=master"
SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
PACKAGES =+ "${PN}-test"

View File

@ -1,21 +0,0 @@
SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
devices which speak the Qualcomm MSM Interface (QMI) protocol"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
DEPENDS = "glib-2.0 glib-2.0-native"
inherit autotools pkgconfig bash-completion gobject-introspection
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9"
PACKAGECONFIG ??= "udev mbim"
PACKAGECONFIG[udev] = ",--without-udev,libgudev"
PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"

View File

@ -9,9 +9,4 @@ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1141", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1143", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1146", ENV{ID_MM_DEVICE_PROCESS}="1"
# LARA-L6
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1341", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1342", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1343", ENV{ID_MM_DEVICE_PROCESS}="1"
LABEL="mm_netmodule_whitelist_end"

View File

@ -2,14 +2,14 @@ require recipes-connectivity/modemmanager/modemmanager_1.14.8.bb
# Use custom git repo as SRC
SRC_URI = "git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-14-netmodule;"
SRCREV ?= "35ef2f387bf53f0601901a5f08ab0f6bf57105c4"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"
# Keep only ublox plugin
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox --enable-plugin-generic"
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox"
# Exclude mbim
PACKAGECONFIG = "systemd qmi"
# Exclude mbim and qmi
PACKAGECONFIG = "systemd"
# Add whitelist rules
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

View File

@ -1,3 +1,5 @@
inherit allarch
DESCRIPTION = "Configuration files for NetworkManager"
LICENSE = "Proprietary"
@ -6,14 +8,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md
RDEPENDS_${PN} = "networkmanager"
PACKAGECONFIG ?= ""
export DEFAULT_ETH ??= "eth0"
DEFAULT_ETH ??= "eth0"
PACKAGECONFIG[unmanaged-devices] = ""
PACKAGECONFIG[ethernet-dhcp] = ""
SRC_URI = " \
file://eth0-static \
file://eth0-dhcp \
file://bridge-slave-eth0.nmconnection \
file://NetworkManager.conf \
file://00-fallback-dns.conf \
file://unmanaged-devices.conf \
@ -24,59 +25,24 @@ SRC_URI_append_am335x-nrhw20 = " \
file://system-connections-dhcp.tar.gz \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SYSTEM_CONNECTIONS = "${D}${sysconfdir}/NetworkManager/system-connections/"
do_install () {
install -d ${D}${sysconfdir}/NetworkManager/dnsmasq.d
install -d ${SYSTEM_CONNECTIONS}
install -d ${D}${sysconfdir}/NetworkManager/system-connections
install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/
install -m 0644 ${WORKDIR}/00-fallback-dns.conf ${D}${sysconfdir}/NetworkManager/dnsmasq.d/
static_ifaces=""
dhcp_ifaces=""
bridged_ifaces=""
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
# DHCP on main interface and static IP on the user module interface (if present)
dhcp_ifaces="$DEFAULT_ETH"
if ${@bb.utils.contains('MACHINE_FEATURES','user-module','true','false',d)}; then
static_ifaces="umnet0"
fi
install -m 0600 ${WORKDIR}/eth0-dhcp ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
else
# static IP either on the bridge or main interface
if ${@bb.utils.contains('MACHINE_FEATURES','user-module','true','false',d)}; then
static_ifaces="br0"
bridged_ifaces="$DEFAULT_ETH umnet0"
else
static_ifaces="$DEFAULT_ETH"
fi
install -m 0600 ${WORKDIR}/eth0-static ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
fi
for iface in $static_ifaces; do
install -m 0600 ${WORKDIR}/eth0-static ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
# Handle bridges
if ! [ "$iface" = "${iface#br}" ]; then
# Change type of main connection to bridge
sed -i "s/type=.*/type=bridge/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
printf "\n[bridge]\nstp=false\n" >> ${SYSTEM_CONNECTIONS}/$iface.nmconnection
fi
done
for iface in $dhcp_ifaces; do
install -m 0600 ${WORKDIR}/eth0-dhcp ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
done
for iface in $bridged_ifaces; do
install -m 0600 ${WORKDIR}/bridge-slave-eth0.nmconnection ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
done
# Handle HWs with different default interface
if [ "${DEFAULT_ETH}" != "eth0" ]; then
sed -i 's/eth0/${DEFAULT_ETH}/g' ${D}${sysconfdir}/NetworkManager/system-connections/*
mv ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection \
${D}${sysconfdir}/NetworkManager/system-connections/${DEFAULT_ETH}.nmconnection
fi
if ${@bb.utils.contains('PACKAGECONFIG','unmanaged-devices','true','false',d)}; then
@ -86,11 +52,11 @@ do_install () {
}
do_install_append_am335x-nrhw20() {
rm -rf ${SYSTEM_CONNECTIONS}/*
rm -rf ${D}${sysconfdir}/NetworkManager/system-connections/*
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${SYSTEM_CONNECTIONS}/
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${D}${sysconfdir}/NetworkManager/system-connections/
else
install -m 0600 ${WORKDIR}/system-connections-static/* ${SYSTEM_CONNECTIONS}/
install -m 0600 ${WORKDIR}/system-connections-static/* ${D}${sysconfdir}/NetworkManager/system-connections/
fi
}
@ -98,7 +64,7 @@ do_install_append_am335x-nrhw20() {
FILES_${PN} = " \
${sysconfdir}/NetworkManager/NetworkManager.conf \
${sysconfdir}/NetworkManager/dnsmasq.d \
${sysconfdir}/NetworkManager/system-connections \
${sysconfdir}/NetworkManager/system-connections \
${sysconfdir}/NetworkManager/conf.d \
"

View File

@ -1,12 +0,0 @@
[connection]
id=bridge-slave-eth0
type=ethernet
interface-name=eth0
master=br0
permissions=
slave-type=bridge
[ethernet]
mac-address-blacklist=
[bridge-port]

View File

@ -1,5 +1,6 @@
[connection]
id=ethernet
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
type=ethernet
interface-name=eth0
permissions=

View File

@ -1,5 +1,6 @@
[connection]
id=ethernet
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
type=ethernet
interface-name=eth0
permissions=

View File

@ -18,7 +18,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/nmubxlib.git;protocol=ssh;user=git;branch=master"
SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"

View File

@ -8,17 +8,11 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
PR = "r2"
inherit systemd
inherit allarch
RDEPENDS_${PN} = "\
firmware-ti-wl18xx \
bash \
libgpiod-tools \
"
RDEPENDS_{PN} = "firmware-ti-wl18xx"
SRC_URI = " \
file://tibluetooth.service \
file://tibluetooth.sh \
"
S = "${WORKDIR}"
@ -32,10 +26,7 @@ FILES_${PN}_append = " \
"
do_install () {
sed -i 's:BINDIR:${bindir}:g' tibluetooth.service
install -d ${D}${systemd_unitdir}/system/
install -m 0644 tibluetooth.service ${D}${systemd_unitdir}/system/tibluetooth.service
install -d ${D}${bindir}
install -m 0755 tibluetooth.sh ${D}${bindir}/tibluetooth
}

View File

@ -0,0 +1 @@
am335x-nmhw21/

View File

@ -0,0 +1,18 @@
[Unit]
Description=Attach ti bluetooth
Before=bluetooth.target
Requires=bluetooth.target
[Service]
Type=forking
ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export"
ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction"
ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value"
ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow
ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value"
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,18 @@
[Unit]
Description=Attach ti bluetooth
Before=bluetooth.target
Requires=bluetooth.target
[Service]
Type=forking
ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export"
ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction"
ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value"
ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow
ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value"
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,19 @@
[Unit]
Description=Attach ti bluetooth
Before=bluetooth.target
Requires=bluetooth.target
[Service]
Type=forking
ExecStartPre=/bin/sleep 10
ExecStartPre=-/bin/sh -c "/bin/echo 100 > /sys/class/gpio/export"
ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio100/direction"
ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio100/value"
ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow
ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio100/value"
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,18 @@
[Unit]
Description=Attach ti bluetooth
Before=bluetooth.target
Requires=bluetooth.target
[Service]
Type=forking
ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export"
ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction"
ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value"
ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow
ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value"
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -1,16 +0,0 @@
[Unit]
Description=Attach ti bluetooth
Before=bluetooth.target
Requires=bluetooth.target
Requires=dev-bluetooth0.device
After=dev-bluetooth0.device
[Service]
Type=forking
ExecStart=BINDIR/tibluetooth start
ExecStop=BINDIR/tibluetooth stop
PIDFile=/run/bluetooth0-hci.pid
[Install]
WantedBy=multi-user.target

View File

@ -1,43 +0,0 @@
#!/usr/bin/env bash
PIDFILE_GPIO=/run/bluetooth0-gpio.pid
PIDFILE_HCI=/run/bluetooth0-hci.pid
enable_bt_chip() {
BT_EN=$(gpiofind BT_EN)
gpioset -m signal ${BT_EN}=1 &
PID_GPIO=$!
echo $PID_GPIO > $PIDFILE_GPIO
}
disable_bt_chip() {
kill $(<$PIDFILE_GPIO)
}
if [ "$1" = "start" ]; then
retries=0
while [ $retries -lt 5 ]
do
enable_bt_chip
if HCI_LOG=$(hciattach -p /dev/bluetooth0 texas 3000000 flow ); then
# Writing PID
echo "$HCI_LOG" | tail -n 1 > $PIDFILE_HCI
exit 0
fi
echo "$HCI_LOG"
disable_bt_chip
((retries++))
sleep 1
done
echo "Could not start hciattach"
exit -1
elif [ "$1" = "stop" ]; then
kill $(<$PIDFILE_HCI)
disable_bt_chip
else
echo "Unknown command"
exit -1
fi

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE flash SYSTEM "flash.dtd">
<flash fisVersion="2" revision="$Rev: 100111 $">
<category cmd="SST" supply="3V">
<sectorSize>4096</sectorSize>
<device jedec="xBF2601">
<sectorCount>512</sectorCount>
</device>
<device jedec="xBF2602">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xBF2643" cmd="SST2">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="SPANSION" supply="3V">
<device jedec="x014016">
<sectorCount>1024</sectorCount>
</device>
<device jedec="x014015">
<sectorCount>512</sectorCount>
</device>
</category>
<category cmd="WINBOND" supply="3V">
<sectorSize>4096</sectorSize>
<device jedec="xEF4013">
<sectorCount>128</sectorCount>
</device>
<device jedec="xEF4014">
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF4015">
<sectorCount>512</sectorCount>
</device>
<device jedec="xEF4016">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xEF4017">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
<device jedec="xEF5014" supply="1.8V">
<cap writeSuspend="0"/>
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF6013" supply="1.8V">
<sectorCount>128</sectorCount>
</device>
<device jedec="xEF6014" supply="1.8V">
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF6015" supply="1.8V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xEF6016" supply="1.8V">
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="MACRONIX">
<sectorSize>4096</sectorSize>
<sectorCount>256</sectorCount>
<device jedec="xC22014" supply="3V"/>
<device jedec="xC22016" supply="3V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
<sectorCount>1024</sectorCount>
</device>
<device jedec="xC22515" supply="3V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22415">
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22534" supply="1.8V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
</device>
<device jedec="xC22535" supply="1.8V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22536" supply="3V" cmd="MACRONIX2">
<cap writeSuspend="1"/>
<minEraseSuspend>9600</minEraseSuspend>
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="GIGADEVICE">
<device jedec="xC84013" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>128/</sectorCount>
</device>
<device jedec="xC84014" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>256/</sectorCount>
</device>
<device jedec="xC84015" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>512/</sectorCount>
</device>
<device jedec="xC84016" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>1024/</sectorCount>
</device>
</category>
<device cmd="MICRON" jedec="x20BA16" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>1024/</sectorCount>
</device>
<category cmd="EON">
<device jedec="x1C3013">
<sectorCount>128</sectorCount>
<!-- this device needs a min CS high time of 100ns between two reads -->
<cfg>0x000010CC</cfg>
</device>
<device jedec="x1C3014">
<sectorCount>256</sectorCount>
</device>
<device jedec="x1C7015">
<sectorCount>512</sectorCount>
</device>
</category>
<category cmd="EON" supply="1.8V">
<!-- these devices needs a min CS high time of 30ns between two reads -->
<cfg>0x000004CC</cfg>
<device jedec="x1C3814">
<sectorCount>256</sectorCount>
</device>
<device jedec="x1C3815">
<sectorCount>512</sectorCount>
</device>
<device jedec="x1C3816">
<sectorCount>1024</sectorCount>
</device>
<device jedec="x1C3817">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="FIDELIX">
<device jedec="xF83214">
<sectorCount>256</sectorCount>
</device>
<device jedec="xF83215">
<sectorCount>512</sectorCount>
</device>
<device jedec="xF84214" supply="1.8V">
<sectorCount>256</sectorCount>
</device>
<device jedec="xF84215" supply="1.8V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xF84216" supply="1.8V">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xF84217" supply="1.8V">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- % Don't touch anything below here. This is autogenerated! % -->
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<cmdset name="EON">
<length>4032</length>
<checksum>4ae9f731</checksum>
<code>021e2406c130140000100000000800005a000000cc020000e02e0000100000008900000025010000b1010000490400003d02000000000000b9ab03ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5234e2148f16a012201eb0005214913460a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd10a4d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bd0000006cdc0200a001400020004006ffffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd18ffffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd8cfeffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08ffefdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000f4fbffff0020004000a00140</code>
</cmdset>
<cmdset name="FIDELIX">
<length>4032</length>
<checksum>b2daeed8</checksum>
<code>021e5c08c130140000100000800000005a000000cc0a0000e02e000010000000890000008901000015020000ad040000a102000089060000b9ab03ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="GIGADEVICE">
<length>4032</length>
<checksum>853b6a2b</checksum>
<code>021a5c08c840130000100000800000000a000000cc020000e02e000010000000890000008901000015020000ad040000a102000089060000000000ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MACRONIX">
<length>4032</length>
<checksum>215f4423</checksum>
<code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffffb030005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MACRONIX2">
<length>4032</length>
<checksum>d51ae60f</checksum>
<code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MICRON">
<length>4032</length>
<checksum>3d2ff0c5</checksum>
<code>021a480520ba1600001000000004000000000000cc020000e02e0000100000008900000013010000bd040000fb0100000b03000000000000000000ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5ff480122ff4ef16a134601eb0005fd490a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd1e74d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bdf0b5de4901240c610620c8618868c007fcd1cc600c618120c8618868c007fcd16720c8618868c007fcd1cc60d54ed24f7e44d048083efb6a012203440c614ff00500c8614ff0000c4ff480758868c007fcd112b1f86ac01a06d5cd618868c007fcd1086ac007f4d1cc600c6196f83b00c8618868c007fcd102208861c1f81cc08868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1306900f00f02c0f3031040ea0210c8618868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cc60f0bdf0b5a54c7c44c43c94f842300125a14e4ff0000c2f024bb9c6f818c03561ff23f361b368db07fcd1f56032e03561c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd194f84230f361b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f560c6f818c035610623f361b368db07fcd1f56035610224f461b368db07fcd1c0f30743f361b368db07fcd1c0f30723f361b368db07fcd1c0b2f061b068c007fcd111f8010bf061b068c007fcd1521ef7d1f560014635610522f261b268d207fcd1684b11b1da6a121a06d5f761b268d207fcd1326ad207f4d1f560fff706ff2046f0bd2de9f04f624c7c4494f842505e4a01234ff0000c4ff480784db9c2f818c01361ff25d5619568ed07fcd1d36036e01361c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd194f84250d5619568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1d360c2f818c06578ed0700d10021a0f5000013610625d5619568ed07fcd1d36013612025d5619568ed07fcd1c0f30745d5619568ed07fcd1c0f30725d5619568ed07fcd1c0b2d0619068c007fcd1d360a06909b1012500e00025244f0db1fe6a3144fe6a136106444ff0050ac2f81ca09068c007fcd1dff884e04ff0e02bb94665b1d9f82c00471a06d5801b06d4dbf8040d10ea0e0f01d0d36009e0c2f81c809068c007fcd1106ac007e9d1d3609c46bcf1000f01d002242ae0136194f84000d0619068c007fcd1d36001461361c2f81ca09468e407fcd14c46454611b1e66a361a13d5d5610be0006cdc0200a001400020004006ffffff30fdffff016002009668f607efd1166af607e7d1d3600124fff72ffe2046bde8f08f000010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd80fbffff00200040</code>
</cmdset>
<cmdset name="SPANSION">
<length>4032</length>
<checksum>2b5e2d56</checksum>
<code>021bbc08ef401300001000008000000002000000cc000000e02e00001000000089000000e9010000750200000d05000001030000e9060000b9ab06ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="SST">
<length>4032</length>
<checksum>7df33088</checksum>
<code>021b6804bf26020000100000000400000000000bc5000000e02e0000100000000f0100008900000000000000ad030000cf010000e502000000000000ffffffff00000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5f2480021816101240461ff21c1618168c907fcd1c46004613821c1618168c907fcd1c4600221816104616621c1618168c907fcd1c46000bf00bf00bf00bf04619921c1618168c907fcd1c460e14ddf49eb6a01220b4404614ff00501c1618168c907fcd14ff4807622b1e96ac91a01d4c46070bdc6618168c907fcd1016a0906f2d4f5e7f0b5d04901240c616620c8618868c007fcd1cc6000bf00bf00bf00bf0c619920c8618868c007fcd1cc60c84dc748eb6a012203440c614ff0050cc1f81cc04ff000074ff480768868c007fcd112b1e86ac01a06d5ce618868c007fcd1086a0006f4d4cc600c610620c8618868c007fcd1cc600a200c614222ca618a68d207fcd1cf618a68d207fcd1401ef9d1cc60eb6a4bf6803201201a440c61c1f81cc08b68db07fcd120b1eb6a9b1a01d4cc60f0bdce618b68db07fcd10b6a1b06f2d4f5e72de9f04fa04b0124a0f500001c610527df619a68d207fcd14ff48078c3f81c809a68d207fcd1dc601a6a12f00c0f02d00320bde8f08f1c610622da619a68d207fcd1dc601c612022da619a68d207fcd1c0f30742da619a68d207fcd1c0f30722da619a68d207fcd1c0b2d8619868c007fcd1dc6087487844c06d09b1012200e00022824e0ab1f56a2944f56a1c610544b946df614ff0000b9868c007fcd17d4f4ff0e02a62b1f06ab0eb010c05d5401b06d4daf8040d384202d0dc60584609e0c3f81c809868c007fcd1186a0006e9d42046dc6008b10220abe71c61b020d8619868c007fcd1dc6000210a461c61c3f81c909868c007fcd112b1f06a401a07d5c3f81c809868c007fcd1186a0006f3d4dc6001208de72de9f04f5a4b01241c613021d9619968c907fcd1dc6059497944b839c96d08b1012200e00022dff8508112b1d8f82c502844d8f82c501c610d444ff0050ac3f81ca04ff0000b4ff480769968c907fcd14b4f4ff0e0296ab1d8f82c10b1eb000c05d5491b06d4d9f8041d394202d0dc60584608e0de619968c907fcd1196a0906e9d42046dc60e8b91c61b020d8619868c007fcd1dc6000210a461c61c3f81ca09868c007fcd11ab1d8f82c00401a06d5de619868c007fcd1186a0006f3d4dc6001202be7022029e7f0b5294b01241c610525dd619e68f607fcd14ff48077df619e68f607fcd1dc601e6a16f00c0f01d00320f0bd1c610626de619e68f607fcd1dc601c610226de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c61dd619868c007fcd1094d12b1e86a401a06d5df619868c007fcd1186a0006f4d4dc600220f0bd000000200040006cdc0200a00140b8fdffff01600200</code>
</cmdset>
<cmdset name="SST2">
<length>4032</length>
<checksum>7ee13dd7</checksum>
<code>021b1409bf26430000100000000800005a000000cc000000e02e0000100000008900000041020000cd020000650500005903000041070000000000ebffffffffb03000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000feb5654a7a4492f84200002501246349260240b98d610c61ff20c8618868c007fcd1cc602ce00c61cd618868c007fcd1cd618868c007fcd1cd618868c007fcd192f84200c8618868c007fcd1cd618868c007fcd1cd618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1cc608d61484f4748fb6a012203440c614ff00500c8618868c007fcd112b1f86ac01a06d5ce618868c007fcd1086ac007f4d1cc600c610620c8618a68d207fcd1cc600c61cc618a68d207fcd1cd618a68d207fcd10222ca618a68d207fcd1cc600c61c8618868c007fcd1cc600c619820c8618868c007fcd1cc600c610327cf618868c007fcd1cd618868c007fcd1cd618868c007fcd11820c8618868c007fcd16b46ce618a68d207fcd10a6a1a54401c0328f6d3cc600c61cf618868c007fcd19df802008038c8618868c007fcd19df80100c8618868c007fcd19df80000c8618868c007fcd1ce618a68d207fcd10f6a421c1f5410460c2af5d3cc600b490098884209d10a490198884205d109490298884201d108480571febd0000b4ffffff00200040006cdc0200a00140312e30302028353938343329204e002010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdfcfdffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd70fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08fe2fcffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000d8faffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000faf8ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="WINBOND">
<length>4032</length>
<checksum>94ad0fde</checksum>
<code>021bbc08ef401300001000008000000002000000c4000000e02e00001000000089000000e9010000750200000d05000001030000e9060000000000e3ffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code>
</cmdset>
</flash>

View File

@ -0,0 +1,13 @@
#!/usr/bin/env sh
systemctl stop gpsd
systemctl stop gpsd.socket
killall gpsd
killall ser2net
fwupdate -p /dev/ttyS3 -F /lib/firmware/ubx-fw-flash.xml /lib/firmware/UBX_M8_301_ADR_421_NEO_M8L.bin
if [ $? -eq 0 ]; then
echo "Firmware update was successful, please do a full power cycle of the device"
else
echo "Firmware update failed"
fi

View File

@ -0,0 +1,42 @@
SUMMARY = "FW update tool for ublox NEO-M8L"
DESCRIPTION = "Fw update tool for ublox NEO-M8L"
SECTION = "utils"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
DEPENDS = "ncurses"
SRC_URI = "file://ubx-fw-update.tar.gz \
file://flash.xml \
file://UBX_M8_301_ADR_421_NEO_M8L.bin \
file://gnss-fw-update \
"
PACKAGECONFIG ?= ""
PACKAGECONFIG[ubx-tool-only] = ""
S = "${WORKDIR}/ubx-fw-update"
do_compile() {
oe_runmake
}
do_install() {
install -d ${D}${bindir}
install -m 0755 fwupdate ${D}${bindir}/
if ! ${@bb.utils.contains('PACKAGECONFIG','ubx-tool-only','true','false',d)}; then
install -m 0755 ../gnss-fw-update ${D}${bindir}/
install -d ${D}${nonarch_base_libdir}/firmware/
install -m 0644 ../UBX_M8_301_ADR_421_NEO_M8L.bin ${D}${nonarch_base_libdir}/firmware/
install -m 0644 ../flash.xml ${D}${nonarch_base_libdir}/firmware/ubx-fw-flash.xml
fi
}
FILES_${PN} = " \
${bindir} \
${nonarch_base_libdir} \
"

View File

@ -0,0 +1,26 @@
DESCRIPTION = "Configuration binary wlconf for ti wifi chips"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "git://gitlab.com/netmodule/tools/wlconf-bin.git;protocol=ssh;user=git;branch=master"
S = "${WORKDIR}/git"
SRCREV = "${AUTOREV}"
INSTALLPATH = "${nonarch_base_libdir}/firmware/ti-connectivity"
CONFIGBINARY = "wl18xx-conf.bin"
FILES_${PN} += "${nonarch_base_libdir}/firmware/"
do_install () {
install -d ${D}/${INSTALLPATH}
if ls ${S}/wlconf-8.7.3/bin/${MACHINE}/${CONFIGBINARY} 1> /dev/null 2>&1 ; then
install -m 0644 ${S}/wlconf-8.7.3/bin/${MACHINE}/${CONFIGBINARY} ${D}/${INSTALLPATH}
ln -sfr ${D}/${INSTALLPATH}/${CONFIGBINARY} ${D}${nonarch_base_libdir}/firmware/${CONFIGBINARY}
fi
}

View File

@ -8,12 +8,10 @@ RDEPENDS_${PN} += " \
python3-setuptools \
python3-configparser \
python3-systemd \
lmsensors-sensors \
lmsensors-config-libsensors \
"
DEPENDS = "python3-setuptools-git-version-native"
inherit gitpkgv systemd allarch
inherit gitpkgv systemd
# Package Version (built from tags)
@ -23,7 +21,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRCREV = "f885ccb90b31c90bfed0b6d62c26ad64d69805c1"
SRCREV ?= "${AUTOREV}"
SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \
file://wwan-config@.service \
file://default.conf \
@ -32,31 +30,27 @@ S = "${WORKDIR}/git"
inherit setuptools3
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_configure_prepend() {
cp ${S}/platforms/${MACHINE}/* ${S}/wwan_config
}
do_install_append() {
install -d ${D}/${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/wwan-config@.service ${D}/${systemd_unitdir}/system/
install -d ${D}/${sysconfdir}/wwan
if [ ! -z "${WWAN_NBR}" ] ; then
install -d ${D}${sysconfdir}/systemd/system/multi-user.target.requires/
install -d ${D}${sysconfdir}/systemd/system/multi-user.target.wants/
for i in `seq 0 ${WWAN_NBR}`; do
if [ $i = ${WWAN_NBR} ]; then continue; fi
if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ] ; then
ln -sf ${systemd_unitdir}/system/wwan-config@.service \
${D}${sysconfdir}/systemd/system/multi-user.target.requires/wwan-config@wwan$i.service
${D}${sysconfdir}/systemd/system/multi-user.target.wants/wwan-config@wwan$i.service
fi
install -m 0644 ${WORKDIR}/default.conf ${D}${sysconfdir}/wwan/wwan$i.conf
if [ ! -z "${NM_WWAN_APN}" ]; then
sed -i 's/apn=/apn=${NM_WWAN_APN}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
if [ ! -z "${NM_WWAN_USER}" ]; then
sed -i 's/user=/user=${NM_WWAN_USER}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
if [ ! -z "${NM_WWAN_PASSWORD}" ]; then
sed -i 's/password=/password=${NM_WWAN_PASSWORD}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
done
fi
}

View File

@ -3,7 +3,6 @@
#
# Define a private APN to be used by the modem
# ! ONLY REQUIRED WHEN USING UBLOX TOBY-L2, will be ignored for other modems
#
# Required fields:
# apn: Name of the access point
@ -41,7 +40,6 @@ SIM=auto
# - Bridge : The modem will only act as a Bridge between the local and the GSM network.
#
# usb_profile (+UUSBCONF) :
# ! ONLY USED WITH TOBY-L2, will be ignored for other modems
# Select between different network/usb interfaces :
# - RNDIS
# - ECM

View File

@ -7,11 +7,6 @@ ExecStart=/usr/bin/wwan-config %I
PIDFile=/run/%I.pid
Restart=on-failure
Nice=-20
# Start time may include power cycles and start of ModemManager
TimeoutStartSec=180
# The default kill mode is killing the subprocesses created by the "os.system"
# calls used to stop ModemManager when handling the kill signal.
KillMode=mixed
[Install]
RequiredBy=multi-user.target

View File

@ -9,8 +9,6 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
PR = "r0"
inherit python3-dir
RDEPENDS_${PN} = "python3-core python3-json"
SRC_URI = " \

View File

@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
SECTION = "base"
S = "${WORKDIR}/git"
SRCREV = "26cf27fd134036e4d756ac289764a5b5083966d2"
SRCREV = "${AUTOREV}"
SRC_URI = "git://gitlab.com/netmodule/tools/udev-rules-nmhw;protocol=ssh;user=git;branch=master;"
@ -18,8 +18,5 @@ do_install () {
if ls ${S}/machines/${MACHINE}/*.rules 1> /dev/null 2>&1 ; then
install -m 0644 ${S}/machines/${MACHINE}/*.rules ${D}${sysconfdir}/udev/rules.d/
if [ -f ${S}/machines/${MACHINE}/*.sh ]; then
install -m 0755 ${S}/machines/${MACHINE}/*.sh ${D}${sysconfdir}/udev/rules.d/
fi
fi
}

View File

@ -0,0 +1,13 @@
DESCRIPTION = "Allow loading of devicetree overlays via configfs"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
inherit module
PV = "1.0.0"
SRCREV ?= "${AUTOREV}"
SRC_URI = "git://github.com/netmodule/dt-overlay.git;protocol=https"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,37 @@
DESCRIPTION = "Allow loading of devicetree overlays via configfs"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
DEPENDS = "dtc-native"
PV = "1.0.0"
SRCREV ?= "de7143db7ec306775dad690fcaa8922202b928dc"
SRC_URI = "git://git.netmodule.intranet/nmrouter/dt-overlays.git;protocol=ssh;user=gitea"
S = "${WORKDIR}/git"
dtos = " \
am335x-nbhw16-shield-comio-gpio \
am335x-nbhw16-shield-dualcan-can \
am335x-nbhw16-shield-dualcan-dyngpio \
am335x-nbhw16-shield-dualcan-fixgpio \
"
FILES_${PN} += "${nonarch_base_libdir}/firmware"
do_compile() {
for dto in ${dtos}; do
dtc -@ -i dts -o dto -o $dto.dtbo $dto.dts
done
}
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
for dto in ${dtos}; do
install -m 0644 $dto.dtbo ${D}${nonarch_base_libdir}/firmware/
done
}

View File

@ -0,0 +1,23 @@
SUMMARY = "Device Tree Compiler"
DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
SECTION = "bootloader"
LICENSE = "GPLv2 | BSD"
DEPENDS = "flex-native bison-native"
SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git \
file://make_install.patch \
"
EXTRA_OEMAKE='PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}" NO_PYTHON=1'
CFLAGS="-Wno-error"
S = "${WORKDIR}/git"
do_install () {
oe_runmake install
}
PACKAGES =+ "${PN}-misc"
FILES_${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
RDEPENDS_${PN}-misc += "bash"

View File

@ -0,0 +1,26 @@
Upstream-Status: Inappropriate [configuration]
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2011-11-02 14:52:17.243104779 -0700
+++ git/Makefile 2011-11-02 15:06:01.555104982 -0700
@@ -18,7 +18,7 @@
CPPFLAGS = -I libfdt -I .
WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
-CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS)
+CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) $(WARNINGS)
BISON = bison
LEX = flex
@@ -161,8 +161,8 @@
$(INSTALL) -d $(DESTDIR)$(BINDIR)
$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)
$(INSTALL) -d $(DESTDIR)$(LIBDIR)
- $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
- ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
+ $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
+ ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/$(notdir $(LIBFDT_lib))
ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
$(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)

View File

@ -0,0 +1,11 @@
require dtc.inc
LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
SRCREV = "1ae2d185ddda6ca578dce5641a8a39db3117492d"
PV = "1.4.5+git${SRCPV}"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,2 +0,0 @@
# We are building one kernel for all machines with the same architecture
PACKAGE_ARCH = "${TUNE_PKGARCH}"

View File

@ -1,2 +0,0 @@
# We are building one kernel for all machines with the same architecture
PACKAGE_ARCH = "${TUNE_PKGARCH}"

Some files were not shown because too many files have changed in this diff Show More