From 62329a55f8ad6300d69d008054aef81fc4a9b18a Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Sat, 25 Jan 2025 22:01:02 +0800 Subject: [PATCH] qualcommax: ipq807x: improve support for Aliyun AP8220 --- package/firmware/ipq-wifi/Makefile | 2 ++ .../ipq-wifi/src/board-aliyun_ap8220.ipq8074 | Bin 0 -> 131176 bytes .../arm64/boot/dts/qcom/ipq8071-ap8220.dts | 15 +++++++- target/linux/qualcommax/image/ipq807x.mk | 2 +- .../ipq807x/base-files/etc/board.d/02_network | 33 ++++++++++++++---- .../etc/hotplug.d/firmware/11-ath11k-caldata | 1 + .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 1 + 7 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 package/firmware/ipq-wifi/src/board-aliyun_ap8220.ipq8074 diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 63107e46a..50ed49082 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -28,6 +28,7 @@ endef # ALLWIFIBOARDS:= \ + aliyun_ap8220 \ arcadyan_aw1000 \ buffalo_wxr-5950ax12 \ compex_wpq873 \ @@ -139,6 +140,7 @@ endef # Place files in this directory as board-. # Add $(eval $(call generate-ipq-wifi-package,,)) +$(eval $(call generate-ipq-wifi-package,aliyun_ap8220,Aliyun AP8220)) $(eval $(call generate-ipq-wifi-package,arcadyan_aw1000,Arcadyan AW1000)) $(eval $(call generate-ipq-wifi-package,buffalo_wxr-5950ax12,Buffalo WXR-5950AX12)) $(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873)) diff --git a/package/firmware/ipq-wifi/src/board-aliyun_ap8220.ipq8074 b/package/firmware/ipq-wifi/src/board-aliyun_ap8220.ipq8074 new file mode 100644 index 0000000000000000000000000000000000000000..7d9ed7eefeb41d3686e28b80e3ea5633d5cec228 GIT binary patch literal 131176 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 + label = "lan"; }; &dp6 { status = "okay"; phy-handle = <&qca8081_28>; + label = "wan"; +}; + +&wifi { + status = "okay"; + qcom,ath11k-calibration-variant = "Aliyun-AP8220"; + qcom,ath11k-fw-memory-mode = <1>; }; diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index d8e9b3d30..d2c544a5d 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -42,7 +42,7 @@ define Device/aliyun_ap8220 PAGESIZE := 2048 DEVICE_DTS_CONFIG := config@ac02 SOC := ipq8071 - IMAGE/factory.ubi := append-ubi | qsdk-ipq-factory-nand + DEVICE_PACKAGES := ipq-wifi-aliyun_ap8220 endef TARGET_DEVICES += aliyun_ap8220 diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network index aca67ade9..f73c6fd31 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network @@ -11,8 +11,11 @@ ipq807x_setup_interfaces() local board="$1" case "$board" in - aliyun,ap8220) - ucidef_set_interfaces_lan_wan "eth1" "eth0" + aliyun,ap8220|\ + edgecore,eap102|\ + yuncore,ax880|\ + zte,mf269) + ucidef_set_interfaces_lan_wan "lan" "wan" ;; arcadyan,aw1000|\ buffalo,wxr-5950ax12|\ @@ -28,11 +31,6 @@ ipq807x_setup_interfaces() xiaomi,ax3600) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" ;; - edgecore,eap102|\ - yuncore,ax880|\ - zte,mf269) - ucidef_set_interfaces_lan_wan "lan" "wan" - ;; edimax,cax1800) ucidef_set_interfaces_lan_wan "lan" ;; @@ -61,9 +59,30 @@ ipq807x_setup_interfaces() esac } +ipq807x_setup_macs() +{ + local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" + + case "$board" in + aliyun,ap8220) + wan_mac=$(mtd_get_mac_text product_info 0x4b) + lan_mac=$(macaddr_add "$wan_mac" 1) + label_mac="$wan_mac" + ;; + esac + + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac + [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac +} + board_config_update board=$(board_name) ipq807x_setup_interfaces $board +ipq807x_setup_macs $board board_config_flush exit 0 diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index dc86f5c54..6f3689a97 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -9,6 +9,7 @@ board=$(board_name) case "$FIRMWARE" in "ath11k/IPQ8074/hw2.0/cal-ahb-c000000.wifi.bin") case "$board" in + aliyun,ap8220|\ arcadyan,aw1000|\ buffalo,wxr-5950ax12|\ cmcc,rm2-6|\ diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac index 783227f82..41d657d84 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac +++ b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac @@ -14,6 +14,7 @@ case "$board" in [ "$PHYNBR" = "0" ] && macaddr_add $(get_mac_label) 1 > /sys${DEVPATH}/macaddress [ "$PHYNBR" = "1" ] && macaddr_add $(get_mac_label) 2 > /sys${DEVPATH}/macaddress ;; + aliyun,ap8220|\ cmcc,rm2-6|\ zte,mf269) [ "$PHYNBR" = "0" ] && macaddr_add $(get_mac_label) 2 > /sys${DEVPATH}/macaddress