Compare commits
152 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
a4ab48c63e | |
|
|
a3e87ec6d9 | |
|
|
7cad5c1048 | |
|
|
17c6b96ac9 | |
|
|
b12ccc01a8 | |
|
|
a2226ab942 | |
|
|
cff1dfc0c6 | |
|
|
65b0b8f377 | |
|
|
3cd38e5536 | |
|
|
25003ce8e1 | |
|
|
bc645c4c48 | |
|
|
cacadef098 | |
|
|
6dc6ddc79c | |
|
|
5d00c9807b | |
|
|
a020f9406e | |
|
|
335e778fed | |
|
|
fc29da1d42 | |
|
|
ab9518068b | |
|
|
3ba77cdf83 | |
|
|
1f8c466f7d | |
|
|
063bdd83a3 | |
|
|
230743c03d | |
|
|
6fa868f2d4 | |
|
|
3c281d8e78 | |
|
|
76457f2106 | |
|
|
275d265ee7 | |
|
|
1eb5a1a51e | |
|
|
2fca63a11b | |
|
|
9183a5f886 | |
|
|
c18ced1d01 | |
|
|
c1187b5553 | |
|
|
8f2fca9c5f | |
|
|
376186bb85 | |
|
|
a8254343f4 | |
|
|
f4fcefbc19 | |
|
|
34bdf31db0 | |
|
|
a5300c936e | |
|
|
38d78f2ba0 | |
|
|
87cf99189d | |
|
|
3dba18ccfc | |
|
|
d7bb7b2796 | |
|
|
886811e338 | |
|
|
d070d3f944 | |
|
|
5bb784bd38 | |
|
|
8b20e8ef04 | |
|
|
50916d798c | |
|
|
dae3c027be | |
|
|
43dd045696 | |
|
|
ee9b13081b | |
|
|
537291f8dd | |
|
|
9e05073856 | |
|
|
901c12f911 | |
|
|
bf8e21637a | |
|
|
d7d56c9048 | |
|
|
8b8abe9561 | |
|
|
e99985266c | |
|
|
d934b0e9d1 | |
|
|
58102512a5 | |
|
|
cd3f47b05b | |
|
|
e284973988 | |
|
|
b1540a4555 | |
|
|
7c3befb14c | |
|
|
d4799485a9 | |
|
|
2734a8b02f | |
|
|
2173bda09c | |
|
|
197b4f6f07 | |
|
|
da62ee6786 | |
|
|
54d559d706 | |
|
|
07b47e5c7d | |
|
|
180f8c8028 | |
|
|
8bc99070fa | |
|
|
27a82d21c9 | |
|
|
d887e262a8 | |
|
|
4856b5a3d8 | |
|
|
842e337481 | |
|
|
96c52172f7 | |
|
|
405c374f05 | |
|
|
514cd7fd80 | |
|
|
723c5db1de | |
|
|
17f6ca3268 | |
|
|
17fae35e5e | |
|
|
7bc85ccf32 | |
|
|
23ef02e236 | |
|
|
554d477873 | |
|
|
8c76216b9b | |
|
|
7627d49b28 | |
|
|
3efbecb49f | |
|
|
dc6566f9a6 | |
|
|
93af481ded | |
|
|
c76e078016 | |
|
|
29d4398168 | |
|
|
26e480a6e0 | |
|
|
a9ac74dac7 | |
|
|
139bb581ba | |
|
|
4d68c84dfc | |
|
|
7cdc60e983 | |
|
|
b2bb823e3c | |
|
|
b0a1d9ead2 | |
|
|
1fe3fd0780 | |
|
|
42f969ee33 | |
|
|
cac425ad89 | |
|
|
dd047c4fbd | |
|
|
898c9d60a8 | |
|
|
6204c7fbdc | |
|
|
7b757d4c9e | |
|
|
de1294228d | |
|
|
200a4ee56b | |
|
|
473fedd18b | |
|
|
1bf9ce5778 | |
|
|
1b86182dc6 | |
|
|
89440ae8d9 | |
|
|
ddd720dc11 | |
|
|
f626798f94 | |
|
|
db235c3453 | |
|
|
c18178f212 | |
|
|
b9e18a3a0b | |
|
|
21679f459f | |
|
|
29bc1b86ac | |
|
|
06295ec022 | |
|
|
8487d2fb79 | |
|
|
c3e5b9af5a | |
|
|
e367bcf0c1 | |
|
|
c2eabcb4e9 | |
|
|
09903e21fc | |
|
|
dbdef42445 | |
|
|
3c25250176 | |
|
|
2b3c3f3e9f | |
|
|
0b52ba81d1 | |
|
|
3cfed374e5 | |
|
|
0f78b1b8e5 | |
|
|
4e05cd8cf9 | |
|
|
52a03477a8 | |
|
|
007da9524c | |
|
|
5db36b3b32 | |
|
|
9a830cc206 | |
|
|
52a8c3468e | |
|
|
99ec03ae74 | |
|
|
d6ee12600f | |
|
|
b034539375 | |
|
|
70bdcc3110 | |
|
|
36546bdf67 | |
|
|
9361b9851c | |
|
|
1c8c1bb002 | |
|
|
da7ad95535 | |
|
|
3a0b031550 | |
|
|
69b1bfbdad | |
|
|
0bfb1df3f3 | |
|
|
2e9dbfea17 | |
|
|
c3cd8fb06f | |
|
|
ddec09b25f | |
|
|
17b7f134d8 | |
|
|
1ae49c5df8 |
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
inherit systemd
|
||||
|
||||
RDEPENDS_${PN} += "libgpiod-tools"
|
||||
|
||||
FILESEXTRAPATHS_append := ":${THISDIR}/files"
|
||||
|
||||
SRC_URI_append = " \
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
inherit kernel
|
||||
|
||||
do_assemble_fitimage[depends] += "fpga-image:do_deploy"
|
||||
|
||||
#
|
||||
|
|
@ -8,12 +6,12 @@ do_assemble_fitimage[depends] += "fpga-image:do_deploy"
|
|||
# $1 ... .its filename
|
||||
# $2 ... Image counter
|
||||
# $3 ... Path to fpga image
|
||||
fitimage_emit_section_fpga() {
|
||||
|
||||
cat << EOF >> ${1}
|
||||
fpga@${2} {
|
||||
fitimage_emit_section_kernel_append() {
|
||||
fpgacount=1
|
||||
cat << EOF >> ${1}
|
||||
fpga@${fpgacount} {
|
||||
description = "FPGA";
|
||||
data = /incbin/("${3}");
|
||||
data = /incbin/("${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}");
|
||||
type = "fpga";
|
||||
arch = "${UBOOT_ARCH}";
|
||||
compression = "none";
|
||||
|
|
@ -23,128 +21,3 @@ fitimage_emit_section_fpga() {
|
|||
};
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ LAYERVERSION_netmodule-bsp = "1"
|
|||
|
||||
LAYERDEPENDS_netmodule-bsp = "core"
|
||||
|
||||
LAYERSERIES_COMPAT_netmodule-bsp = "warrior"
|
||||
LAYERSERIES_COMPAT_netmodule-bsp = "dunfell"
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,10 @@
|
|||
#@DESCRIPTION: Machine configuration for the netmodule hw25, aka TC Router
|
||||
|
||||
require am335x-nmhw24.conf
|
||||
MACHINEOVERRIDES .= ":am335x-nmhw24"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-hw25"
|
||||
UBOOT_MACHINE = "am335x_hw25_defconfig"
|
||||
|
||||
KERNEL_DEVICETREE = "am335x-hw25.dtb "
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW25_DT}"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS0"
|
||||
DEFAULT_ETH = "lan0"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
#@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"
|
||||
|
|
@ -4,5 +4,10 @@
|
|||
|
||||
#require conf/machine/include/ti33x.inc
|
||||
require am335x-nmhw21.conf
|
||||
KERNEL_DEVICETREE = "am335x-hw26.dtb "
|
||||
MACHINEOVERRIDES .= ":am335x-nmhw21"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW26_DT}"
|
||||
MACHINEOVERRIDES =. "am335x-nmhw21:"
|
||||
|
||||
MACHINE_FEATURES += "pps"
|
||||
|
||||
# Remove usermodule
|
||||
USER_MODULE_MACHINE_FEATURE = ""
|
||||
|
|
|
|||
|
|
@ -6,13 +6,10 @@ require conf/machine/include/ti33x.inc
|
|||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
KERNEL_DEFCONFIG ??= "am335x-nmhw21_defconfig"
|
||||
KERNEL_DEVICETREE = "am335x-nmhw21-prod1.dtb \
|
||||
"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW21_DT}"
|
||||
|
||||
KERNEL_IMAGETYPE = "fitImage"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw21"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
|
||||
UBOOT_MACHINE = "am335x_nmhw21_defconfig"
|
||||
|
||||
USE_VT = "0"
|
||||
|
||||
|
|
@ -22,9 +19,20 @@ 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}"
|
||||
|
||||
|
|
|
|||
|
|
@ -6,13 +6,10 @@ require conf/machine/include/ti33x.inc
|
|||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
KERNEL_DEFCONFIG ??= "am335x-nmhw24_defconfig"
|
||||
KERNEL_DEVICETREE = "am335x-nmhw24-prod1.dtb \
|
||||
"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW24_DT}"
|
||||
|
||||
KERNEL_IMAGETYPE = "fitImage"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw24"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
|
||||
UBOOT_MACHINE = "am335x_nrhw24_defconfig"
|
||||
|
||||
USE_VT = "0"
|
||||
|
||||
|
|
@ -22,9 +19,12 @@ WWAN_NBR="1"
|
|||
WWAN_VENDORS = "ublox"
|
||||
|
||||
MACHINE_FEATURES += " \
|
||||
can \
|
||||
wwan \
|
||||
bluetooth \
|
||||
tibluetooth \
|
||||
atsha \
|
||||
wifi \
|
||||
ti-wifi \
|
||||
"
|
||||
|
||||
|
|
|
|||
|
|
@ -6,23 +6,22 @@ require conf/machine/include/ti33x.inc
|
|||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
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"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW16_DT}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw16-v2"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
|
||||
UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig"
|
||||
|
||||
USE_VT = "0"
|
||||
|
||||
SERIAL_CONSOLES ?= "115200;ttyS1"
|
||||
|
||||
MACHINE_FEATURES += " \
|
||||
can \
|
||||
bluetooth \
|
||||
tibluetooth \
|
||||
atsha \
|
||||
"
|
||||
am335x-wakeup-timer \
|
||||
wifi \
|
||||
ti-wifi \
|
||||
ath-wifi \
|
||||
"
|
||||
|
|
|
|||
|
|
@ -6,12 +6,10 @@ require conf/machine/include/ti33x.inc
|
|||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
KERNEL_DEFCONFIG ??= "am335x-nrhw20_defconfig"
|
||||
KERNEL_DEVICETREE = "am335x-nrhw20-prod1.dtb \
|
||||
"
|
||||
KERNEL_IMAGETYPE = "fitImage"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW20_DT}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw20-v1"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
|
||||
UBOOT_MACHINE = "am335x_nrhw20_defconfig"
|
||||
|
||||
USE_VT = "0"
|
||||
|
||||
|
|
@ -21,8 +19,13 @@ WWAN_NBR = "1"
|
|||
WWAN_VENDORS = "ublox"
|
||||
|
||||
MACHINE_FEATURES += " \
|
||||
can \
|
||||
wwan \
|
||||
gnss \
|
||||
bluetooth \
|
||||
tibluetooth \
|
||||
atsha \
|
||||
"
|
||||
wifi \
|
||||
ti-wifi \
|
||||
ath-wifi \
|
||||
"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
#@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 \
|
||||
"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#@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"
|
||||
|
||||
|
|
@ -7,19 +7,19 @@ require conf/machine/include/armada.inc
|
|||
SERIAL_CONSOLE = "115200 ttyS1"
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
KERNEL_DEFCONFIG ??= "armada-385-nrhw18_defconfig"
|
||||
KERNEL_DEVICETREE = "armada-385-nrhw18-prod1.dtb"
|
||||
KERNEL_IMAGETYPE = "fitImage"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW18_DT}"
|
||||
|
||||
KERNEL_MODULE_PROBECONF += "ath10k_pci"
|
||||
module_conf_ath10k_pci = "options ath10k_pci irq_mode=1"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada-385-nrhw18-v2"
|
||||
IMAGE_BOOT_FILES = "u-boot-armada-385-nrhw18-v2.kwb"
|
||||
UBOOT_MACHINE = "armada-385-hw18_defconfig"
|
||||
IMAGE_BOOT_FILES = "u-boot-armada-385-hw18.kwb"
|
||||
|
||||
DEFAULT_ETH = "eth2"
|
||||
|
||||
MACHINE_FEATURES += " \
|
||||
fpga \
|
||||
atsha \
|
||||
"
|
||||
wifi \
|
||||
ath-wifi \
|
||||
"
|
||||
|
|
|
|||
|
|
@ -17,9 +17,6 @@ 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"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#@DESCRIPTION: Machine configuration for the netmodule HW23, DLM variant
|
||||
|
||||
require imx8-nmhw23.conf
|
||||
KERNEL_DEVICETREE = "netmodule/imx8-nmhw23-dlm.dtb"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW23_DLM_DT}"
|
||||
MACHINEOVERRIDES .= ":imx8-nmhw23"
|
||||
SOTA_MACHINE = "imx8-nmhw23"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,28 +1,19 @@
|
|||
#@TYPE: Machine
|
||||
#@NAME: NetModule HW 23
|
||||
#@DESCRIPTION: Machine configuration for the nmhw23 mainboard
|
||||
|
||||
require conf/machine/include/imx-base.inc
|
||||
require conf/machine/include/arm/arch-arm64.inc
|
||||
|
||||
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
|
||||
require include/imx8.inc
|
||||
|
||||
IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot"
|
||||
IMAGE_CLASSES += "image_types"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
|
||||
|
||||
KERNEL_DEFCONFIG = "defconfig"
|
||||
KERNEL_DEVICETREE = "netmodule/imx8-nmhw23.dtb"
|
||||
KERNEL_DEVICETREE_TO_USE = "${HW23_DT}"
|
||||
|
||||
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"
|
||||
|
||||
|
|
@ -40,13 +31,28 @@ 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"
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
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"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot"
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-armada"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "mvebu_db_armada8k_config"
|
||||
|
|
@ -17,10 +16,22 @@ UBOOT_ENTRYPOINT = "0x13000000"
|
|||
UBOOT_LOADADDRESS = "0x13000000"
|
||||
|
||||
# List common SoC features, may need to add touchscreen for specific machines
|
||||
MACHINE_FEATURES = "kernel26 usbgadget usbhost vfat ext2 ext4 ethernet"
|
||||
MACHINE_FEATURES = "kernel26 usbgadget usbhost pci 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}"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
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}"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-source"
|
||||
STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-build-artifacts"
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
SOC_FAMILY = "ti33x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
require netmodule-hardware.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa8thf-neon"
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
|
|
@ -20,7 +21,8 @@ GUI_MACHINE_CLASS = "bigscreen"
|
|||
MACHINE_KERNEL_PR = "r22"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule"
|
||||
PREFERRED_VERSION_linux-netmodule ?= "git-5.10"
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging"
|
||||
PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging"
|
||||
|
||||
|
|
@ -39,9 +41,29 @@ 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 vfat ext2 screen alsa ethernet sgx"
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost pci 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}"
|
||||
|
|
|
|||
|
|
@ -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://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
|
||||
"
|
||||
SRCREV ?= "${AUTOREV}"
|
||||
SRCREV ?= "413e93e10ee4838e9a68b190f1468722f6385e0e"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ DEPENDS = "zlib-native openssl-native"
|
|||
|
||||
|
||||
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
|
||||
SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCREV ?= "${AUTOREV}"
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCREV ?= "dd0234001713623c79be92b60fa88bc07b07f24f"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -2,18 +2,18 @@
|
|||
# Copyright 2017-2018 NXP
|
||||
|
||||
DESCRIPTION = "i.MX System Controller Firmware"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
|
||||
SECTION = "BSP"
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files/${MACHINE}:"
|
||||
|
||||
inherit fsl-eula-unpack deploy
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
|
||||
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[md5sum] = "3246a44a242b68fae601561a80d5925c"
|
||||
SRC_URI[sha256sum] = "00024e0dd332b402df03b62eac9a515fabc903568d0ad7f30fabc7c98b494f15"
|
||||
SRC_URI[md5sum] = "e939f40ca655afbdedabfae73863e6da"
|
||||
SRC_URI[sha256sum] = "18ef3717180ef034c1a3418d7342803f2727e4e09531e0a5db13e6f5244f2058"
|
||||
|
||||
SC_FIRMWARE_NAME_mx8qxp = "scfw_tcm_cfw.bin"
|
||||
symlink_name = "scfw_tcm.bin"
|
||||
|
|
@ -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 ?= "${AUTOREV}"
|
||||
SRCREV ?= "60269b7bbb4076247607c7a59b2134c3a5369f07"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Likely required in the future
|
||||
|
|
|
|||
|
|
@ -1,28 +1,26 @@
|
|||
DESCRIPTION = "Fpga image for NRHW18"
|
||||
DESCRIPTION = "Fpga images"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI_armada-385-nrhw18 = "file://LG00000000"
|
||||
COMPATIBLE_MACHINE = "(armada-385-hw17|armada-385-nrhw18)"
|
||||
SRC_URI = "file://LG00000000"
|
||||
|
||||
SRCREV = "${AUTOREV}"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
PV = "1.0.0"
|
||||
|
||||
|
||||
do_install_armada-385-nrhw18 () {
|
||||
do_install () {
|
||||
install -d ${D}/logic
|
||||
install -m 0644 ${WORKDIR}/LG00000000 ${D}/logic/
|
||||
}
|
||||
|
||||
do_deploy_armada-385-nrhw18 () {
|
||||
do_deploy () {
|
||||
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
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,7 @@
|
|||
chip "da9063-*"
|
||||
label in0 "main-voltage"
|
||||
ignore in1
|
||||
ignore in2
|
||||
label in3 "wwan0-supply"
|
||||
label in4 "rtc-voltage"
|
||||
label temp1 "tjunc"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
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
|
||||
|
|
@ -0,0 +1 @@
|
|||
am335x-hw26
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
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"
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
chip "da9063-*"
|
||||
label in0 "main-voltage"
|
||||
ignore in1
|
||||
ignore in2
|
||||
ignore in3
|
||||
label in4 "rtc-voltage"
|
||||
label temp1 "tjunc"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGECONFIG = ""
|
||||
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
[Unit]
|
||||
After=tibluetooth.service
|
||||
After=jody-w1-bt-init.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/mac-address-set
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/mac-address-set -b -l 1
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -1,25 +1,378 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
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/")
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
||||
if [[ $up == 0 ]]; then
|
||||
ifconfig wlan0 up
|
||||
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
|
||||
fi
|
||||
|
||||
|
||||
# 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
|
||||
main $@
|
||||
exit $?
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Before=NetworkManager.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/mac-address-set -w -l 1
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
|
|
@ -9,7 +9,8 @@ PR = "r2"
|
|||
inherit systemd
|
||||
|
||||
SRC_URI = " \
|
||||
file://mac-address-set.service \
|
||||
file://wlan-address-set.service \
|
||||
file://bt-address-set.service \
|
||||
file://mac-address-set.sh \
|
||||
"
|
||||
|
||||
|
|
@ -17,7 +18,7 @@ S = "${WORKDIR}"
|
|||
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "mac-address-set.service"
|
||||
SYSTEMD_SERVICE_${PN} = "wlan-address-set.service bt-address-set.service"
|
||||
SYSTEMD_AUTO_ENABLE ?= "enable"
|
||||
|
||||
FILES_${PN}_append = " \
|
||||
|
|
@ -25,9 +26,17 @@ FILES_${PN}_append = " \
|
|||
/usr \
|
||||
"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 mac-address-set.service ${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 -d ${D}/usr/bin
|
||||
install -m 0755 mac-address-set.sh ${D}/usr/bin/mac-address-set
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
# 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.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
#!/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
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
require u-boot-am335x-nmhw24_git.bb
|
||||
|
||||
UBOOT_MACHINE = "am335x_hw25_defconfig"
|
||||
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
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}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
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"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
require u-boot-am335x-nrhw16-common.inc
|
||||
|
||||
# Force machine configuration for this recipe
|
||||
UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig"
|
||||
|
||||
SRCREV ?= "${AUTOREV}"
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
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}
|
||||
}
|
||||
|
||||
|
|
@ -10,8 +10,8 @@ PROVIDES += "u-boot"
|
|||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
|
||||
SRCREV ?= "${AUTOREV}"
|
||||
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
|
||||
SRCREV ?= "68ad3ed09773011ab15e9dd50f9ec2bbf817ef3f"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
@ -21,6 +21,7 @@ S = "${WORKDIR}/git"
|
|||
LOCALVERSION ?= "-${SRCBRANCH}"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
UBOOT_INITIAL_ENV = ""
|
||||
|
||||
do_configure_prepend() {
|
||||
if [ ! -d ${S}/board/netmodule/common ]; then
|
||||
|
|
|
|||
|
|
@ -1,294 +1,13 @@
|
|||
SUMMARY = "Universal Boot Loader for embedded devices"
|
||||
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
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}"
|
||||
B = "${WORKDIR}/build"
|
||||
do_configure[cleandirs] = "${B}"
|
||||
UBOOT_INITIAL_ENV = ""
|
||||
|
||||
# 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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
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}
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
#!/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
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
[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
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
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}
|
||||
}
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
#!/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
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
[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
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[default]
|
||||
is-placeholder-firmware=true
|
||||
|
|
@ -0,0 +1 @@
|
|||
[default]
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# 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}
|
||||
}
|
||||
|
|
@ -1,14 +1,11 @@
|
|||
[Unit]
|
||||
Description=GNSS init service
|
||||
After=v2x-ieee802.11p.service
|
||||
After=usb-hub-reset.service v2x-ieee802.11p.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
||||
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"
|
||||
ExecStart=/usr/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness"
|
||||
|
||||
RemainAfterExit=yes
|
||||
|
||||
|
|
|
|||
|
|
@ -26,5 +26,4 @@ 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/
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 ?= "${AUTOREV}"
|
||||
SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
|
|
|||
|
|
@ -1,47 +0,0 @@
|
|||
From 9b84789c22bec237835cbee24a26e028730c4c0e Mon Sep 17 00:00:00 2001
|
||||
From: Lucien Mueller <lucien.mueller@netmodule.com>
|
||||
Date: Fri, 21 Feb 2020 17:48:24 +0100
|
||||
Subject: [PATCH] Revert "Fix the handling of defaults from the environment."
|
||||
|
||||
This reverts commit d0e0864c2802860ff561fe0b39939b63d38b8c70.
|
||||
---
|
||||
SConstruct | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/SConstruct b/SConstruct
|
||||
index 5169d8f64..46c78a959 100644
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -383,21 +383,21 @@ env['SC_PYTHON'] = sys.executable # Path to SCons Python
|
||||
# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
|
||||
# explicitly quote them or (better yet) use the "=" form of GNU option
|
||||
# settings.
|
||||
-# Scons also uses different internal names than most other build-systems.
|
||||
-# So we rely on MergeFlags/ParseFlags to do the right thing for us.
|
||||
env['STRIP'] = "strip"
|
||||
env['PKG_CONFIG'] = "pkg-config"
|
||||
-for i in ["AR", "CC", "CXX", "LD",
|
||||
- "PKG_CONFIG", "STRIP", "TAR"]:
|
||||
+for i in ["AR", "ARFLAGS", "CC", "CCFLAGS", "CFLAGS", "CXX", "CXXFLAGS", "LD",
|
||||
+ "LINKFLAGS", "PKG_CONFIG", "STRIP", "TAR"]:
|
||||
if i in os.environ:
|
||||
j = i
|
||||
if i == "LD":
|
||||
i = "SHLINK"
|
||||
- env[i] = os.getenv(j)
|
||||
-for i in ["ARFLAGS", "CFLAGS", "CXXFLAGS", "LDFLAGS", "SHLINKFLAGS",
|
||||
- "CPPFLAGS", "CCFLAGS", "LINKFLAGS"]:
|
||||
+ if i in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
|
||||
+ env.Replace(**{j: Split(os.getenv(i))})
|
||||
+ else:
|
||||
+ env.Replace(**{j: os.getenv(i)})
|
||||
+for flag in ["LDFLAGS", "SHLINKFLAGS", "CPPFLAGS"]:
|
||||
if i in os.environ:
|
||||
- env.MergeFlags(Split(os.getenv(i)))
|
||||
+ env.MergeFlags({flag: Split(os.getenv(flag))})
|
||||
|
||||
|
||||
# Keep scan-build options in the environment
|
||||
--
|
||||
2.24.0.rc1
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
KERNEL=="ttyACM?", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", SYMLINK+="gps0"
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
From ff5af0adedb788f3a7be581e203516ae3f4a2ae9 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Tue, 24 Apr 2012 18:45:14 +0200
|
||||
Subject: [PATCH 2/6] SConstruct: prefix includepy with sysroot and drop
|
||||
sysroot from python_lib_dir
|
||||
|
||||
* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
|
||||
and with PYTHONPATH from OE it's pointing to native python dir
|
||||
|
||||
$ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
|
||||
$ python
|
||||
Python 2.7.2 (default, Apr 18 2012, 09:19:59)
|
||||
[GCC 4.6.2] on linux2
|
||||
Type "help", "copyright", "credits" or "license" for more information.
|
||||
>>> from distutils import sysconfig
|
||||
>>> sysconfig.get_config_vars('INCLUDEPY')
|
||||
['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
|
||||
>>>
|
||||
$ unset PYTHONPATH
|
||||
$ python
|
||||
Python 2.7.2 (default, Apr 18 2012, 09:19:59)
|
||||
[GCC 4.6.2] on linux2
|
||||
Type "help", "copyright", "credits" or "license" for more information.
|
||||
>>> from distutils import sysconfig
|
||||
>>> sysconfig.get_config_vars('INCLUDEPY')
|
||||
['/python2.7']
|
||||
>>> import sysconfig
|
||||
>>> sysconfig.get_config_vars('INCLUDEPY')
|
||||
['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
|
||||
* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
|
||||
returns path to target sysroot
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
|
||||
---
|
||||
SConstruct | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/SConstruct b/SConstruct
|
||||
index 6c0b9b998..cd2a10c86 100644
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -1127,7 +1127,7 @@ else:
|
||||
|
||||
# Set up configuration for target Python
|
||||
|
||||
-PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
|
||||
+PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)'
|
||||
|
||||
PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
|
||||
'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
|
||||
@@ -1674,7 +1674,7 @@ else:
|
||||
LINK=ldshared,
|
||||
SHLIBPREFIX="",
|
||||
SHLIBSUFFIX=python_config['SO'],
|
||||
- CPPPATH=[python_config['INCLUDEPY']],
|
||||
+ CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']],
|
||||
CPPFLAGS=python_config['OPT'],
|
||||
CFLAGS=python_config['BASECFLAGS'],
|
||||
CXXFLAGS=python_config['BASECFLAGS'])
|
||||
@@ -1994,12 +1994,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
|
||||
env.AddPostAction(binaryinstall, '$STRIP $TARGET')
|
||||
|
||||
if env['python']:
|
||||
- python_module_dir = str(python_libdir) + os.sep + 'gps'
|
||||
+ python_module_dir = python_libdir.replace(env['sysroot'], '') + os.sep + 'gps'
|
||||
python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
|
||||
python_built_extensions)
|
||||
if ((not env['debug'] and not env['profiling'] and
|
||||
not env['nostrip'] and not sys.platform.startswith('darwin'))):
|
||||
python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
|
||||
+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
|
||||
+ % (python_libdir, ))
|
||||
|
||||
python_modules_install = python_env.Install(DESTDIR + python_module_dir,
|
||||
python_modules)
|
||||
--
|
||||
2.24.0.rc1
|
||||
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
From 2a4b3bcde0d73a3a4a6644d5f944ac9d16023ba9 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Bunk <bunk@stusta.de>
|
||||
Date: Mon, 21 Oct 2019 13:53:25 +0300
|
||||
Subject: gps_shm_close: Free privdata
|
||||
|
||||
Previously every open/close cycle leaked privdata.
|
||||
|
||||
Signed-off-by: Adrian Bunk <bunk@stusta.de>
|
||||
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
libgps_shm.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgps_shm.c b/libgps_shm.c
|
||||
index d93972bba..12bb3760b 100644
|
||||
--- a/libgps_shm.c
|
||||
+++ b/libgps_shm.c
|
||||
@@ -163,8 +163,12 @@ int gps_shm_read(struct gps_data_t *gpsdata)
|
||||
|
||||
void gps_shm_close(struct gps_data_t *gpsdata)
|
||||
{
|
||||
- if (PRIVATE(gpsdata) && PRIVATE(gpsdata)->shmseg != NULL)
|
||||
- (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
|
||||
+ if (PRIVATE(gpsdata)) {
|
||||
+ if (PRIVATE(gpsdata)->shmseg != NULL)
|
||||
+ (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
|
||||
+ free(PRIVATE(gpsdata));
|
||||
+ gpsdata->privdata = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
int gps_shm_mainloop(struct gps_data_t *gpsdata, int timeout,
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
||||
|
||||
RDEPENDS_${PN} += "python3-pyserial"
|
||||
|
||||
SRC_URI_prepend = " \
|
||||
git://gitlab.com/netmodule/third-party/gpsd.git;protocol=ssh;user=git;branch=3.20/netmodule \
|
||||
file://60-ublox-neo.rules \
|
||||
file://0001-Revert-Fix-the-handling-of-defaults-from-the-environ.patch \
|
||||
"
|
||||
SRC_URI_remove = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz"
|
||||
|
||||
# overwrite default gpsd.service file with our configuration
|
||||
SRCREV = "${AUTOREV}"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} += "${BPN}.service \
|
||||
"
|
||||
TTY_DEVICE = "/dev/gnss0"
|
||||
|
||||
USBAUTO_STATE = "false"
|
||||
|
||||
do_install_append () {
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/60-ublox-neo.rules ${D}${sysconfdir}/udev/rules.d
|
||||
|
||||
sed -i 's|DEVICES=""|DEVICES="${TTY_DEVICE}"|g' ${D}/etc/default/gpsd.default
|
||||
sed -i 's|USBAUTO="true"|USBAUTO="${USBAUTO_STATE}"|g' ${D}/etc/default/gpsd.default
|
||||
}
|
||||
|
||||
# workaround for receipe backport: gpsd 3.19 is installing shared object files in different
|
||||
# place than expect.
|
||||
do_install_append() {
|
||||
install -p ${D}/usr/lib/gps/*.so ${D}/usr/lib/python2.7/site-packages/gps/
|
||||
}
|
||||
|
||||
do_install_append_am335x-nmhw21() {
|
||||
sed -i "s/GPSD_OPTIONS=\"\(.*\)\"/GPSD_OPTIONS=\"\1 -s 115200\"/g" ${D}${sysconfdir}/default/gpsd.default
|
||||
}
|
||||
|
||||
do_install_append_imx8-nmhw23() {
|
||||
sed -i "s/GPSD_OPTIONS=\"\(.*\)\"/GPSD_OPTIONS=\"\1 -s 115200\"/g" ${D}${sysconfdir}/default/gpsd.default
|
||||
}
|
||||
|
||||
# Service is started by gnss-mgr
|
||||
SYSTEMD_AUTO_ENABLE_am335x-nmhw21 = "disable"
|
||||
SYSTEMD_AUTO_ENABLE_imx8-nmhw23 = "disable"
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
|
||||
DEPENDS = "dbus ncurses python python3 pps-tools"
|
||||
PROVIDES = "virtual/gpsd"
|
||||
|
||||
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
|
||||
file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "b3bf88706794eb8e5f2c2543bf7ba87b"
|
||||
SRC_URI[sha256sum] = "27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39"
|
||||
|
||||
inherit scons update-rc.d python-dir pythonnative systemd update-alternatives
|
||||
|
||||
INITSCRIPT_PACKAGES = "gpsd-conf"
|
||||
INITSCRIPT_NAME = "gpsd"
|
||||
INITSCRIPT_PARAMS = "defaults 35"
|
||||
|
||||
SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
|
||||
|
||||
export STAGING_INCDIR
|
||||
export STAGING_LIBDIR
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
|
||||
PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
|
||||
PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
|
||||
PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
|
||||
EXTRA_OESCONS = " \
|
||||
sysroot=${STAGING_DIR_TARGET} \
|
||||
libQgpsmm='false' \
|
||||
debug='false' \
|
||||
nostrip='true' \
|
||||
systemd='${SYSTEMD_OESCONS}' \
|
||||
libdir='${libdir}' \
|
||||
manbuild='false' \
|
||||
${PACKAGECONFIG_CONFARGS} \
|
||||
python_libdir=${libdir} \
|
||||
"
|
||||
# this cannot be used, because then chrpath is not found and only static lib is built
|
||||
# target=${HOST_SYS}
|
||||
|
||||
do_compile_prepend() {
|
||||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
|
||||
export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
|
||||
export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
|
||||
export LINKFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
do_install_prepend() {
|
||||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
|
||||
export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
|
||||
export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
|
||||
export LINKFLAGS="${LDFLAGS}"
|
||||
|
||||
export DESTDIR="${D}"
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}/${sysconfdir}/init.d
|
||||
install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
|
||||
install -d ${D}/${sysconfdir}/default
|
||||
install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
|
||||
|
||||
#support for udev
|
||||
install -d ${D}/${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
|
||||
install -d ${D}${base_libdir}/udev/
|
||||
install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
|
||||
|
||||
#support for python
|
||||
install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
|
||||
install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
|
||||
|
||||
#support for systemd
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
|
||||
sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
|
||||
install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
|
||||
sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
|
||||
install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
|
||||
}
|
||||
|
||||
# Copying gps library to python3 site-packages.
|
||||
# This can only be done in postinst because it is not possible to get both
|
||||
# python3 and python2 site-packages at build time.
|
||||
pkg_postinst_python-pygps() {
|
||||
cp -r $D/${PYTHON_SITEPACKAGES_DIR}/gps $D/${libdir}/python3*/site-packages
|
||||
}
|
||||
|
||||
PACKAGES =+ "libgps libgpsd python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
|
||||
|
||||
RPROVIDES_${PN}-dbg += "python-pygps-dbg"
|
||||
|
||||
FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
|
||||
${libdir}/libQgpsmm.prl"
|
||||
|
||||
RDEPENDS_${PN} = "gpsd-gpsctl"
|
||||
RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
|
||||
|
||||
SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
|
||||
FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
|
||||
RDEPENDS_gpsd-udev += "udev gpsd-conf"
|
||||
|
||||
SUMMARY_libgpsd = "C service library used for communicating with gpsd"
|
||||
FILES_libgpsd = "${libdir}/libgpsd.so.*"
|
||||
|
||||
SUMMARY_libgps = "C service library used for communicating with gpsd"
|
||||
FILES_libgps = "${libdir}/libgps.so.*"
|
||||
|
||||
SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
|
||||
FILES_gpsd-conf = "${sysconfdir}"
|
||||
CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
|
||||
|
||||
SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
|
||||
FILES_gpsd-gpsctl = "${bindir}/gpsctl"
|
||||
|
||||
SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
|
||||
# Python files are required for gps/fake, required for gpsfake.
|
||||
FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so"
|
||||
RDEPENDS_gps-utils = "python-pygps"
|
||||
|
||||
SUMMARY_python-pygps = "Python bindings to gpsd"
|
||||
FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
|
||||
RDEPENDS_python-pygps = " \
|
||||
python-core \
|
||||
python-io \
|
||||
python-threading \
|
||||
python-terminal \
|
||||
gpsd \
|
||||
python-json"
|
||||
|
||||
RPROVIDES_${PN} += "${PN}-systemd"
|
||||
RREPLACES_${PN} += "${PN}-systemd"
|
||||
RCONFLICTS_${PN} += "${PN}-systemd"
|
||||
SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
|
||||
|
||||
|
||||
ALTERNATIVE_${PN} = "gpsd-defaults"
|
||||
ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
|
||||
ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
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"
|
||||
|
|
@ -9,4 +9,9 @@ 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"
|
||||
|
|
|
|||
|
|
@ -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 = "${AUTOREV}"
|
||||
SRCREV ?= "35ef2f387bf53f0601901a5f08ab0f6bf57105c4"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Keep only ublox plugin
|
||||
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox"
|
||||
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox --enable-plugin-generic"
|
||||
|
||||
# Exclude mbim and qmi
|
||||
PACKAGECONFIG = "systemd"
|
||||
# Exclude mbim
|
||||
PACKAGECONFIG = "systemd qmi"
|
||||
|
||||
# Add whitelist rules
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
inherit allarch
|
||||
|
||||
DESCRIPTION = "Configuration files for NetworkManager"
|
||||
|
||||
LICENSE = "Proprietary"
|
||||
|
|
@ -8,13 +6,14 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md
|
|||
RDEPENDS_${PN} = "networkmanager"
|
||||
PACKAGECONFIG ?= ""
|
||||
|
||||
DEFAULT_ETH ??= "eth0"
|
||||
export 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 \
|
||||
|
|
@ -25,24 +24,59 @@ 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 ${D}${sysconfdir}/NetworkManager/system-connections
|
||||
install -d ${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
|
||||
install -m 0600 ${WORKDIR}/eth0-dhcp ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
|
||||
# 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
|
||||
else
|
||||
install -m 0600 ${WORKDIR}/eth0-static ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
|
||||
# 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
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','unmanaged-devices','true','false',d)}; then
|
||||
|
|
@ -52,11 +86,11 @@ do_install () {
|
|||
}
|
||||
|
||||
do_install_append_am335x-nrhw20() {
|
||||
rm -rf ${D}${sysconfdir}/NetworkManager/system-connections/*
|
||||
rm -rf ${SYSTEM_CONNECTIONS}/*
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
|
||||
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${D}${sysconfdir}/NetworkManager/system-connections/
|
||||
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${SYSTEM_CONNECTIONS}/
|
||||
else
|
||||
install -m 0600 ${WORKDIR}/system-connections-static/* ${D}${sysconfdir}/NetworkManager/system-connections/
|
||||
install -m 0600 ${WORKDIR}/system-connections-static/* ${SYSTEM_CONNECTIONS}/
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +98,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 \
|
||||
"
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
[connection]
|
||||
id=bridge-slave-eth0
|
||||
type=ethernet
|
||||
interface-name=eth0
|
||||
master=br0
|
||||
permissions=
|
||||
slave-type=bridge
|
||||
|
||||
[ethernet]
|
||||
mac-address-blacklist=
|
||||
|
||||
[bridge-port]
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
[connection]
|
||||
id=ethernet
|
||||
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
|
||||
type=ethernet
|
||||
interface-name=eth0
|
||||
permissions=
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
[connection]
|
||||
id=ethernet
|
||||
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
|
||||
type=ethernet
|
||||
interface-name=eth0
|
||||
permissions=
|
||||
|
|
|
|||
|
|
@ -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 ?= "${AUTOREV}"
|
||||
SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,11 +8,17 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
|
|||
PR = "r2"
|
||||
|
||||
inherit systemd
|
||||
inherit allarch
|
||||
|
||||
RDEPENDS_{PN} = "firmware-ti-wl18xx"
|
||||
RDEPENDS_${PN} = "\
|
||||
firmware-ti-wl18xx \
|
||||
bash \
|
||||
libgpiod-tools \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
file://tibluetooth.service \
|
||||
file://tibluetooth.sh \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
|
@ -26,7 +32,10 @@ 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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
am335x-nmhw21/
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[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
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[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
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
[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
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[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
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
[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
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
#!/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
|
||||
Binary file not shown.
|
|
@ -1,216 +0,0 @@
|
|||
<?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>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#!/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
|
||||
Binary file not shown.
|
|
@ -1,42 +0,0 @@
|
|||
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} \
|
||||
"
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -8,10 +8,12 @@ RDEPENDS_${PN} += " \
|
|||
python3-setuptools \
|
||||
python3-configparser \
|
||||
python3-systemd \
|
||||
lmsensors-sensors \
|
||||
lmsensors-config-libsensors \
|
||||
"
|
||||
DEPENDS = "python3-setuptools-git-version-native"
|
||||
|
||||
inherit gitpkgv systemd
|
||||
inherit gitpkgv systemd allarch
|
||||
|
||||
|
||||
# Package Version (built from tags)
|
||||
|
|
@ -21,7 +23,7 @@ PV = "1.0-git${SRCPV}"
|
|||
|
||||
PR = "r1"
|
||||
|
||||
SRCREV ?= "${AUTOREV}"
|
||||
SRCREV = "f885ccb90b31c90bfed0b6d62c26ad64d69805c1"
|
||||
SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \
|
||||
file://wwan-config@.service \
|
||||
file://default.conf \
|
||||
|
|
@ -30,27 +32,31 @@ 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.wants/
|
||||
install -d ${D}${sysconfdir}/systemd/system/multi-user.target.requires/
|
||||
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.wants/wwan-config@wwan$i.service
|
||||
${D}${sysconfdir}/systemd/system/multi-user.target.requires/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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
|
||||
# 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
|
||||
|
|
@ -40,6 +41,7 @@ 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
|
||||
|
|
|
|||
|
|
@ -7,6 +7,11 @@ 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
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue