Compare commits
	
		
			No commits in common. "HEAD" and "warrior" have entirely different histories.
		
	
	
		|  | @ -3,8 +3,6 @@ | ||||||
| 
 | 
 | ||||||
| inherit systemd | inherit systemd | ||||||
| 
 | 
 | ||||||
| RDEPENDS_${PN} += "libgpiod-tools" |  | ||||||
| 
 |  | ||||||
| FILESEXTRAPATHS_append := ":${THISDIR}/files" | FILESEXTRAPATHS_append := ":${THISDIR}/files" | ||||||
| 
 | 
 | ||||||
| SRC_URI_append = " \  | SRC_URI_append = " \  | ||||||
|  |  | ||||||
|  | @ -1,3 +1,5 @@ | ||||||
|  | inherit kernel | ||||||
|  | 
 | ||||||
| do_assemble_fitimage[depends] += "fpga-image:do_deploy" | do_assemble_fitimage[depends] += "fpga-image:do_deploy" | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
|  | @ -6,12 +8,12 @@ do_assemble_fitimage[depends] += "fpga-image:do_deploy" | ||||||
| # $1 ... .its filename | # $1 ... .its filename | ||||||
| # $2 ... Image counter | # $2 ... Image counter | ||||||
| # $3 ... Path to fpga image | # $3 ... Path to fpga image | ||||||
| fitimage_emit_section_kernel_append() { | fitimage_emit_section_fpga() { | ||||||
|         fpgacount=1 | 
 | ||||||
| 	cat << EOF >> ${1} | 	cat << EOF >> ${1} | ||||||
|                 fpga@${fpgacount} { |                 fpga@${2} { | ||||||
|                         description = "FPGA"; |                         description = "FPGA"; | ||||||
|                         data = /incbin/("${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}"); |                         data = /incbin/("${3}"); | ||||||
|                         type = "fpga"; |                         type = "fpga"; | ||||||
|                         arch = "${UBOOT_ARCH}"; |                         arch = "${UBOOT_ARCH}"; | ||||||
|                         compression = "none"; |                         compression = "none"; | ||||||
|  | @ -21,3 +23,128 @@ fitimage_emit_section_kernel_append() { | ||||||
|                 }; |                 }; | ||||||
| EOF | 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" | LAYERDEPENDS_netmodule-bsp = "core" | ||||||
| 
 | 
 | ||||||
| LAYERSERIES_COMPAT_netmodule-bsp = "dunfell" | LAYERSERIES_COMPAT_netmodule-bsp = "warrior" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,10 +3,11 @@ | ||||||
| #@DESCRIPTION: Machine configuration for the netmodule hw25, aka TC Router | #@DESCRIPTION: Machine configuration for the netmodule hw25, aka TC Router | ||||||
| 
 | 
 | ||||||
| require am335x-nmhw24.conf | require am335x-nmhw24.conf | ||||||
|  | MACHINEOVERRIDES .= ":am335x-nmhw24" | ||||||
| 
 | 
 | ||||||
| UBOOT_MACHINE = "am335x_hw25_defconfig" | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-hw25" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW25_DT}" | KERNEL_DEVICETREE = "am335x-hw25.dtb " | ||||||
| 
 | 
 | ||||||
| SERIAL_CONSOLES = "115200;ttyS0" | SERIAL_CONSOLES = "115200;ttyS0" | ||||||
| DEFAULT_ETH = "lan0" | DEFAULT_ETH = "lan0" | ||||||
|  |  | ||||||
|  | @ -1,9 +0,0 @@ | ||||||
| #@TYPE: Machine |  | ||||||
| #@NAME: NetModule HW 26 with user module |  | ||||||
| #@DESCRIPTION: NG800 (hw26) was based on VCU1 (hw21), but later on, |  | ||||||
| # the new VCU pro was based on the changes done on NG800 |  | ||||||
| 
 |  | ||||||
| require am335x-hw26.conf |  | ||||||
| MACHINEOVERRIDES =. "am335x-hw26:" |  | ||||||
| 
 |  | ||||||
| USER_MODULE_MACHINE_FEATURE = "user-module" |  | ||||||
|  | @ -4,10 +4,5 @@ | ||||||
| 
 | 
 | ||||||
| #require conf/machine/include/ti33x.inc | #require conf/machine/include/ti33x.inc | ||||||
| require am335x-nmhw21.conf | require am335x-nmhw21.conf | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW26_DT}" | KERNEL_DEVICETREE = "am335x-hw26.dtb " | ||||||
| MACHINEOVERRIDES =. "am335x-nmhw21:" | MACHINEOVERRIDES .= ":am335x-nmhw21" | ||||||
| 
 |  | ||||||
| MACHINE_FEATURES += "pps" |  | ||||||
| 
 |  | ||||||
| # Remove usermodule |  | ||||||
| USER_MODULE_MACHINE_FEATURE = "" |  | ||||||
|  |  | ||||||
|  | @ -6,10 +6,13 @@ require conf/machine/include/ti33x.inc | ||||||
| 
 | 
 | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW21_DT}" | KERNEL_DEFCONFIG ??= "am335x-nmhw21_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "am335x-nmhw21-prod1.dtb \ | ||||||
|  |     " | ||||||
| 
 | 
 | ||||||
| PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x" | KERNEL_IMAGETYPE = "fitImage" | ||||||
| UBOOT_MACHINE = "am335x_nmhw21_defconfig" | 
 | ||||||
|  | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw21" | ||||||
| 
 | 
 | ||||||
| USE_VT = "0" | USE_VT = "0" | ||||||
| 
 | 
 | ||||||
|  | @ -19,20 +22,9 @@ WWAN_NBR = "1" | ||||||
| WWAN_VENDORS = "ublox" | WWAN_VENDORS = "ublox" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
| 	can \ |  | ||||||
| 	spi \ |  | ||||||
| 	imu \ |  | ||||||
| 	gnss \ |  | ||||||
| 	advanced-gnss \ |  | ||||||
| 	wwan \ | 	wwan \ | ||||||
| 	bluetooth \ | 	bluetooth \ | ||||||
| 	tibluetooth \ | 	tibluetooth \ | ||||||
| 	neo-m8l \ | 	neo-m8l \ | ||||||
| 	wifi \ |  | ||||||
| 	ti-wifi \ |  | ||||||
| 	da9063-ignition \ |  | ||||||
| " | " | ||||||
| 
 | 
 | ||||||
| USER_MODULE_MACHINE_FEATURE = "user-module" |  | ||||||
| MACHINE_FEATURES_append = " ${USER_MODULE_MACHINE_FEATURE}" |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -6,10 +6,13 @@ require conf/machine/include/ti33x.inc | ||||||
| 
 | 
 | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW24_DT}" | KERNEL_DEFCONFIG ??= "am335x-nmhw24_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "am335x-nmhw24-prod1.dtb \ | ||||||
|  |     " | ||||||
| 
 | 
 | ||||||
| PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x" | KERNEL_IMAGETYPE = "fitImage" | ||||||
| UBOOT_MACHINE = "am335x_nrhw24_defconfig" | 
 | ||||||
|  | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw24" | ||||||
| 
 | 
 | ||||||
| USE_VT = "0" | USE_VT = "0" | ||||||
| 
 | 
 | ||||||
|  | @ -19,12 +22,9 @@ WWAN_NBR="1" | ||||||
| WWAN_VENDORS = "ublox" | WWAN_VENDORS = "ublox" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
| 	can \ |  | ||||||
| 	wwan \ | 	wwan \ | ||||||
| 	bluetooth \ | 	bluetooth \ | ||||||
| 	tibluetooth \ | 	tibluetooth \ | ||||||
| 	atsha \ | 	atsha \ | ||||||
| 	wifi \ |  | ||||||
| 	ti-wifi \ |  | ||||||
| " | " | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -6,22 +6,23 @@ require conf/machine/include/ti33x.inc | ||||||
| 
 | 
 | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW16_DT}" | KERNEL_DEFCONFIG ??= "am335x-nrhw16_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "am335x-nrhw16.dtb \ | ||||||
|  |     am335x-nrhw16-prod2.dtb \ | ||||||
|  |     am335x-nrhw16-prod3.dtb \ | ||||||
|  |     am335x-nrhw16-prod4.dtb \ | ||||||
|  |     am335x-nrhw16-prod5.dtb \ | ||||||
|  |     " | ||||||
|  | KERNEL_IMAGETYPE = "fitImage" | ||||||
| 
 | 
 | ||||||
| PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x" | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw16-v2" | ||||||
| UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig" |  | ||||||
| 
 | 
 | ||||||
| USE_VT = "0" | USE_VT = "0" | ||||||
| 
 | 
 | ||||||
| SERIAL_CONSOLES ?= "115200;ttyS1" | SERIAL_CONSOLES ?= "115200;ttyS1" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
|     can \ |  | ||||||
|     bluetooth \ |     bluetooth \ | ||||||
|     tibluetooth \ |     tibluetooth \ | ||||||
|     atsha \ |     atsha \ | ||||||
|     am335x-wakeup-timer \ |  | ||||||
|     wifi \ |  | ||||||
|     ti-wifi \ |  | ||||||
|     ath-wifi \ |  | ||||||
| 	" | 	" | ||||||
|  |  | ||||||
|  | @ -6,10 +6,12 @@ require conf/machine/include/ti33x.inc | ||||||
| 
 | 
 | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW20_DT}" | KERNEL_DEFCONFIG ??= "am335x-nrhw20_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "am335x-nrhw20-prod1.dtb \ | ||||||
|  |     " | ||||||
|  | KERNEL_IMAGETYPE = "fitImage" | ||||||
| 
 | 
 | ||||||
| PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x" | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw20-v1" | ||||||
| UBOOT_MACHINE = "am335x_nrhw20_defconfig" |  | ||||||
| 
 | 
 | ||||||
| USE_VT = "0" | USE_VT = "0" | ||||||
| 
 | 
 | ||||||
|  | @ -19,13 +21,8 @@ WWAN_NBR = "1" | ||||||
| WWAN_VENDORS = "ublox" | WWAN_VENDORS = "ublox" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
|     can \ |  | ||||||
|     wwan \ |     wwan \ | ||||||
|     gnss \ |  | ||||||
|     bluetooth \ |     bluetooth \ | ||||||
|     tibluetooth \ |     tibluetooth \ | ||||||
|     atsha \ |     atsha \ | ||||||
|     wifi \ |  | ||||||
|     ti-wifi \ |  | ||||||
|     ath-wifi \ |  | ||||||
| 	" | 	" | ||||||
|  |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| #@TYPE: Machine |  | ||||||
| #@NAME: HW17 based routers like NB2800 |  | ||||||
| #@DESCRIPTION: Machine configuration for the HW17 based routers http://netmodule.com/en/products/vehicle-routers/NB2800 |  | ||||||
| 
 |  | ||||||
| require conf/machine/include/armada.inc |  | ||||||
| 
 |  | ||||||
| SERIAL_CONSOLE = "115200 ttyS1" |  | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" |  | ||||||
| 
 |  | ||||||
| UBOOT_MACHINE = "${MACHINE}_defconfig" |  | ||||||
| IMAGE_BOOT_FILES = "u-boot-armada-385-hw17.kwb" |  | ||||||
| 
 |  | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW17_DT}" |  | ||||||
| PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule" |  | ||||||
| 
 |  | ||||||
| MACHINE_FEATURES += " \ |  | ||||||
|     fpga \ |  | ||||||
|     atsha \ |  | ||||||
|     wifi \ |  | ||||||
|     ath-wifi \ |  | ||||||
|     " |  | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | #@TYPE: Machine | ||||||
|  | #@NAME: NBHW17 based routers like NB2800 | ||||||
|  | #@DESCRIPTION: Machine configuration for the NBHW17 based routers http://netmodule.com/en/products/vehicle-routers/NB2800 | ||||||
|  | 
 | ||||||
|  | require conf/machine/include/armada.inc | ||||||
|  | 
 | ||||||
|  | SERIAL_CONSOLE = "115200 ttyS1" | ||||||
|  | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
|  | 
 | ||||||
|  | KERNEL_DEFCONFIG ??= "nbhw_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "armada-385-nbhw17-prod1.dtb" | ||||||
|  | KERNEL_IMAGETYPE = "zImage" | ||||||
|  | 
 | ||||||
|  | PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule" | ||||||
|  | PV_pn-linux-netmodule = "4.12.0-${SRCPV}" | ||||||
|  | SRC_URI_pn-linux-netmodule = "git://github.com/netmodule/linux.git;protocol=https;branch=4.12/standard/nrhw14" | ||||||
|  | SRCREV_pn-linux-netmodule = "2fb3360ec3cf672c74321e1dbe5c04e59d1ced11" | ||||||
|  | 
 | ||||||
|  | @ -7,19 +7,19 @@ require conf/machine/include/armada.inc | ||||||
| SERIAL_CONSOLE = "115200 ttyS1" | SERIAL_CONSOLE = "115200 ttyS1" | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW18_DT}" | KERNEL_DEFCONFIG ??= "armada-385-nrhw18_defconfig" | ||||||
|  | KERNEL_DEVICETREE = "armada-385-nrhw18-prod1.dtb" | ||||||
|  | KERNEL_IMAGETYPE = "fitImage" | ||||||
| 
 | 
 | ||||||
| KERNEL_MODULE_PROBECONF += "ath10k_pci" | KERNEL_MODULE_PROBECONF += "ath10k_pci" | ||||||
| module_conf_ath10k_pci = "options ath10k_pci irq_mode=1" | module_conf_ath10k_pci = "options ath10k_pci irq_mode=1" | ||||||
| 
 | 
 | ||||||
| UBOOT_MACHINE = "armada-385-hw18_defconfig" | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada-385-nrhw18-v2" | ||||||
| IMAGE_BOOT_FILES = "u-boot-armada-385-hw18.kwb" | IMAGE_BOOT_FILES = "u-boot-armada-385-nrhw18-v2.kwb" | ||||||
| 
 | 
 | ||||||
| DEFAULT_ETH = "eth2" | DEFAULT_ETH = "eth2" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
|     fpga \ |     fpga \ | ||||||
|     atsha \ |     atsha \ | ||||||
|     wifi \ |  | ||||||
|     ath-wifi \ |  | ||||||
| 	" | 	" | ||||||
|  |  | ||||||
|  | @ -17,6 +17,9 @@ SOTA_MACHINE = "${MACHINE}" | ||||||
| KERNEL_CLASSES_append = " kernel-fitimage" | KERNEL_CLASSES_append = " kernel-fitimage" | ||||||
| 
 | 
 | ||||||
| KERNEL_IMAGETYPE = "Image" | KERNEL_IMAGETYPE = "Image" | ||||||
|  | KERNEL_IMAGETYPES = "fitImage Image" | ||||||
|  | KERNEL_IMAGETYPE_sota = "fitImage" | ||||||
|  | KERNEL_IMAGETYPES_sota = "fitImage" | ||||||
| UBOOT_ENTRYPOINT ?= "0x80020000" | UBOOT_ENTRYPOINT ?= "0x80020000" | ||||||
| UBOOT_MACHINE = "imx8qxp_mek_defconfig" | UBOOT_MACHINE = "imx8qxp_mek_defconfig" | ||||||
| IMAGE_BOOT_FILES = "flash.bin" | IMAGE_BOOT_FILES = "flash.bin" | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| #@DESCRIPTION: Machine configuration for the netmodule HW23, DLM variant | #@DESCRIPTION: Machine configuration for the netmodule HW23, DLM variant | ||||||
| 
 | 
 | ||||||
