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 000000000..7d9ed7eef Binary files /dev/null and b/package/firmware/ipq-wifi/src/board-aliyun_ap8220.ipq8074 differ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts index b691d372a..f7a71a4a2 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts @@ -15,6 +15,7 @@ aliases { serial0 = &blsp1_uart5; + serial1 = &blsp1_uart3; led-boot = &led_pwr; led-failsafe = &led_pwr; led-running = &led_pwr; @@ -23,7 +24,7 @@ chosen { stdout-path = "serial0:115200n8"; - bootargs-append = " root=/dev/ubiblock0_1 swiotlb=1 coherent_pool=2M"; + bootargs-append = " root=/dev/ubiblock0_1"; }; keys { @@ -259,6 +260,10 @@ }; }; +&blsp1_uart3 { + status = "okay"; +}; + &blsp1_uart5 { status = "okay"; }; @@ -348,9 +353,17 @@ &dp5 { status = "okay"; phy-handle = <&qca8081_24>; + 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