ath79: add support for YunCore TFTP image generation

YunCore QCA9k based devices released in 2019 require a custom TFTP image
for U-Boot built-in recovery mode (triggered with reset button). Image
has to be prepended with 'YUNCORE' keyword followed by U-Boot CLI
commands which will be executed later. Images without the custom header
will be ignored by U-Boot.

To be able to support both the vendor firmware (QSDK) and OpenWrt flash
layouts, used here commands change the 'bootcmd' before flashing image.

This commit adds generic helper script for YunCore devices with 16 MB of
flash and enables TFTP image generation for A770 model.

Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
[pepe2k@gmail.com: commit description reworded, recipe renamed]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
(cherry picked from commit 8016f64864)
openwrt-19.07
Vincent Wiemann 2019-08-13 01:26:45 +02:00 committed by Piotr Dymacz
parent 449433d131
commit 83a18aefbd
2 changed files with 15 additions and 0 deletions

View File

@ -0,0 +1,12 @@
define Build/yuncore-tftp-header-16m
( \
echo -n -e \
"YUNCOREsetenv bootcmd \"bootm 0x9f050000 || bootm 0x9fe80000\"" \
"&& saveenv" \
"&& erase 0x9f050000 +0xfa0000" \
"&& cp.b 0x800600c0 0x9f050000 0xfa0000" |\
dd bs=192 count=1 conv=sync; \
dd if=$@; \
) > $@.new
mv $@.new $@
endef

View File

@ -1,5 +1,6 @@
include ./common-buffalo.mk include ./common-buffalo.mk
include ./common-netgear.mk include ./common-netgear.mk
include ./common-yuncore.mk
DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
@ -717,6 +718,8 @@ define Device/yuncore_a770
DEVICE_TITLE := YunCore A770 DEVICE_TITLE := YunCore A770
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
IMAGE_SIZE := 16000k IMAGE_SIZE := 16000k
IMAGES += tftp.bin
IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
endef endef
TARGET_DEVICES += yuncore_a770 TARGET_DEVICES += yuncore_a770