| require imx8-nmhw23.conf | require imx8-nmhw23.conf | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW23_DLM_DT}" | KERNEL_DEVICETREE = "netmodule/imx8-nmhw23-dlm.dtb" | ||||||
| MACHINEOVERRIDES .= ":imx8-nmhw23" | MACHINEOVERRIDES .= ":imx8-nmhw23" | ||||||
| SOTA_MACHINE = "imx8-nmhw23" | SOTA_MACHINE = "imx8-nmhw23" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,19 +1,28 @@ | ||||||
| #@TYPE: Machine | #@TYPE: Machine | ||||||
| #@NAME: NetModule HW 23 | #@NAME: NetModule HW 23 | ||||||
| #@DESCRIPTION: Machine configuration for the nmhw23 mainboard | #@DESCRIPTION: Machine configuration for the nmhw23 mainboard | ||||||
| require include/imx8.inc | 
 | ||||||
|  | require conf/machine/include/imx-base.inc | ||||||
|  | require conf/machine/include/arm/arch-arm64.inc | ||||||
|  | 
 | ||||||
|  | MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" | ||||||
| 
 | 
 | ||||||
| IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot" | IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot" | ||||||
| IMAGE_CLASSES += "image_types" | IMAGE_CLASSES += "image_types" | ||||||
| 
 | 
 | ||||||
| MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree" | ||||||
| 
 | 
 | ||||||
| KERNEL_DEVICETREE_TO_USE = "${HW23_DT}" | KERNEL_DEFCONFIG = "defconfig" | ||||||
|  | KERNEL_DEVICETREE = "netmodule/imx8-nmhw23.dtb" | ||||||
| 
 | 
 | ||||||
| SOTA_MACHINE = "${MACHINE}" | SOTA_MACHINE = "${MACHINE}" | ||||||
| 
 | 
 | ||||||
| KERNEL_CLASSES_append = " kernel-fitimage" | KERNEL_CLASSES_append = " kernel-fitimage" | ||||||
| 
 | 
 | ||||||
|  | KERNEL_IMAGETYPE = "fitImage" | ||||||
|  | KERNEL_IMAGETYPE_aarch64 = "fitImage" | ||||||
|  | KERNEL_ALT_IMAGETYPE = "Image" | ||||||
|  | UBOOT_ENTRYPOINT = "0x80280000" | ||||||
| #UBOOT_MACHINE = "imx8_nmhw23_defconfig" | #UBOOT_MACHINE = "imx8_nmhw23_defconfig" | ||||||
| IMAGE_BOOT_FILES = "flash.bin" | IMAGE_BOOT_FILES = "flash.bin" | ||||||
| 
 | 
 | ||||||
|  | @ -31,28 +40,13 @@ WWAN_NBR = "1" | ||||||
| WWAN_VENDORS = "ublox" | WWAN_VENDORS = "ublox" | ||||||
| 
 | 
 | ||||||
| MACHINE_FEATURES += " \ | MACHINE_FEATURES += " \ | ||||||
| 	pci \ |  | ||||||
| 	can \ |  | ||||||
| 	spi \ |  | ||||||
| 	imu \ |  | ||||||
| 	gnss \ |  | ||||||
| 	advanced-gnss \ |  | ||||||
| 	wwan \ | 	wwan \ | ||||||
| 	bluetooth \ | 	bluetooth \ | ||||||
| 	neo-m8l \ | 	neo-m8l \ | ||||||
| 	usb-hub-reset \ |  | ||||||
| 	v2x \ | 	v2x \ | ||||||
| 	imx-boot \ | 	imx-boot \ | ||||||
| 	wifi \ |  | ||||||
| 	ublox-wifi \ |  | ||||||
| 	da9063-ignition \ |  | ||||||
| " | " | ||||||
| 
 | 
 | ||||||
| ACCEPT_FSL_EULA = "1" | ACCEPT_FSL_EULA = "1" | ||||||
| 
 | 
 | ||||||
| UBLOX_FEATURES = "jody-w1-pcie" | 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,13 +1,14 @@ | ||||||
| SOC_FAMILY = "armada" | SOC_FAMILY = "armada" | ||||||
| require conf/machine/include/soc-family.inc | require conf/machine/include/soc-family.inc | ||||||
| require netmodule-hardware.inc |  | ||||||
| 
 | 
 | ||||||
| DEFAULTTUNE ?= "cortexa9thf-neon" | DEFAULTTUNE ?= "cortexa9thf-neon" | ||||||
| require conf/machine/include/tune-cortexa9.inc | require conf/machine/include/tune-cortexa9.inc | ||||||
| 
 | 
 | ||||||
| # Default providers, may need to override for specific machines
 | # Default providers, may need to override for specific machines
 | ||||||
| PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada" | PREFERRED_PROVIDER_virtual/bootloader = "u-boot" | ||||||
| PREFERRED_PROVIDER_u-boot = "u-boot-armada" | PREFERRED_PROVIDER_u-boot = "u-boot" | ||||||
|  | 
 | ||||||
|  | KERNEL_IMAGETYPE = "zImage" | ||||||
| 
 | 
 | ||||||
| UBOOT_ARCH = "arm" | UBOOT_ARCH = "arm" | ||||||
| UBOOT_MACHINE = "mvebu_db_armada8k_config" | UBOOT_MACHINE = "mvebu_db_armada8k_config" | ||||||
|  | @ -16,22 +17,10 @@ UBOOT_ENTRYPOINT = "0x13000000" | ||||||
| UBOOT_LOADADDRESS = "0x13000000" | UBOOT_LOADADDRESS = "0x13000000" | ||||||
| 
 | 
 | ||||||
| # List common SoC features, may need to add touchscreen for specific machines
 | # List common SoC features, may need to add touchscreen for specific machines
 | ||||||
| MACHINE_FEATURES = "kernel26 usbgadget usbhost pci vfat ext2 ext4 ethernet" | MACHINE_FEATURES = "kernel26 usbgadget usbhost vfat ext2 ext4 ethernet" | ||||||
| 
 | 
 | ||||||
| SOTA_MACHINE = "armada-385" | SOTA_MACHINE = "armada-385" | ||||||
| 
 | 
 | ||||||
| NM_TARGET = "netbolt" | NM_TARGET = "netbolt" | ||||||
| NM_ARCH = "arm" | NM_ARCH = "arm" | ||||||
| MACHINEOVERRIDES =. "${NM_TARGET}:" | 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}" |  | ||||||
|  |  | ||||||
|  | @ -1,24 +0,0 @@ | ||||||
| require conf/machine/include/imx-base.inc |  | ||||||
| require netmodule-hardware.inc |  | ||||||
| 
 |  | ||||||
| # Prevent the use of imx mainline BSP
 |  | ||||||
| IMX_DEFAULT_BSP = "" |  | ||||||
| 
 |  | ||||||
| # Prevent usage of dynamic-packagearch for the kernel
 |  | ||||||
| MACHINE_ARCH_FILTER = "" |  | ||||||
| 
 |  | ||||||
| require conf/machine/include/tune-cortexa35.inc |  | ||||||
| 
 |  | ||||||
| MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" |  | ||||||
| 
 |  | ||||||
| KERNEL_IMAGETYPE = "Image" |  | ||||||
| KERNEL_ALT_IMAGETYPE = "Image" |  | ||||||
| UBOOT_ENTRYPOINT = "0x80280000" |  | ||||||
| 
 |  | ||||||
| PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule" |  | ||||||
| PREFERRED_VERSION_linux-netmodule ?= "git-4.14-nxp" |  | ||||||
| KERNEL_DEFCONFIG = "imx8-netmodule_defconfig" |  | ||||||
| 
 |  | ||||||
| HW23_DT = "netmodule/imx8-nmhw23.dtb" |  | ||||||
| HW23_DLM_DT = "netmodule/imx8-nmhw23-dlm.dtb" |  | ||||||
| KERNEL_DEVICETREE = "${HW23_DT} ${HW23_DLM_DT}" |  | ||||||
|  | @ -1,2 +0,0 @@ | ||||||
| STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-source" |  | ||||||
| STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${TUNE_PKGARCH}/kernel-build-artifacts" |  | ||||||
|  | @ -1,6 +1,5 @@ | ||||||
| SOC_FAMILY = "ti33x" | SOC_FAMILY = "ti33x" | ||||||
| require conf/machine/include/soc-family.inc | require conf/machine/include/soc-family.inc | ||||||
| require netmodule-hardware.inc |  | ||||||
| 
 | 
 | ||||||
| DEFAULTTUNE ?= "cortexa8thf-neon" | DEFAULTTUNE ?= "cortexa8thf-neon" | ||||||
| require conf/machine/include/tune-cortexa8.inc | require conf/machine/include/tune-cortexa8.inc | ||||||
|  | @ -21,8 +20,7 @@ GUI_MACHINE_CLASS = "bigscreen" | ||||||
| MACHINE_KERNEL_PR = "r22" | MACHINE_KERNEL_PR = "r22" | ||||||
| 
 | 
 | ||||||
| # Default providers, may need to override for specific machines
 | # Default providers, may need to override for specific machines
 | ||||||
| PREFERRED_PROVIDER_virtual/kernel ?= "linux-netmodule" | PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline" | ||||||
| PREFERRED_VERSION_linux-netmodule ?= "git-5.10" |  | ||||||
| PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" | ||||||
| PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" | PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" | ||||||
| 
 | 
 | ||||||
|  | @ -41,29 +39,9 @@ IMAGE_BOOT_FILES = "MLO u-boot.img" | ||||||
| UBI_VOLNAME = "rootfs" | UBI_VOLNAME = "rootfs" | ||||||
| 
 | 
 | ||||||
| # List common SoC features, may need to add touchscreen for specific machines
 | # List common SoC features, may need to add touchscreen for specific machines
 | ||||||
| MACHINE_FEATURES = "kernel26 apm usbgadget usbhost pci vfat ext2 screen alsa ethernet sgx" | MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| NM_TARGET = "netbird" | NM_TARGET = "netbird" | ||||||
| NM_ARCH = "arm" | NM_ARCH = "arm" | ||||||
| MACHINEOVERRIDES =. "${NM_TARGET}:" | 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}" | PV = "1.5.0+git${SRCPV}" | ||||||
| 
 | 
 | ||||||
| SRCBRANCH = "imx_4.14.98_2.0.0_ga" | SRCBRANCH = "imx_4.14.98_2.0.0_ga" | ||||||
| SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \ | SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \ | ||||||
|            file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \ |            file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \ | ||||||
| " | " | ||||||
| SRCREV ?= "413e93e10ee4838e9a68b190f1468722f6385e0e" | SRCREV ?= "${AUTOREV}" | ||||||
| 
 | 
 | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ DEPENDS = "zlib-native openssl-native" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SRCBRANCH = "imx_4.14.98_2.0.0_ga" | SRCBRANCH = "imx_4.14.98_2.0.0_ga" | ||||||
| SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}" | SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}" | ||||||
| SRCREV ?= "dd0234001713623c79be92b60fa88bc07b07f24f" | SRCREV ?= "${AUTOREV}" | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| BOOT_TOOLS = "imx-boot-tools" | BOOT_TOOLS = "imx-boot-tools" | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -2,18 +2,18 @@ | ||||||
| # Copyright 2017-2018 NXP | # Copyright 2017-2018 NXP | ||||||
| 
 | 
 | ||||||
| DESCRIPTION = "i.MX System Controller Firmware" | DESCRIPTION = "i.MX System Controller Firmware" | ||||||
| LICENSE = "Proprietary" | LICENSE = "MIT" | ||||||
| LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" | LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db" | ||||||
| SECTION = "BSP" | SECTION = "BSP" | ||||||
| 
 | 
 | ||||||
| FILESEXTRAPATHS_prepend := "${THISDIR}/files/${MACHINE}:" | FILESEXTRAPATHS_prepend := "${THISDIR}/files/${MACHINE}:" | ||||||
| 
 | 
 | ||||||
| inherit fsl-eula-unpack deploy | inherit fsl-eula-unpack deploy | ||||||
| 
 | 
 | ||||||
| SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" | SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" | ||||||
| 
 | 
 | ||||||
| SRC_URI[md5sum] = "e939f40ca655afbdedabfae73863e6da" | SRC_URI[md5sum] = "3246a44a242b68fae601561a80d5925c" | ||||||
| SRC_URI[sha256sum] = "18ef3717180ef034c1a3418d7342803f2727e4e09531e0a5db13e6f5244f2058" | SRC_URI[sha256sum] = "00024e0dd332b402df03b62eac9a515fabc903568d0ad7f30fabc7c98b494f15" | ||||||
| 
 | 
 | ||||||
| SC_FIRMWARE_NAME_mx8qxp = "scfw_tcm_cfw.bin" | SC_FIRMWARE_NAME_mx8qxp = "scfw_tcm_cfw.bin" | ||||||
| symlink_name = "scfw_tcm.bin" | symlink_name = "scfw_tcm.bin" | ||||||
|  | @ -14,7 +14,7 @@ PKGV = "${GITPKGVTAG}" | ||||||
| PV = "1.0-git${SRCPV}" | PV = "1.0-git${SRCPV}" | ||||||
| 
 | 
 | ||||||
| SRC_URI = "git://gitlab.com/netmodule/tools/bootloader-config.git;protocol=ssh;user=git;branch=master" | SRC_URI = "git://gitlab.com/netmodule/tools/bootloader-config.git;protocol=ssh;user=git;branch=master" | ||||||
| SRCREV ?= "60269b7bbb4076247607c7a59b2134c3a5369f07" | SRCREV ?= "${AUTOREV}" | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| # Likely required in the future | # Likely required in the future | ||||||
|  |  | ||||||
|  | @ -1,26 +1,28 @@ | ||||||
| DESCRIPTION = "Fpga images" | DESCRIPTION = "Fpga image for NRHW18" | ||||||
| LICENSE = "Proprietary" | LICENSE = "Proprietary" | ||||||
| LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" | ||||||
| 
 | 
 | ||||||
| inherit deploy | inherit deploy | ||||||
| 
 | 
 | ||||||
| COMPATIBLE_MACHINE = "(armada-385-hw17|armada-385-nrhw18)" | SRC_URI_armada-385-nrhw18 = "file://LG00000000" | ||||||
| SRC_URI = "file://LG00000000" |  | ||||||
| 
 | 
 | ||||||
| PACKAGE_ARCH = "${MACHINE_ARCH}" | SRCREV = "${AUTOREV}" | ||||||
| 
 | 
 | ||||||
