| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- --- a/include/image-commands.mk
- +++ b/include/image-commands.mk
- @@ -502,6 +502,34 @@ define Build/kernel-bin
- cp $< $@
- endef
-
- +define Build/gl-qsdk-factory
- + $(eval GL_NAME := $(call param_get_default,type,$(1),$(DEVICE_NAME)))
- + $(eval GL_IMGK := $(KDIR_TMP)/$(DEVICE_IMG_PREFIX)-squashfs-factory.img)
- + $(eval GL_ITS := $(KDIR_TMP)/$(GL_NAME).its)
- + $(eval GL_UBI := "ubi")
- +
- + $(CP) $(BOOT_SCRIPT) $(KDIR_TMP)/
- + $(shell mv $(GL_IMGK) $(GL_IMGK).tmp)
- +
- + sed -i "s/rootfs_size/`wc -c $(GL_IMGK) | \
- + cut -d " " -f 1 | xargs printf "0x%x"`/g" $(KDIR_TMP)/$(BOOT_SCRIPT);
- +
- + $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \
- + $(GL_ITS) \
- + $(GL_UBI) \
- + $(GL_IMGK) \
- + $(BOOT_SCRIPT)
- +
- + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f \
- + $(GL_ITS) \
- + $(GL_IMGK)
- +
- + $(RM) \
- + $(GL_ITS) \
- + $(GL_IMGK).tmp \
- + $(KDIR_TMP)/$(notdir $(BOOT_SCRIPT))
- +endef
- +
- define Build/linksys-image
- let \
- size="$$(stat -c%s $@)" \
- --- a/target/linux/qualcommax/image/ipq50xx.mk
- +++ b/target/linux/qualcommax/image/ipq50xx.mk
- @@ -41,6 +41,33 @@ define Device/linksys_mx5500
- endef
- TARGET_DEVICES += linksys_mx5500
-
- +define Device/cmcc_rax3000q
- + $(call Device/FitImage)
- + $(call Device/UbiFit)
- + SOC := ipq5018
- + DEVICE_VENDOR := CMCC
- + DEVICE_MODEL := RAX3000Q
- + BLOCKSIZE := 128k
- + PAGESIZE := 2048
- + DEVICE_DTS_CONFIG := [email protected]
- + DEVICE_PACKAGES := ath11k-firmware-qcn6122 ipq-wifi-cmcc_rax3000q
- +endef
- +TARGET_DEVICES += cmcc_rax3000q
- +
- +define Device/jdcloud_re-cs-03
- + $(call Device/FitImage)
- + $(call Device/EmmcImage)
- + DEVICE_VENDOR := JDCloud
- + DEVICE_MODEL := AX3000
- + BLOCKSIZE := 128k
- + KERNEL_SIZE := 6144k
- + SOC := ipq5018
- + DEVICE_DTS_CONFIG := [email protected]
- + DEVICE_PACKAGES := ipq-wifi-jdcloud_re-cs-03
- + IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-rootfs | append-metadata
- + endef
- + TARGET_DEVICES += jdcloud_re-cs-03
- +
- define Device/linksys_spnmx56
- $(call Device/linksys_ipq50xx_mx_base)
- DEVICE_MODEL := SPNMX56
- --- a/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network
- +++ b/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network
- @@ -13,6 +13,8 @@ ipq50xx_setup_interfaces()
- linksys,mr5500)
- ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
- ;;
- + cmcc,rax3000q|\
- + jdcloud,re-cs-03|\
- linksys,mx2000|\
- linksys,mx5500|\
- linksys,spnmx56)
- --- a/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh
- +++ b/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh
- @@ -74,6 +74,11 @@ platform_do_upgrade() {
- glinet,gl-b3000)
- glinet_do_upgrade "$1"
- ;;
- + jdcloud,re-cs-03)
- + CI_KERNPART="0:HLOS"
- + CI_ROOTPART="rootfs"
- + emmc_do_upgrade "$1"
- + ;;
- linksys,mr5500|\
- linksys,mx2000|\
- linksys,mx5500|\
- @@ -87,3 +92,13 @@ platform_do_upgrade() {
- ;;
- esac
- }
- +
- +platform_copy_config() {
- + case "$(board_name)" in
- + jdcloud,re-cs-03)
- + emmc_copy_config
- + ;;
- + esac
- + return 0;
- +}
- +
- --- a/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
- +++ b/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
- @@ -15,11 +15,15 @@ case "$FIRMWARE" in
- ath11k_patch_mac $wlan_mac 0
- ath11k_set_macflag
- ;;
- - glinet,gl-b3000)
- + glinet,gl-b3000|\
- + cmcc,rax3000q)
- caldata_extract "0:art" 0x1000 0x20000
- ath11k_patch_mac $(macaddr_add $(get_mac_label_dt) 3) 0
- ath11k_set_macflag
- ;;
- + jdcloud,re-cs-03)
- + caldata_extract_mmc "0:ART" 0x1000 0x20000
- + ;;
- linksys,mr5500|\
- linksys,mx2000|\
- linksys,mx5500|\
- @@ -40,11 +44,15 @@ case "$FIRMWARE" in
- ath11k_patch_mac $wlan_mac 0
- ath11k_set_macflag
- ;;
- - glinet,gl-b3000)
- + glinet,gl-b3000|\
- + cmcc,rax3000q)
- caldata_extract "0:art" 0x26800 0x20000
- ath11k_patch_mac $(macaddr_add $(get_mac_label_dt) 4) 0
- ath11k_set_macflag
- ;;
- + jdcloud,re-cs-03)
- + caldata_extract_mmc "0:ART" 0x26800 0x20000
- + ;;
- linksys,mx2000)
- caldata_extract "0:ART" 0x26800 0x20000
- label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
- --- a/package/firmware/ipq-wifi/Makefile
- +++ b/package/firmware/ipq-wifi/Makefile
- @@ -33,6 +33,7 @@ ALLWIFIBOARDS:= \
- asus_rt-ax89x \
- buffalo_wxr-5950ax12 \
- cambiumnetworks_xe34 \
- + cmcc_rax3000q \
- cmcc_rm2-6 \
- compex_wpq873 \
- dynalink_dl-wrx36 \
- @@ -41,6 +42,7 @@ ALLWIFIBOARDS:= \
- glinet_gl-ax1800 \
- glinet_gl-axt1800 \
- glinet_gl-b3000 \
- + jdcloud_re-cs-03 \
- linksys_homewrk \
- linksys_mr5500 \
- linksys_mr7350 \
- @@ -183,6 +185,7 @@ $(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000))
- $(eval $(call generate-ipq-wifi-package,asus_rt-ax89x,Asus RT-AX89X))
- $(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12))
- $(eval $(call generate-ipq-wifi-package,cambiumnetworks_xe34,Cambium Networks XE3-4))
- +$(eval $(call generate-ipq-wifi-package,cmcc_rax3000q,CMCC RAX3000Q))
- $(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6))
- $(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873))
- $(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36))
- @@ -191,6 +194,7 @@ $(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800))
- $(eval $(call generate-ipq-wifi-package,glinet_gl-ax1800,GL.iNet GL-AX1800))
- $(eval $(call generate-ipq-wifi-package,glinet_gl-axt1800,GL.iNet GL-AXT1800))
- $(eval $(call generate-ipq-wifi-package,glinet_gl-b3000,GL.iNet GL-B3000))
- +$(eval $(call generate-ipq-wifi-package,jdcloud_re-cs-03,JDCloud RE-CS-03))
- $(eval $(call generate-ipq-wifi-package,linksys_homewrk,Linksys HomeWRK))
- $(eval $(call generate-ipq-wifi-package,linksys_mr5500,Linksys MR5500))
- $(eval $(call generate-ipq-wifi-package,linksys_mr7350,Linksys MR7350))
- --- a/scripts/mkits-qsdk-ipq-image.sh
- +++ b/scripts/mkits-qsdk-ipq-image.sh
- @@ -15,16 +15,19 @@
- #
-
- usage() {
- - echo "Usage: `basename $0` output img0_name img0_file [[img1_name img1_file] ...]"
- + echo "Usage: `basename $0` output [[device].bootscript] img0_name img0_file [[img1_name img1_file] ...]"
- exit 1
- }
-
- # We need at least 3 arguments
- -[ "$#" -lt 3 ] && usage
- +[ "$#" -lt 3 ] && usage || node_type="firmware"
-
- # Target output file
- OUTPUT="$1"; shift
-
- +# check for bootscript
- +[ "${1##*.}" = "bootscript" ] && has_script=true && node_type="script"
- +
- # Create a default, fully populated DTS file
- echo "\
- /dts-v1/;
- @@ -35,17 +38,30 @@ echo "\
-
- images {" > ${OUTPUT}
-
- -while [ -n "$1" -a -n "$2" ]; do
- - [ -f "$2" ] || usage
- +while [ -n "$1" -a -n "$2" ] || [ $has_script ]; do
- + [ -f "$2" ] || [ $has_script ] && has_script= || usage
-
- - name="$1"; shift
- - file="$1"; shift
- + case "$node_type" in
- + script)
- + name="$node_type"
- + file="$1"; shift
- + desc="${file%.*} uboot ${file##*.}"
- + type="$node_type"
- + node_type="firmware"
- + ;;
- + firmware)
- + name="$1"; shift
- + file="$1"; shift
- + desc="$name"
- + type="$node_type"
- + ;;
- + esac
-
- echo \
- " ${name} {
- - description = \"${name}\";
- + description = \"${desc}\";
- data = /incbin/(\"${file}\");
- - type = \"Firmware\";
- + type = \"${type}\";
- arch = \"ARM\";
- compression = \"none\";
- hash@1 {
|