| PV = "1.0.0" | PV = "1.0.0" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| do_install () { | do_install_armada-385-nrhw18 () { | ||||||
|     install -d ${D}/logic |     install -d ${D}/logic | ||||||
|     install -m 0644 ${WORKDIR}/LG00000000 ${D}/logic/ |     install -m 0644 ${WORKDIR}/LG00000000 ${D}/logic/ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| do_deploy () { | do_deploy_armada-385-nrhw18 () { | ||||||
|     cp ${WORKDIR}/LG00000000 ${DEPLOYDIR}/fpga-image-${MACHINE} |     cp ${WORKDIR}/LG00000000 ${DEPLOYDIR}/fpga-image-${MACHINE} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | do_deploy(){ | ||||||
|  | } | ||||||
|  | 
 | ||||||
| FILES_${PN} += "/logic/LG00000000"  | 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.
										
									
								
							|  | @ -1,7 +0,0 @@ | ||||||
| chip "da9063-*" |  | ||||||
| 	label in0 "main-voltage" |  | ||||||
| 	ignore in1 |  | ||||||
| 	ignore in2 |  | ||||||
| 	label in3 "wwan0-supply" |  | ||||||
| 	label in4 "rtc-voltage" |  | ||||||
| 	label temp1 "tjunc" |  | ||||||
|  | @ -1,13 +0,0 @@ | ||||||
| chip "da9063-*" |  | ||||||
| 	label in0 "main-voltage" |  | ||||||
| 	label in1 "input-voltage" |  | ||||||
| 	compute in1 15.0*@, @/15.0 |  | ||||||
| 	label in2 "ignition-voltage" |  | ||||||
| 	compute in2 4.96*@, @/4.96 |  | ||||||
| 	ignore in3 |  | ||||||
| 	label in4 "rtc-voltage" |  | ||||||
| 	label temp1 "tjunc" |  | ||||||
| 
 |  | ||||||
| chip "*-mdio-*" |  | ||||||
| 	ignore in0 |  | ||||||
| 	ignore temp1 |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| am335x-hw26 |  | ||||||
|  | @ -1,9 +0,0 @@ | ||||||
| chip "da9063-*" |  | ||||||
| 	label in0 "main-voltage" |  | ||||||
| 	label in1 "input-voltage" |  | ||||||
| 	compute in1 15.0*@, @/15.0 |  | ||||||
| 	label in2 "ignition-voltage" |  | ||||||
| 	compute in2 4.96*@, @/4.96 |  | ||||||
| 	label in3 "wwan0-supply" |  | ||||||
| 	label in4 "rtc-voltage" |  | ||||||
| 	label temp1 "tjunc" |  | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| chip "da9063-*" |  | ||||||
| 	label in0 "main-voltage" |  | ||||||
| 	ignore in1 |  | ||||||
| 	ignore in2 |  | ||||||
| 	ignore in3 |  | ||||||
| 	label in4 "rtc-voltage" |  | ||||||
| 	label temp1 "tjunc" |  | ||||||
|  | @ -1,4 +0,0 @@ | ||||||
| FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |  | ||||||
| 
 |  | ||||||
| PACKAGECONFIG = "" |  | ||||||
| 
 |  | ||||||
|  | @ -1,11 +1,9 @@ | ||||||
| [Unit] | [Unit] | ||||||
| After=tibluetooth.service | After=tibluetooth.service | ||||||
| After=jody-w1-bt-init.service |  | ||||||
| 
 | 
 | ||||||
| [Service] | [Service] | ||||||
| Type=oneshot | Type=oneshot | ||||||
| RemainAfterExit=yes | ExecStart=/usr/bin/mac-address-set | ||||||
| ExecStart=/usr/bin/mac-address-set -b -l 1 |  | ||||||
| 
 | 
 | ||||||
| [Install] | [Install] | ||||||
| WantedBy=multi-user.target | WantedBy=multi-user.target | ||||||
|  | @ -1,378 +1,25 @@ | ||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
| 
 | 
 | ||||||
| help_text=' |  | ||||||
| This script configures bluetooth and wifi mac addresses |  | ||||||
| It is using the eth0 mac address as reference and then applying |  | ||||||
| a logical operation based on the mac address range. |  | ||||||
| 
 |  | ||||||
| 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 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Returns 1 in case reset failed |  | ||||||
| # Returns 2 when the address is not correct after reset |  | ||||||
| set_and_check_bt_mac_address() { |  | ||||||
| 	address="$1" |  | ||||||
| 	addr_to_set="$address" # Because of some bug the address to set may be inverted |  | ||||||
| 	if [[ "$invert_bt_mac" -eq "1" ]]; then |  | ||||||
| 		addr_to_set=$(echo "$address" | sed -r "s/^(.{2}):(.{2}):(.{2}):(.{2}):(.{2}):(.{2})/\\6:\\5:\\4:\\3:\\2:\\1/") |  | ||||||
| 	fi |  | ||||||
| 
 |  | ||||||
| 	bdaddr "$addr_to_set" > /dev/null |  | ||||||
| 	ret=$? |  | ||||||
| 	if [ $ret -ne 0 ]; then |  | ||||||
| 		log_warning "Setting bluetooth address failed: $ret" |  | ||||||
| 	fi |  | ||||||
| 
 |  | ||||||
| 	sleep 2 |  | ||||||
| 	log_info "Restarting bluetooth service" |  | ||||||
| 	if ! hciconfig hci0 reset; then |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
| 
 |  | ||||||
| 	systemctl restart bluetooth |  | ||||||
| 	sleep 1 |  | ||||||
| 	wait_on_hci0 |  | ||||||
| 	hciconfig hci0 up |  | ||||||
| 
 |  | ||||||
| 	log_info "Checking success" |  | ||||||
| 	if hciconfig hci0 | grep -i "$address" > /dev/null; then |  | ||||||
| 		log_info "Bluetooth address successfully set" |  | ||||||
| 		ret=0 |  | ||||||
| 	else |  | ||||||
| 		log_warning "Setting bluetooth address failed without error" |  | ||||||
| 		ret=2 |  | ||||||
| 	fi |  | ||||||
| 	return $ret |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| prepare_and_set_bt_mac_address() { |  | ||||||
| 	address=$1 |  | ||||||
| 
 |  | ||||||
| 	wait_on_hci0 |  | ||||||
| 
 |  | ||||||
| 	hciconfig hci0 up |  | ||||||
| 
 |  | ||||||
| 	log_info "Setting bluetooth mac address to $address" |  | ||||||
| 	set_and_check_bt_mac_address "$address" |  | ||||||
| 	ret=$? |  | ||||||
| 
 |  | ||||||
| 	return $ret |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| do_bt_hard_reset() { |  | ||||||
| 	if systemctl is-active --quiet jody-w1-bt-init; then |  | ||||||
| 		systemctl restart jody-w1-bt-init |  | ||||||
| 	elif systemctl is-active --quiet tibluetooth; then |  | ||||||
| 		systemctl restart tibluetooth |  | ||||||
| 	else |  | ||||||
| 		log_error "No hard reset possible" |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # VCU1 scheme, starts with 7C:97:63: |  | ||||||
| # eth0:  50:XX:YY |  | ||||||
| # wlan0: 70:XX:YY |  | ||||||
| # bt0:   80:XX:YY |  | ||||||
| is_vcu1_mac() { |  | ||||||
| 	[[ ${1^^} == "7C:97:63:50:"* ]] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| vcu1_eth_to_wlan() { |  | ||||||
| 	echo "${1^^}" | sed -r "s/^(.{9})50(.{6})/\\170\\2/" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| vcu1_eth_to_bt() { |  | ||||||
| 	echo "${1^^}" | sed -r "s/^(.{9})50(.{6})/\\180\\2/" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # VCU2 scheme, starts with 00:11:2B: |  | ||||||
| # eth0:  XX:YY:ZZ |  | ||||||
| # wlan0: XX:YY:ZZ+3 |  | ||||||
| # bt0:   XX:YY:ZZ+4 |  | ||||||
| is_vcu2_mac() { |  | ||||||
| 	[[ $1 == "00:11:2B:"* ]] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| vcu2_eth_to_wlan_and_bt() { |  | ||||||
| 	iface="$1" |  | ||||||
| 	IFS=':' read -r -a digits <<< "$2" |  | ||||||
| 
 |  | ||||||
| 	# convert digits from hex to decimal |  | ||||||
| 	for ((x=0 ; x<6 ; x++)); do digits[x]=0x${digits[x]}; done |  | ||||||
| 
 |  | ||||||
| 	if [ $iface = "wlan" ]; then |  | ||||||
| 		digits[5]=$((digits[5] + 3)) |  | ||||||
| 	elif [ $iface = "bt" ]; then |  | ||||||
| 		digits[5]=$((digits[5] + 4)) |  | ||||||
| 	fi |  | ||||||
| 
 |  | ||||||
| 	mac=$(printf ":%02X" "${digits[@]}") |  | ||||||
| 	mac=${mac:1} # Remove first ":" |  | ||||||
| 
 |  | ||||||
| 	echo "$mac" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| main() { |  | ||||||
| 	ret=0 |  | ||||||
| 
 |  | ||||||
| 	if [ "$1" = "-h" ]; then |  | ||||||
| 		echo "$help_text" |  | ||||||
| 		echo "Usage:" |  | ||||||
| 		echo "  $0" |  | ||||||
| 		echo "  $0 -l <loglevel> # loglevel being between 0 (errors) and 2 (info)" |  | ||||||
| 		echo "  $0 -w # set wifi address" |  | ||||||
| 		echo "  $0 -b # set bluetooth address" |  | ||||||
| 		echo "  $0 -i # invert bluetooth address" |  | ||||||
| 		echo "  $0 -e <eth0 addr> # mac address input, e.g. 00:11:22:33:44:10" |  | ||||||
| 		exit 0 |  | ||||||
| 	fi |  | ||||||
| 
 |  | ||||||
| 	while getopts l:wbie: option |  | ||||||
| 	do  |  | ||||||
| 		case "${option}" |  | ||||||
| 		in |  | ||||||
| 			l)log_level=${OPTARG};; |  | ||||||
| 			w)set_wlan=1;; |  | ||||||
| 			b)set_bt=1;; |  | ||||||
| 			i)invert_bt_mac=1;; |  | ||||||
| 			e)eth_mac=${OPTARG};; |  | ||||||
| 		esac |  | ||||||
| 	done |  | ||||||
| 
 |  | ||||||
| 	if [ $eth_mac = 0 ]; then |  | ||||||
| eth_mac=$(ip addr show eth0 | awk '$1 == "link/ether" {gsub(/\/.*$/, "", $2); print $2}') | 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/") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Set WLAN address | ||||||
|  | ifconfig wlan0 | grep UP > /dev/null | ||||||
|  | up=$? | ||||||
|  | if [[ $up == 0 ]]; then | ||||||
|  | 	ifconfig wlan0 down | ||||||
| fi | fi | ||||||
| 	eth_mac=${eth_mac^^} # UPPER case | ip link set wlan0 address $wlan_mac | ||||||
| 	if is_vcu1_mac "$eth_mac"; then | 
 | ||||||
| 		log_info "VCU1 mac address scheme" | if [[ $up == 0 ]]; then | ||||||
| 		wlan_mac=$(vcu1_eth_to_wlan "$eth_mac") |         ifconfig wlan0 up | ||||||
| 		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 | fi | ||||||
| 
 | 
 | ||||||
| 	log_test "wlan: $wlan_mac" |  | ||||||
| 	log_test "bt: $bt_addr" |  | ||||||
| 
 | 
 | ||||||
| 	if [ $set_wlan = 1 ]; then | # Set BT address | ||||||
| 		prepare_and_set_wlan_mac_address "$wlan_mac" | bt_addr_rev=$(echo $bt_addr | sed -r "s/^(.{2}):(.{2}):(.{2}):(.{2}):(.{2}):(.{2})/\6:\5:\4:\3:\2:\1/") | ||||||
| 		ret_wlan=$? | bdaddr $bt_addr_rev | ||||||
| 		if [ $ret_wlan -ne 0 ]; then | hciconfig hci0 reset | ||||||
| 			log_error "Failed to set wlan mac address" | systemctl restart bluetooth | ||||||
| 			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 |  | ||||||
| 
 |  | ||||||
| main $@ |  | ||||||
| exit $? |  | ||||||
|  |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| [Unit] |  | ||||||
| Before=NetworkManager.service |  | ||||||
| 
 |  | ||||||
| [Service] |  | ||||||
| Type=oneshot |  | ||||||
| RemainAfterExit=yes |  | ||||||
| ExecStart=/usr/bin/mac-address-set -w -l 1 |  | ||||||
| 
 |  | ||||||
| [Install] |  | ||||||
| WantedBy=multi-user.target |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -9,8 +9,7 @@ PR = "r2" | ||||||
| inherit systemd | inherit systemd | ||||||
| 
 | 
 | ||||||
| SRC_URI =  " \ | SRC_URI =  " \ | ||||||
|     file://wlan-address-set.service \ |     file://mac-address-set.service \ | ||||||
|     file://bt-address-set.service \ |  | ||||||
|     file://mac-address-set.sh \ |     file://mac-address-set.sh \ | ||||||
|     " |     " | ||||||
| 
 | 
 | ||||||
|  | @ -18,7 +17,7 @@ S = "${WORKDIR}" | ||||||
| 
 | 
 | ||||||
| INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||||||
| 
 | 
 | ||||||
| SYSTEMD_SERVICE_${PN} = "wlan-address-set.service bt-address-set.service" | SYSTEMD_SERVICE_${PN} = "mac-address-set.service" | ||||||
| SYSTEMD_AUTO_ENABLE ?= "enable" | SYSTEMD_AUTO_ENABLE ?= "enable" | ||||||
| 
 | 
 | ||||||
| FILES_${PN}_append = " \ | FILES_${PN}_append = " \ | ||||||
|  | @ -26,17 +25,9 @@ FILES_${PN}_append = " \ | ||||||
|                     /usr \ |                     /usr \ | ||||||
|                     " |                     " | ||||||
| 
 | 
 | ||||||
| PACKAGE_ARCH = "${MACHINE_ARCH}" |  | ||||||
| 
 |  | ||||||
| do_install () { | do_install () { | ||||||
|     install -d ${D}${systemd_unitdir}/system/ |     install -d ${D}${systemd_unitdir}/system/ | ||||||
|     install -m 0644 wlan-address-set.service ${D}${systemd_unitdir}/system/ |     install -m 0644 mac-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 -d ${D}/usr/bin | ||||||
|     install -m 0755 mac-address-set.sh ${D}/usr/bin/mac-address-set |     install -m 0755 mac-address-set.sh ${D}/usr/bin/mac-address-set | ||||||
|  |  | ||||||
|  | @ -1,48 +0,0 @@ | ||||||
| # bash-assert |  | ||||||
| 
 |  | ||||||
| testify is a lightweight unit testing framework for bash |  | ||||||
| 
 |  | ||||||
| # Usage |  | ||||||
| 
 |  | ||||||
| clone this repository `git clone https://github.com/zombieleet/testify.git` here. |  | ||||||
| 
 |  | ||||||
| run the mac-address-set-test.sh file and check the console output. |  | ||||||
| 
 |  | ||||||
| # Commands |  | ||||||
| 
 |  | ||||||
| all subcommands to the assert functions requres 4 arguments, the first argument is the actual value to test for, while the second argument  |  | ||||||
| is the expected value, the thrid argument is a description of the test , while the fourth argument is a short description of what the test output should be |  | ||||||
| 
 |  | ||||||
| **expect** Compares two values |  | ||||||
|         |  | ||||||
|  	`assert expect "$(Name 'Jane' 'Doe')" "John Doe" "Test for Name Function" "should fail"` |  | ||||||
| 	 |  | ||||||
| 	To test the output of a function you have to use command substitution |  | ||||||
| 
 |  | ||||||
| 	You can also test single values |  | ||||||
| 
 |  | ||||||
| 	`assert expect "victory" "favour" "Test for Name comparison" "This should fail"` |  | ||||||
| 	 |  | ||||||
| 	testing for mathematical expressions |  | ||||||
| 	 |  | ||||||
| 	`assert expect "$((2+2))" "4" "Test for Simple Math Operation" "It should succeed"` |  | ||||||
| 	 |  | ||||||
| 
 |  | ||||||
| **regex** Does a regular expression match. The second argument to this subcommand should be a regular expression |  | ||||||
| 
 |  | ||||||
| 	`assert regex "What is the difference between 6 and half a dozen" "[[:digit:]]" "Match Number Regular Expression" "It should succeed"` |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| **status** Test for any status code. The second argument should be the expected status code. The first argument to this subcommand should be a command name, and it should not be passed as a command substitution but it should be passed as just a string wrapped in double quotes. |  | ||||||
| The arguments to the function should also be in the double quotes. Arguments with spaced should be wrapped in single quotes |  | ||||||
| 
 |  | ||||||
| 	`assert status "ls ." "0" "List in current dir" "it should return 0"` |  | ||||||
| 
 |  | ||||||
| **done** This should be last subcommand to call, it does not require any argument |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # LICENSE |  | ||||||
| 
 |  | ||||||
| GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or  (at your option) any later version. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -1,51 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| source ../files/mac-address-set.sh testify |  | ||||||
| source ./testify/testify.bash |  | ||||||
| 
 |  | ||||||
| assert expect "$(log_error 'test')" "$0: error: test" "Test for Error logging" "should succeed" |  | ||||||
| assert expect "$(log_info 'test')" "$0: info: test" "Test for Info logging" "should succeed" |  | ||||||
| 
 |  | ||||||
| # Testing VCU1 mac address converter |  | ||||||
| assert expect "$(vcu1_eth_to_wlan '7C:97:63:50:00:00')" "7C:97:63:70:00:00" "Test VCU1 WLAN 1" "should match" |  | ||||||
| assert expect "$(vcu1_eth_to_wlan '7c:97:63:50:00:00')" "7C:97:63:70:00:00" "Test VCU1 WLAN 2" "should match" |  | ||||||
| 
 |  | ||||||
| assert expect "$(vcu1_eth_to_bt '7C:97:63:50:00:0A')" "7C:97:63:80:00:0A" "Test VCU1 BT 1" "should match" |  | ||||||
| assert expect "$(vcu1_eth_to_bt '7c:97:63:50:00:0a')" "7C:97:63:80:00:0A" "Test VCU1 BT 2" "should match" |  | ||||||
| 
 |  | ||||||
| # Testing VCU2 mac address converter |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:aa:cd:00')" "00:11:2B:AA:CD:03" "Test VCU2 WLAN 1" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2B:AA:CD:00')" "00:11:2B:AA:CD:03" "Test VCU2 WLAN 2" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:39')" "00:11:2B:00:00:3C" "Test VCU2 WLAN 3" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f0')" "00:11:2B:00:00:F3" "Test VCU2 WLAN 4" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f6')" "00:11:2B:00:00:F9" "Test VCU2 WLAN 5" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:f7')" "00:11:2B:00:00:FA" "Test VCU2 WLAN 6" "should match" |  | ||||||
| #assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:RS')" "" "Test VCU2 WLAN 7" "should match" |  | ||||||
| #assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:FF')" "" "Test VCU2 WLAN 8" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:06')" "00:11:2B:00:00:09" "Test VCU2 WLAN 9" "should match" |  | ||||||
| 
 |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:aa:cd:00')" "00:11:2B:AA:CD:04" "Test VCU2 BT 1" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2B:AA:CD:00')" "00:11:2B:AA:CD:04" "Test VCU2 BT 2" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:39')" "00:11:2B:00:00:3D" "Test VCU2 BT 3" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f0')" "00:11:2B:00:00:F4" "Test VCU2 BT 4" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f6')" "00:11:2B:00:00:FA" "Test VCU2 BT 5" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:f7')" "00:11:2B:00:00:FB" "Test VCU2 BT 6" "should match" |  | ||||||
| #assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:RS')" "" "Test VCU2 BT 7" "should match" |  | ||||||
| #assert expect "$(vcu2_eth_to_wlan_and_bt 'wlan' '00:11:2b:00:00:FF')" "" "Test VCU2 BT 8" "should match" |  | ||||||
| assert expect "$(vcu2_eth_to_wlan_and_bt 'bt' '00:11:2b:00:00:06')" "00:11:2B:00:00:0A" "Test VCU2 BT 9" "should match" |  | ||||||
| 
 |  | ||||||
| # Examples: |  | ||||||
| #assert expect "$(Name 'Jane' 'Doe')" "John Doe" "Test for Name Function" "should fail" |  | ||||||
| #assert expect "$(Name 'Jane' 'Doe')" "Jane Doe" "Test for Name Function" "should succeed" |  | ||||||
| #assert status "Name" "5" "Test for status code" "should return 5" |  | ||||||
| #assert status "Name 'Jane' 'Doe'" "0" "Test for Status Code" "should return 0" |  | ||||||
| #assert status "Name 'Jane' " "3" "Test for Status Code" "should return 3" |  | ||||||
| #assert status "Name 'Jane' 'Doe'" "12" "Test for Status Code" "it should fail" |  | ||||||
| #assert regex "$(Name 'Jane' 'Doe')" "Jane" "Test for Regexp" "it should match" |  | ||||||
| #assert regex "123victory" "\W" "Test for Regexp Non Word Character" "it should fail if match failes" |  | ||||||
| #assert expect "$((2+2))" "4" "Test for Simple Math Operation" "It should succeed" |  | ||||||
| #assert regex "What is the difference between 6 and half a dozen" "[[:digit:]]" "Match Number Regular Expression" "It should succeed" |  | ||||||
| #assert status "ls ." "0" "List in current dir" "it should return 0" |  | ||||||
| 
 |  | ||||||
| assert done |  | ||||||
| 
 |  | ||||||
|  | @ -1,38 +0,0 @@ | ||||||
| SUMMARY = "Storage Information Tool" |  | ||||||
| SECTION = "base" |  | ||||||
| LICENSE = "MIT" |  | ||||||
| LIC_FILES_CHKSUM = "file://LICENSE;md5=81438338854bd7a09cb97215f36db46b" |  | ||||||
| 
 |  | ||||||
| SRC_URI = "git://gitlab.com/netmodule/tools/storage-info.git;protocol=ssh;user=git;branch=develop" |  | ||||||
| SRCREV ?= "6584feb5fb3e18572fee1cea9e20a6b8e5cd0251" |  | ||||||
| 
 |  | ||||||
| PV = "0.0.1+git${SRCPV}" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| DEPENDS_append = " libnmapp" |  | ||||||
| 
 |  | ||||||
| inherit systemd |  | ||||||
| 
 |  | ||||||
| S = "${WORKDIR}/git" |  | ||||||
| B = "${S}/build" |  | ||||||
| 
 |  | ||||||
| SYSTEMD_SERVICE_${PN} = "storage-info.service" |  | ||||||
| 
 |  | ||||||
| FILES_${PN} += " \ |  | ||||||
|                   ${bindir}/storage-info \ |  | ||||||
|                   ${systemd_system_unitdir}/storage-info.service \ |  | ||||||
|                   ${sysconfdir}/storage/storage-info.conf \ |  | ||||||
|                " |  | ||||||
| 
 |  | ||||||
| # build variables for the target (rest is default) |  | ||||||
| EXTRA_OEMAKE_append = " 'BUILD_TARGET=target' 'BUILD_CONFIG=rls' 'SYSROOT=${STAGING_DIR_TARGET}'" |  | ||||||
| 
 |  | ||||||
| do_install() { |  | ||||||
|     install -d ${D}${bindir} |  | ||||||
|     install -m 755 ${B}/rls/target/${BPN} ${D}${bindir} |  | ||||||
|     install -d ${D}${sysconfdir}/storage |  | ||||||
|     install -m 644 ${S}/config/${BPN}.conf ${D}${sysconfdir}/storage/ |  | ||||||
|     install -d ${D}${systemd_system_unitdir} |  | ||||||
|     install -m 644 ${S}/systemd/${BPN}.service ${D}${systemd_system_unitdir} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | require u-boot-am335x-nmhw24_git.bb | ||||||
|  | 
 | ||||||
|  | UBOOT_MACHINE = "am335x_hw25_defconfig" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,32 @@ | ||||||
|  | require u-boot-nm.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "am335x_nmhw21_defconfig" | ||||||
|  | 
 | ||||||
|  | # Be aware github/netmodule git | ||||||
|  | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available | ||||||
|  | SRCREV ?= "${AUTOREV}" | ||||||
|  | PV = "v2016.05+git${SRCPV}" | ||||||
|  | 
 | ||||||
|  | SPL_BINARY = "MLO" | ||||||
|  | UBOOT_SUFFIX = "img" | ||||||
|  | 
 | ||||||
|  | do_deploy_append() { | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # nmhw21 and hw26 using same u-boot sources so let's create symlinks for hw26 when building nmhw21 | ||||||
|  | PN_E = "u-boot-${MACHINE}" | ||||||
|  | do_deploy_append_am335x-hw26() { | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN_E}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN_E}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.img ${DEPLOYDIR}/${PN_E}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/MLO ${DEPLOYDIR}/spl-${PN_E}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | require u-boot-nm.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "am335x_nrhw24_defconfig" | ||||||
|  | 
 | ||||||
|  | # Be aware github/netmodule git | ||||||
|  | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available | ||||||
|  | SRCREV ?= "${AUTOREV}" | ||||||
|  | PV = "v2016.05+git${SRCPV}" | ||||||
|  | 
 | ||||||
|  | SPL_BINARY = "MLO" | ||||||
|  | UBOOT_SUFFIX = "img" | ||||||
|  | 
 | ||||||
|  | do_deploy_append() { | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,21 @@ | ||||||
|  | require u-boot-nm.inc | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Be aware github/netmodule git
 | ||||||
|  | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available
 | ||||||
|  | PV = "v2016.05+git${SRCPV}" | ||||||
|  | 
 | ||||||
|  | SPL_BINARY = "MLO" | ||||||
|  | UBOOT_SUFFIX = "img" | ||||||
|  | 
 | ||||||
|  | do_deploy_append() { | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | require u-boot-am335x-nrhw16-common.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "am335x_nbhw16_defconfig" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available | ||||||
|  | SRCREV ?= "a6f157c6dbd048b452c7e2640215c55be658780c" | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | require u-boot-am335x-nrhw16-common.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "am335x_nbhw16_v2_defconfig" | ||||||
|  | 
 | ||||||
|  | SRCREV ?= "${AUTOREV}" | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | require u-boot-nm.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "am335x_nrhw20_defconfig" | ||||||
|  | 
 | ||||||
|  | # Be aware github/netmodule git | ||||||
|  | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2016.05-am335x-netmodule" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available | ||||||
|  | SRCREV ?= "${AUTOREV}" | ||||||
|  | PV = "v2016.05+git${SRCPV}" | ||||||
|  | 
 | ||||||
|  | SPL_BINARY = "MLO" | ||||||
|  | UBOOT_SUFFIX = "img" | ||||||
|  | 
 | ||||||
|  | do_deploy_append() { | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.xmodem.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/*${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.img ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX} | ||||||
|  |     cp ${S}/MLO ${DEPLOYDIR}/spl-${PN}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | require u-boot-nm.inc | ||||||
|  | 
 | ||||||
|  | # Force machine configuration for this recipe | ||||||
|  | UBOOT_MACHINE = "armada-385-nrhw18-v2_defconfig" | ||||||
|  | 
 | ||||||
|  | # Be aware github/netmodule git | ||||||
|  | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2017.11-armada-nrhw" | ||||||
|  | 
 | ||||||
|  | DEPENDS = "bc-native" | ||||||
|  | 
 | ||||||
|  | # Should be updated when a new U-Boot Version is available | ||||||
|  | #SRCREV ?= "f665946cc415e628b237fcf846bda1debf40980b" | ||||||
|  | SRCREV = "${AUTOREV}" | ||||||
|  | 
 | ||||||
|  | PV = "v2017.11+git${SRCPV}" | ||||||
|  | 
 | ||||||
|  | UBOOT_SUFFIX = "kwb" | ||||||
|  | UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}" | ||||||
|  | 
 | ||||||
|  | do_deploy_append() { | ||||||
|  |     rm -f ${DEPLOYDIR}/${PN}-spl.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/${PN}.bin | ||||||
|  |     rm -f ${DEPLOYDIR}/${PN}-spl.kwb | ||||||
|  |     cp ${S}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-${PN}.xmodem.bin | ||||||
|  |     cp ${S}/u-boot.bin ${DEPLOYDIR}/${PN}.xmodem.bin | ||||||
|  |     cp ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${PN}.${UBOOT_SUFFIX} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| require u-boot-nm.inc |  | ||||||
| 
 |  | ||||||
| # Be aware github/netmodule git |  | ||||||
| SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2017.11/standard/armada-385" |  | ||||||
| 
 |  | ||||||
| DEPENDS += "bc-native" |  | ||||||
| 
 |  | ||||||
| # Should be updated when a new U-Boot Version is available |  | ||||||
| #SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2" |  | ||||||
| SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2" |  | ||||||
| 
 |  | ||||||
| UBOOT_SUFFIX = "kwb" |  | ||||||
| UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}" |  | ||||||
| 
 |  | ||||||
| do_deploy() { |  | ||||||
|     # xmodem files |  | ||||||
|     cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin |  | ||||||
|     cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin |  | ||||||
| 
 |  | ||||||
|     # file for wic file |  | ||||||
|     cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-spl.${UBOOT_SUFFIX} |  | ||||||
| 
 |  | ||||||
|     # file for user usage |  | ||||||
|     cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
|  | @ -10,8 +10,8 @@ PROVIDES += "u-boot" | ||||||
| LICENSE = "GPLv2+" | LICENSE = "GPLv2+" | ||||||
| LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" | LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||||||
| 
 | 
 | ||||||
| SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2018.03/imx/imx8-nmhw23;destsuffix=git" | SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2018.03/imx/imx8-nmhw23;destsuffix=git" | ||||||
| SRCREV ?= "68ad3ed09773011ab15e9dd50f9ec2bbf817ef3f" | SRCREV ?= "${AUTOREV}" | ||||||
| 
 | 
 | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
|  | @ -21,7 +21,6 @@ S = "${WORKDIR}/git" | ||||||
| LOCALVERSION ?= "-${SRCBRANCH}" | LOCALVERSION ?= "-${SRCBRANCH}" | ||||||
| 
 | 
 | ||||||
| BOOT_TOOLS = "imx-boot-tools" | BOOT_TOOLS = "imx-boot-tools" | ||||||
| UBOOT_INITIAL_ENV = "" |  | ||||||
| 
 | 
 | ||||||
| do_configure_prepend() { | do_configure_prepend() { | ||||||
|     if [ ! -d ${S}/board/netmodule/common ]; then |     if [ ! -d ${S}/board/netmodule/common ]; then | ||||||
|  |  | ||||||
|  | @ -1,13 +1,294 @@ | ||||||
| require recipes-bsp/u-boot/u-boot.inc | SUMMARY = "Universal Boot Loader for embedded devices" | ||||||
|  | HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" | ||||||
| 
 | 
 | ||||||
| LICENSE = "GPLv2+" | LICENSE = "GPLv2+" | ||||||
| LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" | LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" | ||||||
| 
 | 
 | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| B = "${WORKDIR}/build" | 
 | ||||||
| do_configure[cleandirs] = "${B}" | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||||||
| UBOOT_INITIAL_ENV = "" | 
 | ||||||
|  | PROVIDES = "virtual/bootloader" | ||||||
|  | 
 | ||||||
|  | inherit uboot-config deploy | ||||||
|  | 
 | ||||||
|  | PROVIDES = "virtual/bootloader" | ||||||
|  | 
 | ||||||
|  | EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1' | ||||||
|  | EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' | ||||||
|  | 
 | ||||||
|  | PACKAGECONFIG ??= "openssl" | ||||||
|  | # u-boot will compile its own tools during the build, with specific
 | ||||||
|  | # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
 | ||||||
|  | # a host build dependency.
 | ||||||
|  | PACKAGECONFIG[openssl] = ",,openssl-native" | ||||||
|  | 
 | ||||||
|  | # Allow setting an additional version string that will be picked up by the
 | ||||||
|  | # u-boot build system and appended to the u-boot version.  If the .scmversion
 | ||||||
|  | # file already exists it will not be overwritten.
 | ||||||
|  | UBOOT_LOCALVERSION ?= "" | ||||||
|  | 
 | ||||||
|  | # Some versions of u-boot use .bin and others use .img.  By default use .bin
 | ||||||
|  | # but enable individual recipes to change this value.
 | ||||||
|  | UBOOT_SUFFIX ??= "bin" | ||||||
|  | UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" | ||||||
|  | UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" | ||||||
|  | UBOOT_SYMLINK ?= "${PN}.${UBOOT_SUFFIX}" | ||||||
|  | UBOOT_MAKE_TARGET ?= "all" | ||||||
|  | 
 | ||||||
|  | # Output the ELF generated. Some platforms can use the ELF file and directly
 | ||||||
|  | # load it (JTAG booting, QEMU) additionally the ELF can be used for debugging
 | ||||||
|  | # purposes.
 | ||||||
|  | UBOOT_ELF ?= "" | ||||||
|  | UBOOT_ELF_SUFFIX ?= "elf" | ||||||
|  | UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}" | ||||||
|  | UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}" | ||||||
|  | UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}" | ||||||
|  | 
 | ||||||
|  | # Some versions of u-boot build an SPL (Second Program Loader) image that
 | ||||||
|  | # should be packaged along with the u-boot binary as well as placed in the
 | ||||||
|  | # deploy directory.  For those versions they can set the following variables
 | ||||||
|  | # to allow packaging the SPL.
 | ||||||
|  | SPL_BINARY ?= "" | ||||||
|  | SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}" | ||||||
|  | SPL_SYMLINK ?= "${SPL_BINARY}-${PN}" | ||||||
|  | 
 | ||||||
|  | # Additional environment variables or a script can be installed alongside
 | ||||||
|  | # u-boot to be used automatically on boot.  This file, typically 'uEnv.txt'
 | ||||||
|  | # or 'boot.scr', should be packaged along with u-boot as well as placed in the
 | ||||||
|  | # deploy directory.  Machine configurations needing one of these files should
 | ||||||
|  | # include it in the SRC_URI and set the UBOOT_ENV parameter.
 | ||||||
|  | UBOOT_ENV_SUFFIX ?= "txt" | ||||||
|  | UBOOT_ENV ?= "" | ||||||
|  | UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" | ||||||
|  | UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}" | ||||||
|  | UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" | ||||||
| 
 | 
 | ||||||
| # This variable is set to "0" in distro in order to get reproducible build
 | # 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
 | # It is however not needed for uboot and unsetting it allows us to keep the build date in uboot output
 | ||||||
| unset SOURCE_DATE_EPOCH | 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 | ||||||
|  |  | ||||||
|  | @ -1,24 +0,0 @@ | ||||||
| require u-boot-nm.inc |  | ||||||
| 
 |  | ||||||
| # Be aware github/netmodule git |  | ||||||
| SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2016.05/standard/am335x" |  | ||||||
| 
 |  | ||||||
| # Should be updated when a new U-Boot Version is available |  | ||||||
| SRCREV = "69e9c386dd3734a01af79ca1cc565896facfb9f6" |  | ||||||
| 
 |  | ||||||
| SPL_BINARY = "MLO" |  | ||||||
| UBOOT_SUFFIX = "img" |  | ||||||
| 
 |  | ||||||
| do_deploy() { |  | ||||||
|     # xmodem files |  | ||||||
|     cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin |  | ||||||
|     cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin |  | ||||||
| 
 |  | ||||||
|     # files for wic file |  | ||||||
|     cp ${B}/MLO ${DEPLOYDIR}/ |  | ||||||
|     cp ${B}/u-boot.img ${DEPLOYDIR}/ |  | ||||||
| 
 |  | ||||||
|     # files for user usage |  | ||||||
|     cp ${B}/MLO ${DEPLOYDIR}/spl-u-boot-${MACHINE}.${UBOOT_SUFFIX} |  | ||||||
|     cp ${B}/u-boot.img ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX} |  | ||||||
| } |  | ||||||
|  | @ -1,87 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| # ************************************************************ |  | ||||||
| #  USB Hub Reset Script |  | ||||||
| #  ----------------------- |  | ||||||
| # |  | ||||||
| #  The USB hub in the HW23 connects the GNSS modem, the v2x- |  | ||||||
| #  module, the user interface and the user module. |  | ||||||
| # |  | ||||||
| #  When HW23 device is powering up the v2x module enters DFU |  | ||||||
| #  mode. This mode leads to enumeration errors when releasing |  | ||||||
| #  the gnss module from reset. Thus a sequentialized startup |  | ||||||
| #  is needed. |  | ||||||
| #  This script just sets the USB hub either into reset mode or |  | ||||||
| #  releases it from reset. |  | ||||||
| # ************************************************************ |  | ||||||
| 
 |  | ||||||
| SCRIPT_NAME=$(basename "${0}") |  | ||||||
| SCRIPT_DIR=$(dirname "${0}") |  | ||||||
| SCRIPT_PATH=$(realpath "${SCRIPT_DIR}") |  | ||||||
| MYDIR=$(pwd) |  | ||||||
| 
 |  | ||||||
| HUB_RST=/sys/class/leds/hub_rst/brightness |  | ||||||
| ON_VALUE=0 |  | ||||||
| OFF_VALUE=255 |  | ||||||
| 
 |  | ||||||
| export HUB_RST_STATE="off" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #********************************************************************************************** |  | ||||||
| # local helper functions |  | ||||||
| #********************************************************************************************** |  | ||||||
| function printUsage() |  | ||||||
| { |  | ||||||
|     echo -e "\\nUsage: ${SCRIPT_NAME} [OPTIONS] HUB_STATE\\n\\n" |  | ||||||
|     echo -e "   HUB_STATE                    The requested state of the usb hub:" |  | ||||||
|     echo -e "                                 * on = release hub from reset" |  | ||||||
|     echo -e "                                 * off = set hub into reset state (default)" |  | ||||||
|     echo -e "   OPTIONS:" |  | ||||||
|     echo -e "     -h|--help                  Show this help" |  | ||||||
|     echo -e "" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #********************************************************************************************** |  | ||||||
| # main |  | ||||||
| #********************************************************************************************** |  | ||||||
| 
 |  | ||||||
| O=$(getopt -o h --long help -- "$@") || exit 1 |  | ||||||
| if [ $? != 0 ]; then |  | ||||||
|     echo "ERROR: Could not parse $SCRIPT_NAME command line options" |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| eval set -- "$O" |  | ||||||
| while true; do |  | ||||||
|     case "${1}" in |  | ||||||
|         -h|--help) |  | ||||||
|             printUsage |  | ||||||
|             exit 0 |  | ||||||
|             ;; |  | ||||||
|         --) |  | ||||||
|             export HUB_RST_STATE="${2}" |  | ||||||
|             shift 2 |  | ||||||
|             break |  | ||||||
|             ;; |  | ||||||
|         *) |  | ||||||
|             printUsage; exit 0 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| if [ ! -f $HUB_RST ]; then |  | ||||||
|     echo "ERROR $SCRIPT_NAME: USB hub reset lines not available" |  | ||||||
|     return 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| HUB_RST_VALUE=$OFF_VALUE |  | ||||||
| [[ "${HUB_RST_STATE}" != "off" ]] && HUB_RST_VALUE=$ON_VALUE || true |  | ||||||
| 
 |  | ||||||
| echo "$SCRIPT_NAME: set usb-hub=${HUB_RST_STATE}($HUB_RST_VALUE)..." |  | ||||||
| echo $HUB_RST_VALUE > $HUB_RST |  | ||||||
| if [[ "$?" != "0" ]]; then |  | ||||||
|     echo "ERROR $SCRIPT_NAME: Could not set usb hub to ${HUB_RST_STATE}" |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| exit 0 |  | ||||||
|  | @ -1,14 +0,0 @@ | ||||||
| [Unit] |  | ||||||
| Description=USB Hub Reset Service |  | ||||||
| Before=gpsd.service |  | ||||||
| 
 |  | ||||||
| [Service] |  | ||||||
| Type=oneshot |  | ||||||
| 
 |  | ||||||
| ExecStart=/usr/bin/usb-hub-reset on |  | ||||||
| 
 |  | ||||||
| RemainAfterExit=yes |  | ||||||
| 
 |  | ||||||
| [Install] |  | ||||||
| WantedBy=multi-user.target |  | ||||||
| RequiredBy=multi-user.target |  | ||||||
|  | @ -1,29 +0,0 @@ | ||||||
| DESCRIPTION = "USB-Hub Reset on HW23" |  | ||||||
| HOMEPAGE = "www.netmodule.com" |  | ||||||
| LICENSE = "MIT" |  | ||||||
| SECTION = "bsp" |  | ||||||
| RDEPENDS_${PN} = "usbutils coreutils" |  | ||||||
| LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |  | ||||||
| 
 |  | ||||||
| inherit systemd |  | ||||||
| 
 |  | ||||||
| SRC_URI = " \ |  | ||||||
|            file://usb-hub-reset.service \ |  | ||||||
|            file://usb-hub-reset\ |  | ||||||
|           " |  | ||||||
| 
 |  | ||||||
| S = "${WORKDIR}" |  | ||||||
| 
 |  | ||||||
| SYSTEMD_SERVICE_${PN} = " \ |  | ||||||
|                           usb-hub-reset.service \ |  | ||||||
|                         " |  | ||||||
| 
 |  | ||||||
| FILES_${PN} = "${systemd_unitdir}/system ${bindir}" |  | ||||||
| 
 |  | ||||||
| do_install() { |  | ||||||
|     install -d ${D}${systemd_unitdir}/system |  | ||||||
|     install -m 644 ${WORKDIR}/usb-hub-reset.service ${D}${systemd_unitdir}/system/ |  | ||||||
| 
 |  | ||||||
|     install -d ${D}${bindir} |  | ||||||
|     install -m 744 ${WORKDIR}/usb-hub-reset ${D}${bindir} |  | ||||||
| } |  | ||||||
|  | @ -1,141 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| SCRIPT_NAME=$(basename "${0}") |  | ||||||
| 
 |  | ||||||
| V2X_CONF=/etc/v2x0.conf |  | ||||||
| V2X_RST=/sys/class/leds/v2x_rst/brightness |  | ||||||
| ON_VALUE=0 |  | ||||||
| #OFF_VALUE=255 |  | ||||||
| IS_PLACEHOLDER_FW=false |  | ||||||
| 
 |  | ||||||
| #********************************************************************************************** |  | ||||||
| # local helper functions |  | ||||||
| #********************************************************************************************** |  | ||||||
| printUsage() |  | ||||||
| { |  | ||||||
|     echo "" |  | ||||||
|     echo "Usage: ${SCRIPT_NAME} [OPT] CMD" |  | ||||||
|     echo "" |  | ||||||
|     echo "   CMD:" |  | ||||||
|     echo "     -h|--help                  Show this help" |  | ||||||
|     echo "" |  | ||||||
|     echo "   OPT:" |  | ||||||
|     echo "     -c|--config-file=FILE      The config file pathname (default=${V2X_CONF})" |  | ||||||
|     echo "" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| checkInputParameters() |  | ||||||
| { |  | ||||||
|     if [ ! -f $V2X_RST ]; then |  | ||||||
|         echo "ERROR $SCRIPT_NAME: v2x module reset lines not available" |  | ||||||
|         exit 1 |  | ||||||
|     fi |  | ||||||
|     if [ ! -f $V2X_CONF ]; then |  | ||||||
|         echo "ERROR $SCRIPT_NAME: no v2x config file '${V2X_CONF}' found" |  | ||||||
|         exit 1 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| getConfigParameters() |  | ||||||
| { |  | ||||||
|     echo "$SCRIPT_NAME: getting config parameter from $V2X_CONF" |  | ||||||
|     placeholderEntry=$(grep is-placeholder-firmware $V2X_CONF | cut -d'=' -f2) |  | ||||||
|     if [ "${placeholderEntry}" != "" ] && [ "${placeholderEntry}" = "true" ]; then |  | ||||||
|         IS_PLACEHOLDER_FW=true |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| enableTheModule() |  | ||||||
| { |  | ||||||
|     pwrGpio="$(gpiofind UM_SUP_EN)" |  | ||||||
| 
 |  | ||||||
|     echo "$SCRIPT_NAME: releasing v2x reset..." |  | ||||||
|     echo $ON_VALUE > $V2X_RST |  | ||||||
| 
 |  | ||||||
|     echo "$SCRIPT_NAME: toggling v2x module power..." |  | ||||||
|     gpioset -m time -s 1 $pwrGpio=0 |  | ||||||
|     gpioset -m signal $pwrGpio=1 & |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| detectDfuMode() |  | ||||||
| { |  | ||||||
|     timeoutS=30 |  | ||||||
| 
 |  | ||||||
|     echo "$SCRIPT_NAME: discovering DFU mode of v2x module (timeout=${timeoutS}s)..." |  | ||||||
|     timeout $timeoutS bash -c -- 'while true; do lsusb | grep "0483:df11"; if [ $? == 0  ]; then break; fi; done' |  | ||||||
|     if [ $? = 124 ]; then |  | ||||||
|         echo "ERROR: v2x module is not available on usb bus" |  | ||||||
|         exit 1 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| waitForDfuModeExit() |  | ||||||
| { |  | ||||||
|     disconnectTimeoutS=20 |  | ||||||
|     echo "$SCRIPT_NAME: wait for v2x module leaving DFU mode (timeout=${disconnectTimeoutS}s)..." |  | ||||||
|     timeout $disconnectTimeoutS bash -c -- 'while true; do dmesg | grep "0483:df11"; if [ $? != 0 ]; then break; fi; done' |  | ||||||
|     if [ $? = 124 ]; then |  | ||||||
|         echo "$SCRIPT_NAME: no DFU mode exit of v2x module detected" |  | ||||||
|     else |  | ||||||
|         echo "$SCRIPT_NAME: v2x module exited DFU mode" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| loadFirmware() |  | ||||||
| { |  | ||||||
|     echo "$SCRIPT_NAME: loading v2x firmware..." |  | ||||||
|     output=$(dfu-util -d 0483:df11 -s 0x10000000 -D /lib/firmware/v2x/SECTON.packed_bin.rom 2>&1) |  | ||||||
|     if [ $? != 0 ]; then |  | ||||||
|         if echo "$output" | grep -i "Error during abort get_status"; then |  | ||||||
|             echo "$SCRIPT_NAME: get_status abort error: ignoring" |  | ||||||
|             exit 0 |  | ||||||
|         fi |  | ||||||
|         echo "$SCRIPT_NAME: Something went wrong while uploading firmware:" |  | ||||||
|         echo "$output" |  | ||||||
|         exit 1 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #********************************************************************************************** |  | ||||||
| # main |  | ||||||
| #********************************************************************************************** |  | ||||||
| 
 |  | ||||||
| O=$(getopt -o hc: --long help,config-file: -- "$@") || exit 1 |  | ||||||
| 
 |  | ||||||
| eval set -- "$O" |  | ||||||
| while true; do |  | ||||||
|     case "${1}" in |  | ||||||
|         -h|--help) |  | ||||||
|             printUsage |  | ||||||
|             exit 0 |  | ||||||
|             ;; |  | ||||||
|         -c|--config-file) |  | ||||||
|             V2X_CONF=${2} |  | ||||||
|             shift 2 |  | ||||||
|             ;; |  | ||||||
|         --) |  | ||||||
|             break |  | ||||||
|             ;; |  | ||||||
|         *) |  | ||||||
|             printUsage; exit 0 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| checkInputParameters |  | ||||||
| 
 |  | ||||||
| getConfigParameters |  | ||||||
| 
 |  | ||||||
| enableTheModule |  | ||||||
| 
 |  | ||||||
| detectDfuMode |  | ||||||
| 
 |  | ||||||
| if [ $IS_PLACEHOLDER_FW = true ]; then |  | ||||||
|     echo "$SCRIPT_NAME: v2x placeholder firmware configured" |  | ||||||
|     waitForDfuModeExit |  | ||||||
|     exit 0 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| loadFirmware |  | ||||||
| 
 |  | ||||||
| exit 0 |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| [Unit] |  | ||||||
| Description=V2X Firmware loader |  | ||||||
| After=usb-hub-reset.service |  | ||||||
| 
 |  | ||||||
| [Service] |  | ||||||
| Type=oneshot |  | ||||||
| ExecStart=/usr/bin/v2x-fw-load |  | ||||||
| RemainAfterExit=yes |  | ||||||
| 
 |  | ||||||
| [Install] |  | ||||||
| WantedBy=multi-user.target |  | ||||||
| RequiredBy=multi-user.target |  | ||||||
|  | @ -1,2 +0,0 @@ | ||||||
| [default] |  | ||||||
| is-placeholder-firmware=true |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| [default] |  | ||||||
|  | @ -1,45 +0,0 @@ | ||||||
| # Copyright (C) 2019 Ramon Moesching <ramon.moesching@netmodule.com> |  | ||||||
| # Released under the MIT license (see COPYING.MIT for the terms) |  | ||||||
| 
 |  | ||||||
| DESCRIPTION = "Murata v2x module firmware loader service" |  | ||||||
| HOMEPAGE = "www.netmodule.com" |  | ||||||
| LICENSE = "MIT" |  | ||||||
| SECTION = "bsp/firmware" |  | ||||||
| RDEPENDS_${PN} = "dfu-util usbutils coreutils" |  | ||||||
| LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |  | ||||||
| 
 |  | ||||||
| inherit systemd |  | ||||||
| 
 |  | ||||||
| SRC_URI = " \  |  | ||||||
|            file://v2x-ieee802.11p.service \ |  | ||||||
|            file://v2x-fw-load \ |  | ||||||
|            file://v2x_dummy.rom \ |  | ||||||
|            file://v2x0.conf \ |  | ||||||
|            file://v2x0-placeholderFw.conf \ |  | ||||||
|           " |  | ||||||
| 
 |  | ||||||
| S = "${WORKDIR}" |  | ||||||
| 
 |  | ||||||
| SYSTEMD_SERVICE_${PN} = " \ |  | ||||||
|                           v2x-ieee802.11p.service \ |  | ||||||
|                         " |  | ||||||
| 
 |  | ||||||
| FILES_${PN} = "${systemd_unitdir}/system ${bindir} ${nonarch_base_libdir}/firmware/v2x ${sysconfdir} " |  | ||||||
| 
 |  | ||||||
| do_install() { |  | ||||||
|     install -d ${D}${systemd_unitdir}/system |  | ||||||
|     install -m 644 ${WORKDIR}/v2x-ieee802.11p.service ${D}${systemd_unitdir}/system/ |  | ||||||
| 
 |  | ||||||
|     install -d ${D}${nonarch_base_libdir}/firmware/v2x |  | ||||||
|     install -m 644 ${WORKDIR}/v2x_dummy.rom ${D}${nonarch_base_libdir}/firmware/v2x/SECTON.packed_bin.rom |  | ||||||
| 
 |  | ||||||
|     install -d ${D}${sysconfdir} |  | ||||||
|     if [ ! -z "${V2X_ENABLE_FW_LOAD}" ]; then |  | ||||||
|         install -m 544 ${WORKDIR}/v2x0.conf ${D}${sysconfdir} |  | ||||||
|     else |  | ||||||
|         install -m 544 ${WORKDIR}/v2x0-placeholderFw.conf ${D}${sysconfdir}/v2x0.conf |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     install -d ${D}${bindir} |  | ||||||
|     install -m 744 ${WORKDIR}/v2x-fw-load ${D}${bindir} |  | ||||||
| } |  | ||||||
|  | @ -1,11 +1,14 @@ | ||||||
| [Unit] | [Unit] | ||||||
| Description=GNSS init service | Description=GNSS init service | ||||||
| After=usb-hub-reset.service v2x-ieee802.11p.service | After=v2x-ieee802.11p.service | ||||||
| 
 | 
 | ||||||
| [Service] | [Service] | ||||||
| Type=oneshot | Type=oneshot | ||||||
| 
 | 
 | ||||||
| ExecStart=/usr/bin/sh -c  "echo 0 > /sys/class/leds/gnss_rst/brightness" | ExecStartPre=/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness" | ||||||
|  | ExecStart=/usr/bin/echo start | ||||||
|  | ExecStop=/usr/bin/echo stop  | ||||||
|  | ExecStopPost=/bin/sh -c "echo 0 > /sys/class/leds/gnss_rst/brightness" | ||||||
| 
 | 
 | ||||||
| RemainAfterExit=yes | RemainAfterExit=yes | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -26,4 +26,5 @@ FILES_${PN}_append = "${systemd_unitdir}/system ${bindir}" | ||||||
| do_install_append() { | do_install_append() { | ||||||
|     install -d ${D}${systemd_unitdir}/system |     install -d ${D}${systemd_unitdir}/system | ||||||
|     install -m 644 ${WORKDIR}/gnss-init.service ${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" | PR = "r1" | ||||||
| 
 | 
 | ||||||
| SRC_URI = "git://gitlab.com/netmodule/tools/gnssmgr.git;protocol=ssh;user=git;branch=master" | SRC_URI = "git://gitlab.com/netmodule/tools/gnssmgr.git;protocol=ssh;user=git;branch=master" | ||||||
| SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f" | SRCREV ?= "${AUTOREV}" | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| PACKAGES =+ "${PN}-test" | PACKAGES =+ "${PN}-test" | ||||||
|  |  | ||||||
|  | @ -0,0 +1,47 @@ | ||||||
|  | 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 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | KERNEL=="ttyACM?", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", SYMLINK+="gps0" | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| SUMMARY = "Machine specific gpsd config" | SUMMARY = "Machine specific gpsd config" | ||||||
| LICENSE = "BSD-3-Clause" | LICENSE = "BSD" | ||||||
| LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb" | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb" | ||||||
| 
 | 
 | ||||||
| # empty by default | # empty by default | ||||||
|  | @ -0,0 +1,81 @@ | ||||||
|  | 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 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | 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 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  | 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" | ||||||
|  | @ -0,0 +1,141 @@ | ||||||
|  | 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" | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" |  | ||||||
| DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ |  | ||||||
|                devices which speak the Qualcomm MSM Interface (QMI) protocol" |  | ||||||
| HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" |  | ||||||
| LICENSE = "GPLv2 & LGPLv2.1" |  | ||||||
| LIC_FILES_CHKSUM = " \ |  | ||||||
|     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |  | ||||||
|     file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ |  | ||||||
| " |  | ||||||
| 
 |  | ||||||
| DEPENDS = "glib-2.0 glib-2.0-native" |  | ||||||
| 
 |  | ||||||
| inherit autotools pkgconfig bash-completion gobject-introspection |  | ||||||
| 
 |  | ||||||
| SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" |  | ||||||
| 
 |  | ||||||
| SRC_URI[sha256sum] = "a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9" |  | ||||||
| 
 |  | ||||||
| PACKAGECONFIG ??= "udev mbim" |  | ||||||
| PACKAGECONFIG[udev] = ",--without-udev,libgudev" |  | ||||||
| PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" |  | ||||||
|  | @ -9,9 +9,4 @@ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1141", ENV{ID_MM_DEVICE_PROCESS}="1" | ||||||
| ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1143", ENV{ID_MM_DEVICE_PROCESS}="1" | ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1143", ENV{ID_MM_DEVICE_PROCESS}="1" | ||||||
| ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1146", 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" | LABEL="mm_netmodule_whitelist_end" | ||||||
|  |  | ||||||
|  | @ -2,14 +2,14 @@ require recipes-connectivity/modemmanager/modemmanager_1.14.8.bb | ||||||
| 
 | 
 | ||||||
| # Use custom git repo as SRC | # Use custom git repo as SRC | ||||||
| SRC_URI = "git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-14-netmodule;" | SRC_URI = "git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-14-netmodule;" | ||||||
| SRCREV ?= "35ef2f387bf53f0601901a5f08ab0f6bf57105c4" | SRCREV = "${AUTOREV}" | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| # Keep only ublox plugin | # Keep only ublox plugin | ||||||
| EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox --enable-plugin-generic" | EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox" | ||||||
| 
 | 
 | ||||||
| # Exclude mbim | # Exclude mbim and qmi | ||||||
| PACKAGECONFIG = "systemd qmi" | PACKAGECONFIG = "systemd" | ||||||
| 
 | 
 | ||||||
| # Add whitelist rules | # Add whitelist rules | ||||||
| FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||||||
|  |  | ||||||
|  | @ -1,3 +1,5 @@ | ||||||
|  | inherit allarch | ||||||
|  | 
 | ||||||
| DESCRIPTION = "Configuration files for NetworkManager" | DESCRIPTION = "Configuration files for NetworkManager" | ||||||
| 
 | 
 | ||||||
| LICENSE = "Proprietary" | LICENSE = "Proprietary" | ||||||
|  | @ -6,14 +8,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md | ||||||
| RDEPENDS_${PN} = "networkmanager" | RDEPENDS_${PN} = "networkmanager" | ||||||
| PACKAGECONFIG ?= "" | PACKAGECONFIG ?= "" | ||||||
| 
 | 
 | ||||||
| export DEFAULT_ETH ??= "eth0" | DEFAULT_ETH ??= "eth0" | ||||||
| PACKAGECONFIG[unmanaged-devices] = "" | PACKAGECONFIG[unmanaged-devices] = "" | ||||||
| PACKAGECONFIG[ethernet-dhcp] = "" | PACKAGECONFIG[ethernet-dhcp] = "" | ||||||
| 
 | 
 | ||||||
| SRC_URI = " \ | SRC_URI = " \ | ||||||
|                  file://eth0-static \ |                  file://eth0-static \ | ||||||
|                  file://eth0-dhcp \ |                  file://eth0-dhcp \ | ||||||
|                  file://bridge-slave-eth0.nmconnection \ |  | ||||||
|                  file://NetworkManager.conf \ |                  file://NetworkManager.conf \ | ||||||
|                  file://00-fallback-dns.conf \ |                  file://00-fallback-dns.conf \ | ||||||
|                  file://unmanaged-devices.conf \ |                  file://unmanaged-devices.conf \ | ||||||
|  | @ -24,59 +25,24 @@ SRC_URI_append_am335x-nrhw20 = " \ | ||||||
|                 file://system-connections-dhcp.tar.gz \ |                 file://system-connections-dhcp.tar.gz \ | ||||||
| " | " | ||||||
| 
 | 
 | ||||||
| PACKAGE_ARCH = "${MACHINE_ARCH}" |  | ||||||
| 
 |  | ||||||
| SYSTEM_CONNECTIONS = "${D}${sysconfdir}/NetworkManager/system-connections/" |  | ||||||
| 
 |  | ||||||
| do_install () { | do_install () { | ||||||
|     install -d ${D}${sysconfdir}/NetworkManager/dnsmasq.d |     install -d ${D}${sysconfdir}/NetworkManager/dnsmasq.d | ||||||
|     install -d ${SYSTEM_CONNECTIONS} |     install -d ${D}${sysconfdir}/NetworkManager/system-connections | ||||||
|     install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/ |     install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/ | ||||||
|     install -m 0644 ${WORKDIR}/00-fallback-dns.conf ${D}${sysconfdir}/NetworkManager/dnsmasq.d/ |     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 |     if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then | ||||||
|         # DHCP on main interface and static IP on the user module interface (if present) |         install -m 0600 ${WORKDIR}/eth0-dhcp ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection | ||||||
|         dhcp_ifaces="$DEFAULT_ETH" |  | ||||||
|         if ${@bb.utils.contains('MACHINE_FEATURES','user-module','true','false',d)}; then |  | ||||||
|             static_ifaces="umnet0" |  | ||||||
|         fi |  | ||||||
|     else |     else | ||||||
|         # static IP either on the bridge or main interface |         install -m 0600 ${WORKDIR}/eth0-static ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection | ||||||
|         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 |     fi | ||||||
| 
 | 
 | ||||||
| 
 |     # Handle HWs with different default interface | ||||||
|     for iface in $static_ifaces; do |     if [ "${DEFAULT_ETH}" != "eth0" ]; then | ||||||
|         install -m 0600 ${WORKDIR}/eth0-static ${SYSTEM_CONNECTIONS}/$iface.nmconnection |         sed -i 's/eth0/${DEFAULT_ETH}/g' ${D}${sysconfdir}/NetworkManager/system-connections/* | ||||||
|         sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection |         mv ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection \ | ||||||
| 
 |           ${D}${sysconfdir}/NetworkManager/system-connections/${DEFAULT_ETH}.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 |     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 |     if ${@bb.utils.contains('PACKAGECONFIG','unmanaged-devices','true','false',d)}; then | ||||||
|  | @ -86,11 +52,11 @@ do_install () { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| do_install_append_am335x-nrhw20() { | do_install_append_am335x-nrhw20() { | ||||||
|     rm -rf ${SYSTEM_CONNECTIONS}/* |     rm -rf ${D}${sysconfdir}/NetworkManager/system-connections/* | ||||||
|     if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then |     if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then | ||||||
|         install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${SYSTEM_CONNECTIONS}/ |         install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${D}${sysconfdir}/NetworkManager/system-connections/ | ||||||
|     else |     else | ||||||
|         install -m 0600 ${WORKDIR}/system-connections-static/* ${SYSTEM_CONNECTIONS}/ |         install -m 0600 ${WORKDIR}/system-connections-static/* ${D}${sysconfdir}/NetworkManager/system-connections/ | ||||||
|     fi |     fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,12 +0,0 @@ | ||||||
| [connection] |  | ||||||
| id=bridge-slave-eth0 |  | ||||||
| type=ethernet |  | ||||||
| interface-name=eth0 |  | ||||||
| master=br0 |  | ||||||
| permissions= |  | ||||||
| slave-type=bridge |  | ||||||
| 
 |  | ||||||
| [ethernet] |  | ||||||
| mac-address-blacklist= |  | ||||||
| 
 |  | ||||||
| [bridge-port] |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| [connection] | [connection] | ||||||
| id=ethernet | id=ethernet | ||||||
|  | uuid=2a2b6485-4d06-4b86-8051-751399c6881a | ||||||
| type=ethernet | type=ethernet | ||||||
| interface-name=eth0 | interface-name=eth0 | ||||||
| permissions= | permissions= | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| [connection] | [connection] | ||||||
| id=ethernet | id=ethernet | ||||||
|  | uuid=2a2b6485-4d06-4b86-8051-751399c6881a | ||||||
| type=ethernet | type=ethernet | ||||||
| interface-name=eth0 | interface-name=eth0 | ||||||
| permissions= | permissions= | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ PV = "1.0-git${SRCPV}" | ||||||
| PR = "r1" | PR = "r1" | ||||||
| 
 | 
 | ||||||
| SRC_URI = "git://gitlab.com/netmodule/tools/nmubxlib.git;protocol=ssh;user=git;branch=master" | SRC_URI = "git://gitlab.com/netmodule/tools/nmubxlib.git;protocol=ssh;user=git;branch=master" | ||||||
| SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb" | SRCREV ?= "${AUTOREV}" | ||||||
| S = "${WORKDIR}/git" | S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -8,17 +8,11 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 | ||||||
| PR = "r2" | PR = "r2" | ||||||
| 
 | 
 | ||||||
| inherit systemd | inherit systemd | ||||||
| inherit allarch |  | ||||||
| 
 | 
 | ||||||
| RDEPENDS_${PN} = "\ | RDEPENDS_{PN} = "firmware-ti-wl18xx" | ||||||
|     firmware-ti-wl18xx \ |  | ||||||
|     bash \ |  | ||||||
|     libgpiod-tools \ |  | ||||||
|     " |  | ||||||
| 
 | 
 | ||||||
| SRC_URI =  " \ | SRC_URI =  " \ | ||||||
|     file://tibluetooth.service \ |     file://tibluetooth.service \ | ||||||
|     file://tibluetooth.sh \ |  | ||||||
|     " |     " | ||||||
| 
 | 
 | ||||||
| S = "${WORKDIR}" | S = "${WORKDIR}" | ||||||
|  | @ -32,10 +26,7 @@ FILES_${PN}_append = " \ | ||||||
|                     " |                     " | ||||||
| 
 | 
 | ||||||
| do_install () { | do_install () { | ||||||
|     sed -i 's:BINDIR:${bindir}:g' tibluetooth.service |  | ||||||
|     install -d ${D}${systemd_unitdir}/system/ |     install -d ${D}${systemd_unitdir}/system/ | ||||||
|     install -m 0644 tibluetooth.service ${D}${systemd_unitdir}/system/tibluetooth.service |     install -m 0644 tibluetooth.service ${D}${systemd_unitdir}/system/tibluetooth.service | ||||||
|     install -d ${D}${bindir} |  | ||||||
|     install -m 0755 tibluetooth.sh ${D}${bindir}/tibluetooth |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | am335x-nmhw21/ | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Attach ti bluetooth | ||||||
|  | Before=bluetooth.target | ||||||
|  | Requires=bluetooth.target | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=forking | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export" | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction" | ||||||
|  | ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value" | ||||||
|  | ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow | ||||||
|  | 
 | ||||||
|  | ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value" | ||||||
|  | 
 | ||||||
|  | Restart=on-failure | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Attach ti bluetooth | ||||||
|  | Before=bluetooth.target | ||||||
|  | Requires=bluetooth.target | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=forking | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export" | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction" | ||||||
|  | ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value" | ||||||
|  | ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow | ||||||
|  | 
 | ||||||
|  | ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value" | ||||||
|  | 
 | ||||||
|  | Restart=on-failure | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Attach ti bluetooth | ||||||
|  | Before=bluetooth.target | ||||||
|  | Requires=bluetooth.target | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=forking | ||||||
|  | ExecStartPre=/bin/sleep 10 | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo 100 > /sys/class/gpio/export" | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio100/direction" | ||||||
|  | ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio100/value" | ||||||
|  | ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow | ||||||
|  | 
 | ||||||
|  | ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio100/value" | ||||||
|  | 
 | ||||||
|  | Restart=on-failure | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Attach ti bluetooth | ||||||
|  | Before=bluetooth.target | ||||||
|  | Requires=bluetooth.target | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=forking | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo 52 > /sys/class/gpio/export" | ||||||
|  | ExecStartPre=-/bin/sh -c "/bin/echo out > /sys/class/gpio/gpio52/direction" | ||||||
|  | ExecStartPre=/bin/sh -c "/bin/echo 1 > /sys/class/gpio/gpio52/value" | ||||||
|  | ExecStart=/usr/bin/hciattach /dev/ttyS5 texas 3000000 flow | ||||||
|  | 
 | ||||||
|  | ExecStopPost=/bin/sh -c "/bin/echo 0 > /sys/class/gpio/gpio52/value" | ||||||
|  | 
 | ||||||
|  | Restart=on-failure | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| [Unit] |  | ||||||
| Description=Attach ti bluetooth |  | ||||||
| Before=bluetooth.target |  | ||||||
| Requires=bluetooth.target |  | ||||||
| Requires=dev-bluetooth0.device |  | ||||||
| After=dev-bluetooth0.device |  | ||||||
| 
 |  | ||||||
| [Service] |  | ||||||
| Type=forking |  | ||||||
| ExecStart=BINDIR/tibluetooth start |  | ||||||
| ExecStop=BINDIR/tibluetooth stop |  | ||||||
| 
 |  | ||||||
| PIDFile=/run/bluetooth0-hci.pid |  | ||||||
| 
 |  | ||||||
| [Install] |  | ||||||
| WantedBy=multi-user.target |  | ||||||
|  | @ -1,43 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| PIDFILE_GPIO=/run/bluetooth0-gpio.pid |  | ||||||
| PIDFILE_HCI=/run/bluetooth0-hci.pid |  | ||||||
| 
 |  | ||||||
| enable_bt_chip() { |  | ||||||
|         BT_EN=$(gpiofind BT_EN) |  | ||||||
|         gpioset -m signal ${BT_EN}=1 & |  | ||||||
|         PID_GPIO=$! |  | ||||||
|         echo $PID_GPIO > $PIDFILE_GPIO |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| disable_bt_chip() { |  | ||||||
|         kill $(<$PIDFILE_GPIO) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if [ "$1" = "start" ]; then |  | ||||||
|         retries=0 |  | ||||||
|         while [ $retries -lt 5 ] |  | ||||||
|         do |  | ||||||
|                 enable_bt_chip |  | ||||||
|                 if HCI_LOG=$(hciattach -p /dev/bluetooth0 texas 3000000 flow ); then |  | ||||||
|                         # Writing PID |  | ||||||
|                         echo "$HCI_LOG" | tail -n 1 > $PIDFILE_HCI |  | ||||||
|                         exit 0 |  | ||||||
|                 fi |  | ||||||
| 
 |  | ||||||
|                 echo "$HCI_LOG" |  | ||||||
|                 disable_bt_chip |  | ||||||
|                 ((retries++)) |  | ||||||
|                 sleep 1 |  | ||||||
|         done |  | ||||||
| 
 |  | ||||||
|         echo "Could not start hciattach" |  | ||||||
|         exit -1 |  | ||||||
| 
 |  | ||||||
| elif [ "$1" = "stop" ]; then |  | ||||||
|         kill $(<$PIDFILE_HCI) |  | ||||||
|         disable_bt_chip |  | ||||||
| else |  | ||||||
|         echo "Unknown command" |  | ||||||
|         exit -1 |  | ||||||
| fi |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1,216 @@ | ||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE flash SYSTEM "flash.dtd"> | ||||||
|  | <flash fisVersion="2" revision="$Rev: 100111 $"> | ||||||
|  |   <category cmd="SST" supply="3V"> | ||||||
|  |     <sectorSize>4096</sectorSize> | ||||||
|  |     <device jedec="xBF2601"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xBF2602"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xBF2643" cmd="SST2"> | ||||||
|  |       <!-- the SQI block only supports up to 32MBit --> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="SPANSION" supply="3V"> | ||||||
|  |     <device jedec="x014016"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x014015"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="WINBOND" supply="3V"> | ||||||
|  |     <sectorSize>4096</sectorSize> | ||||||
|  |     <device jedec="xEF4013"> | ||||||
|  |       <sectorCount>128</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF4014"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF4015"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF4016"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF4017"> | ||||||
|  |       <!-- the SQI block only supports up to 32MBit --> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF5014" supply="1.8V"> | ||||||
|  |       <cap writeSuspend="0"/> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF6013" supply="1.8V"> | ||||||
|  |       <sectorCount>128</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF6014" supply="1.8V"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF6015" supply="1.8V"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xEF6016" supply="1.8V"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="MACRONIX"> | ||||||
|  |     <sectorSize>4096</sectorSize> | ||||||
|  |     <sectorCount>256</sectorCount> | ||||||
|  |     <device jedec="xC22014" supply="3V"/> | ||||||
|  |     <device jedec="xC22016" supply="3V"> | ||||||
|  |       <cap writeSuspend="1"/> | ||||||
|  |       <minEraseSuspend>12000</minEraseSuspend> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC22515" supply="3V"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC22415"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC22534" supply="1.8V"> | ||||||
|  |       <cap writeSuspend="1"/> | ||||||
|  |       <minEraseSuspend>12000</minEraseSuspend> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC22535" supply="1.8V"> | ||||||
|  |       <cap writeSuspend="1"/> | ||||||
|  |       <minEraseSuspend>12000</minEraseSuspend> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC22536" supply="3V" cmd="MACRONIX2"> | ||||||
|  |       <cap writeSuspend="1"/> | ||||||
|  |       <minEraseSuspend>9600</minEraseSuspend> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="GIGADEVICE"> | ||||||
|  |     <device jedec="xC84013" supply="3V"> | ||||||
|  |       <sectorSize>4096</sectorSize> | ||||||
|  |       <sectorCount>128/</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC84014" supply="3V"> | ||||||
|  |       <sectorSize>4096</sectorSize> | ||||||
|  |       <sectorCount>256/</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC84015" supply="3V"> | ||||||
|  |       <sectorSize>4096</sectorSize> | ||||||
|  |       <sectorCount>512/</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xC84016" supply="3V"> | ||||||
|  |       <sectorSize>4096</sectorSize> | ||||||
|  |       <sectorCount>1024/</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <device cmd="MICRON" jedec="x20BA16" supply="3V"> | ||||||
|  |     <sectorSize>4096</sectorSize> | ||||||
|  |     <sectorCount>1024/</sectorCount> | ||||||
|  |   </device> | ||||||
|  |   <category cmd="EON"> | ||||||
|  |     <device jedec="x1C3013"> | ||||||
|  |       <sectorCount>128</sectorCount> | ||||||
|  |       <!-- this device needs a min CS high time of 100ns between two reads --> | ||||||
|  |       <cfg>0x000010CC</cfg> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x1C3014"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x1C7015"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="EON" supply="1.8V"> | ||||||
|  |     <!-- these devices needs a min CS high time of 30ns between two reads --> | ||||||
|  |     <cfg>0x000004CC</cfg> | ||||||
|  |     <device jedec="x1C3814"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x1C3815"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x1C3816"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="x1C3817"> | ||||||
|  |       <!-- the SQI block only supports up to 32MBit --> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <category cmd="FIDELIX"> | ||||||
|  |     <device jedec="xF83214"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xF83215"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xF84214" supply="1.8V"> | ||||||
|  |       <sectorCount>256</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xF84215" supply="1.8V"> | ||||||
|  |       <sectorCount>512</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xF84216" supply="1.8V"> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |     <device jedec="xF84217" supply="1.8V"> | ||||||
|  |       <!-- the SQI block only supports up to 32MBit --> | ||||||
|  |       <sectorCount>1024</sectorCount> | ||||||
|  |     </device> | ||||||
|  |   </category> | ||||||
|  |   <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> | ||||||
|  |   <!-- %   Don't touch anything below here. This is autogenerated!   % --> | ||||||
|  |   <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> | ||||||
|  |   <cmdset name="EON"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>4ae9f731</checksum> | ||||||
|  |     <code>021e2406c130140000100000000800005a000000cc020000e02e0000100000008900000025010000b1010000490400003d02000000000000b9ab03ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5234e2148f16a012201eb0005214913460a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd10a4d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bd0000006cdc0200a001400020004006ffffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd18ffffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd8cfeffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08ffefdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000f4fbffff0020004000a00140</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="FIDELIX"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>b2daeed8</checksum> | ||||||
|  |     <code>021e5c08c130140000100000800000005a000000cc0a0000e02e000010000000890000008901000015020000ad040000a102000089060000b9ab03ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="GIGADEVICE"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>853b6a2b</checksum> | ||||||
|  |     <code>021a5c08c840130000100000800000000a000000cc020000e02e000010000000890000008901000015020000ad040000a102000089060000000000ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="MACRONIX"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>215f4423</checksum> | ||||||
|  |     <code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffffb030005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="MACRONIX2"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>d51ae60f</checksum> | ||||||
|  |     <code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="MICRON"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>3d2ff0c5</checksum> | ||||||
|  |     <code>021a480520ba1600001000000004000000000000cc020000e02e0000100000008900000013010000bd040000fb0100000b03000000000000000000ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5ff480122ff4ef16a134601eb0005fd490a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd1e74d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bdf0b5de4901240c610620c8618868c007fcd1cc600c618120c8618868c007fcd16720c8618868c007fcd1cc60d54ed24f7e44d048083efb6a012203440c614ff00500c8614ff0000c4ff480758868c007fcd112b1f86ac01a06d5cd618868c007fcd1086ac007f4d1cc600c6196f83b00c8618868c007fcd102208861c1f81cc08868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1306900f00f02c0f3031040ea0210c8618868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cc60f0bdf0b5a54c7c44c43c94f842300125a14e4ff0000c2f024bb9c6f818c03561ff23f361b368db07fcd1f56032e03561c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd194f84230f361b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f560c6f818c035610623f361b368db07fcd1f56035610224f461b368db07fcd1c0f30743f361b368db07fcd1c0f30723f361b368db07fcd1c0b2f061b068c007fcd111f8010bf061b068c007fcd1521ef7d1f560014635610522f261b268d207fcd1684b11b1da6a121a06d5f761b268d207fcd1326ad207f4d1f560fff706ff2046f0bd2de9f04f624c7c4494f842505e4a01234ff0000c4ff480784db9c2f818c01361ff25d5619568ed07fcd1d36036e01361c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd194f84250d5619568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1d360c2f818c06578ed0700d10021a0f5000013610625d5619568ed07fcd1d36013612025d5619568ed07fcd1c0f30745d5619568ed07fcd1c0f30725d5619568ed07fcd1c0b2d0619068c007fcd1d360a06909b1012500e00025244f0db1fe6a3144fe6a136106444ff0050ac2f81ca09068c007fcd1dff884e04ff0e02bb94665b1d9f82c00471a06d5801b06d4dbf8040d10ea0e0f01d0d36009e0c2f81c809068c007fcd1106ac007e9d1d3609c46bcf1000f01d002242ae0136194f84000d0619068c007fcd1d36001461361c2f81ca09468e407fcd14c46454611b1e66a361a13d5d5610be0006cdc0200a001400020004006ffffff30fdffff016002009668f607efd1166af607e7d1d3600124fff72ffe2046bde8f08f000010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd80fbffff00200040</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="SPANSION"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>2b5e2d56</checksum> | ||||||
|  |     <code>021bbc08ef401300001000008000000002000000cc000000e02e00001000000089000000e9010000750200000d05000001030000e9060000b9ab06ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="SST"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>7df33088</checksum> | ||||||
|  |     <code>021b6804bf26020000100000000400000000000bc5000000e02e0000100000000f0100008900000000000000ad030000cf010000e502000000000000ffffffff00000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5f2480021816101240461ff21c1618168c907fcd1c46004613821c1618168c907fcd1c4600221816104616621c1618168c907fcd1c46000bf00bf00bf00bf04619921c1618168c907fcd1c460e14ddf49eb6a01220b4404614ff00501c1618168c907fcd14ff4807622b1e96ac91a01d4c46070bdc6618168c907fcd1016a0906f2d4f5e7f0b5d04901240c616620c8618868c007fcd1cc6000bf00bf00bf00bf0c619920c8618868c007fcd1cc60c84dc748eb6a012203440c614ff0050cc1f81cc04ff000074ff480768868c007fcd112b1e86ac01a06d5ce618868c007fcd1086a0006f4d4cc600c610620c8618868c007fcd1cc600a200c614222ca618a68d207fcd1cf618a68d207fcd1401ef9d1cc60eb6a4bf6803201201a440c61c1f81cc08b68db07fcd120b1eb6a9b1a01d4cc60f0bdce618b68db07fcd10b6a1b06f2d4f5e72de9f04fa04b0124a0f500001c610527df619a68d207fcd14ff48078c3f81c809a68d207fcd1dc601a6a12f00c0f02d00320bde8f08f1c610622da619a68d207fcd1dc601c612022da619a68d207fcd1c0f30742da619a68d207fcd1c0f30722da619a68d207fcd1c0b2d8619868c007fcd1dc6087487844c06d09b1012200e00022824e0ab1f56a2944f56a1c610544b946df614ff0000b9868c007fcd17d4f4ff0e02a62b1f06ab0eb010c05d5401b06d4daf8040d384202d0dc60584609e0c3f81c809868c007fcd1186a0006e9d42046dc6008b10220abe71c61b020d8619868c007fcd1dc6000210a461c61c3f81c909868c007fcd112b1f06a401a07d5c3f81c809868c007fcd1186a0006f3d4dc6001208de72de9f04f5a4b01241c613021d9619968c907fcd1dc6059497944b839c96d08b1012200e00022dff8508112b1d8f82c502844d8f82c501c610d444ff0050ac3f81ca04ff0000b4ff480769968c907fcd14b4f4ff0e0296ab1d8f82c10b1eb000c05d5491b06d4d9f8041d394202d0dc60584608e0de619968c907fcd1196a0906e9d42046dc60e8b91c61b020d8619868c007fcd1dc6000210a461c61c3f81ca09868c007fcd11ab1d8f82c00401a06d5de619868c007fcd1186a0006f3d4dc6001202be7022029e7f0b5294b01241c610525dd619e68f607fcd14ff48077df619e68f607fcd1dc601e6a16f00c0f01d00320f0bd1c610626de619e68f607fcd1dc601c610226de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c61dd619868c007fcd1094d12b1e86a401a06d5df619868c007fcd1186a0006f4d4dc600220f0bd000000200040006cdc0200a00140b8fdffff01600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="SST2"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>7ee13dd7</checksum> | ||||||
|  |     <code>021b1409bf26430000100000000800005a000000cc000000e02e0000100000008900000041020000cd020000650500005903000041070000000000ebffffffffb03000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000feb5654a7a4492f84200002501246349260240b98d610c61ff20c8618868c007fcd1cc602ce00c61cd618868c007fcd1cd618868c007fcd1cd618868c007fcd192f84200c8618868c007fcd1cd618868c007fcd1cd618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1cc608d61484f4748fb6a012203440c614ff00500c8618868c007fcd112b1f86ac01a06d5ce618868c007fcd1086ac007f4d1cc600c610620c8618a68d207fcd1cc600c61cc618a68d207fcd1cd618a68d207fcd10222ca618a68d207fcd1cc600c61c8618868c007fcd1cc600c619820c8618868c007fcd1cc600c610327cf618868c007fcd1cd618868c007fcd1cd618868c007fcd11820c8618868c007fcd16b46ce618a68d207fcd10a6a1a54401c0328f6d3cc600c61cf618868c007fcd19df802008038c8618868c007fcd19df80100c8618868c007fcd19df80000c8618868c007fcd1ce618a68d207fcd10f6a421c1f5410460c2af5d3cc600b490098884209d10a490198884205d109490298884201d108480571febd0000b4ffffff00200040006cdc0200a00140312e30302028353938343329204e002010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdfcfdffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd70fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08fe2fcffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000d8faffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000faf8ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  |   <cmdset name="WINBOND"> | ||||||
|  |     <length>4032</length> | ||||||
|  |     <checksum>94ad0fde</checksum> | ||||||
|  |     <code>021bbc08ef401300001000008000000002000000c4000000e02e00001000000089000000e9010000750200000d05000001030000e9060000000000e3ffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code> | ||||||
|  |   </cmdset> | ||||||
|  | </flash> | ||||||
|  | @ -0,0 +1,13 @@ | ||||||
|  | #!/usr/bin/env sh | ||||||
|  | 
 | ||||||
|  | systemctl stop gpsd | ||||||
|  | systemctl stop gpsd.socket | ||||||
|  | killall gpsd | ||||||
|  | killall ser2net | ||||||
|  | fwupdate -p /dev/ttyS3 -F /lib/firmware/ubx-fw-flash.xml /lib/firmware/UBX_M8_301_ADR_421_NEO_M8L.bin | ||||||
|  | 
 | ||||||
|  | if [ $? -eq 0 ]; then | ||||||
|  | 	echo "Firmware update was successful, please do a full power cycle of the device" | ||||||
|  | else | ||||||
|  | 	echo "Firmware update failed" | ||||||
|  | fi | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1,42 @@ | ||||||
|  | SUMMARY = "FW update tool for ublox NEO-M8L" | ||||||
|  | DESCRIPTION = "Fw update tool for ublox NEO-M8L" | ||||||
|  | SECTION = "utils" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | LICENSE="Proprietary" | ||||||
|  | LIC_FILES_CHKSUM="file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" | ||||||
|  | 
 | ||||||
|  | DEPENDS = "ncurses" | ||||||
|  | 
 | ||||||
|  | SRC_URI = "file://ubx-fw-update.tar.gz \ | ||||||
|  |            file://flash.xml \ | ||||||
|  |            file://UBX_M8_301_ADR_421_NEO_M8L.bin \ | ||||||
|  |            file://gnss-fw-update \ | ||||||
|  |           " | ||||||
|  | 
 | ||||||
|  | PACKAGECONFIG ?= "" | ||||||
|  | PACKAGECONFIG[ubx-tool-only] = "" | ||||||
|  | 
 | ||||||
|  | S = "${WORKDIR}/ubx-fw-update" | ||||||
|  | 
 | ||||||
|  | do_compile() { | ||||||
|  |      oe_runmake | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | do_install() { | ||||||
|  |     install -d ${D}${bindir} | ||||||
|  |     install -m 0755 fwupdate ${D}${bindir}/ | ||||||
|  | 
 | ||||||
|  |     if ! ${@bb.utils.contains('PACKAGECONFIG','ubx-tool-only','true','false',d)}; then | ||||||
|  |         install -m 0755 ../gnss-fw-update ${D}${bindir}/ | ||||||
|  | 
 | ||||||
|  |         install -d  ${D}${nonarch_base_libdir}/firmware/ | ||||||
|  |         install -m 0644 ../UBX_M8_301_ADR_421_NEO_M8L.bin ${D}${nonarch_base_libdir}/firmware/ | ||||||
|  |         install -m 0644 ../flash.xml ${D}${nonarch_base_libdir}/firmware/ubx-fw-flash.xml | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | FILES_${PN} = " \ | ||||||
|  |                ${bindir} \ | ||||||
|  |                ${nonarch_base_libdir} \ | ||||||
|  |               " | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | DESCRIPTION = "Configuration binary wlconf for ti wifi chips" | ||||||
|  | HOMEPAGE = "http://www.netmodule.com/" | ||||||
|  | LICENSE = "GPLv2" | ||||||
|  | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" | ||||||
|  | 
 | ||||||
|  | SRC_URI = "git://gitlab.com/netmodule/tools/wlconf-bin.git;protocol=ssh;user=git;branch=master" | ||||||
|  | 
 | ||||||
|  | S = "${WORKDIR}/git" | ||||||
|  | SRCREV = "${AUTOREV}" | ||||||
|  | 
 | ||||||
|  | INSTALLPATH = "${nonarch_base_libdir}/firmware/ti-connectivity" | ||||||
|  | CONFIGBINARY = "wl18xx-conf.bin" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | FILES_${PN} += "${nonarch_base_libdir}/firmware/" | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  | do_install () { | ||||||
|  |      | ||||||
|  |     install -d ${D}/${INSTALLPATH} | ||||||
|  | 
 | ||||||
|  |     if ls ${S}/wlconf-8.7.3/bin/${MACHINE}/${CONFIGBINARY} 1> /dev/null 2>&1 ; then | ||||||
|  |        install -m 0644 ${S}/wlconf-8.7.3/bin/${MACHINE}/${CONFIGBINARY} ${D}/${INSTALLPATH} | ||||||
|  |        ln -sfr ${D}/${INSTALLPATH}/${CONFIGBINARY} ${D}${nonarch_base_libdir}/firmware/${CONFIGBINARY} | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | @ -8,12 +8,10 @@ RDEPENDS_${PN} += " \ | ||||||
|     python3-setuptools \ |     python3-setuptools \ | ||||||
|     python3-configparser \ |     python3-configparser \ | ||||||
|     python3-systemd \ |     python3-systemd \ | ||||||
|     lmsensors-sensors \ |  | ||||||
|     lmsensors-config-libsensors \ |  | ||||||
|     " |     " | ||||||
| DEPENDS = "python3-setuptools-git-version-native" | DEPENDS = "python3-setuptools-git-version-native" | ||||||
| 
 | 
 | ||||||
| inherit gitpkgv systemd allarch | inherit gitpkgv systemd | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Package Version (built from tags) | # Package Version (built from tags) | ||||||
|  | @ -23,7 +21,7 @@ PV = "1.0-git${SRCPV}" | ||||||
| 
 | 
 | ||||||
| PR = "r1" | PR = "r1" | ||||||
| 
 | 
 | ||||||
| SRCREV = "f885ccb90b31c90bfed0b6d62c26ad64d69805c1" | SRCREV ?= "${AUTOREV}" | ||||||
| SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \ | SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \ | ||||||
|            file://wwan-config@.service \ |            file://wwan-config@.service \ | ||||||
|            file://default.conf \ |            file://default.conf \ | ||||||
|  | @ -32,31 +30,27 @@ S = "${WORKDIR}/git" | ||||||
| 
 | 
 | ||||||
| inherit setuptools3  | inherit setuptools3  | ||||||
| 
 | 
 | ||||||
|  | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||||||
|  | do_configure_prepend() { | ||||||
|  |     cp ${S}/platforms/${MACHINE}/* ${S}/wwan_config | ||||||
|  | } | ||||||
|  | 
 | ||||||
| do_install_append() { | do_install_append() { | ||||||
|     install -d ${D}/${systemd_unitdir}/system/ |     install -d ${D}/${systemd_unitdir}/system/ | ||||||
|     install -m 0644 ${WORKDIR}/wwan-config@.service ${D}/${systemd_unitdir}/system/ |     install -m 0644 ${WORKDIR}/wwan-config@.service ${D}/${systemd_unitdir}/system/ | ||||||
| 
 | 
 | ||||||
|     install -d ${D}/${sysconfdir}/wwan |     install -d ${D}/${sysconfdir}/wwan | ||||||
|     if [ ! -z "${WWAN_NBR}" ] ; then |     if [ ! -z "${WWAN_NBR}" ] ; then | ||||||
|         install -d ${D}${sysconfdir}/systemd/system/multi-user.target.requires/ |         install -d ${D}${sysconfdir}/systemd/system/multi-user.target.wants/ | ||||||
|         for i in `seq 0 ${WWAN_NBR}`; do  |         for i in `seq 0 ${WWAN_NBR}`; do  | ||||||
|             if [ $i = ${WWAN_NBR} ]; then continue; fi |             if [ $i = ${WWAN_NBR} ]; then continue; fi | ||||||
| 
 | 
 | ||||||
|             if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ] ; then |             if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ] ; then | ||||||
|                 ln -sf ${systemd_unitdir}/system/wwan-config@.service \ |                 ln -sf ${systemd_unitdir}/system/wwan-config@.service \ | ||||||
|                     ${D}${sysconfdir}/systemd/system/multi-user.target.requires/wwan-config@wwan$i.service |                     ${D}${sysconfdir}/systemd/system/multi-user.target.wants/wwan-config@wwan$i.service | ||||||
|             fi |             fi | ||||||
| 
 | 
 | ||||||
|             install -m 0644 ${WORKDIR}/default.conf ${D}${sysconfdir}/wwan/wwan$i.conf |             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 |         done | ||||||
|     fi |     fi | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -3,7 +3,6 @@ | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| # Define a private APN to be used by the modem | # 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: | # Required fields: | ||||||
| #     apn:      Name of the access point | #     apn:      Name of the access point | ||||||
|  | @ -41,7 +40,6 @@ SIM=auto | ||||||
| #  - Bridge : The modem will only act as a Bridge between the local and the GSM network. | #  - Bridge : The modem will only act as a Bridge between the local and the GSM network. | ||||||
| # | # | ||||||
| # usb_profile (+UUSBCONF) : | # usb_profile (+UUSBCONF) : | ||||||
| #  ! ONLY USED WITH TOBY-L2, will be ignored for other modems |  | ||||||
| #  Select between different network/usb interfaces : | #  Select between different network/usb interfaces : | ||||||
| #  - RNDIS | #  - RNDIS | ||||||
| #  - ECM | #  - ECM | ||||||
|  |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue