1 include $(TOPDIR
)/rules.mk
2 include $(INCLUDE_DIR
)/version.mk
8 PKG_SOURCE_URL
=$(PROJECT_GIT
)/project
/firmware
/qca-wireless.git
9 PKG_SOURCE_DATE
:=2023-03-18
10 PKG_SOURCE_VERSION
:=86180c4c07330e303edf0afd6c017932903ee080
11 PKG_MIRROR_HASH
:=283d6651f8a9088981065d476c01c7c0794279e108a96377468d5fcdc3882a12
15 include $(INCLUDE_DIR
)/package.mk
20 # Use ath10k-bdencoder from https://github.com/qca/qca-swiss-army-knife.git
21 # to generate the board-* files here.
23 # This is intended to be used on an interim basis until device-specific
24 # board data for new devices is available through the upstream compilation
26 # Please send a mail with your device-specific board files upstream.
27 # You can find instructions and examples on the linux-wireless wiki:
28 # <https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles>
34 buffalo_wxr-5950ax12 \
35 devolo_magic-2-wifi-next \
41 extreme-networks_ws-ap3915i \
53 sony_ncp-hg100-cellular \
61 ALLWIFIPACKAGES
:=$(foreach BOARD
,$(ALLWIFIBOARDS
),ipq-wifi-
$(BOARD
))
63 define Package
/ipq-wifi-default
64 SUBMENU
:=ath10k Board-Specific Overrides
67 DEPENDS
:=@
(TARGET_ipq40xx||TARGET_ipq806x||TARGET_ipq807x
)
71 define ipq-wifi-install-one-to
72 $(INSTALL_DIR
) $(2)/lib
/firmware
/ath10k
/$(3)/
73 $(INSTALL_DATA
) $(1) $(2)/lib
/firmware
/ath10k
/$(3)/board-2.bin
76 define ipq-wifi-install-ath11-one-to
77 $(INSTALL_DIR
) $(2)/lib
/firmware
/ath11k
/$(3)/
78 $(INSTALL_DATA
) $(1) $(2)/lib
/firmware
/ath11k
/$(3)/board-2.bin
81 define ipq-wifi-install-one
82 $(if
$(filter $(suffix $(1)),.QCA4019 .qca4019
),\
83 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA4019
/hw1.0
),\
84 $(if
$(filter $(suffix $(1)),.QCA9888 .qca9888
),\
85 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9888
/hw2.0
),\
86 $(if
$(filter $(suffix $(1)),.QCA9889 .qca9889
),\
87 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9887
/hw1.0
),\
88 $(if
$(filter $(suffix $(1)),.QCA9984 .qca9984
),\
89 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9984
/hw1.0
),\
90 $(if
$(filter $(suffix $(1)),.QCA99X0 .qca99x0
),\
91 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA99X0
/hw2.0
),\
92 $(if
$(filter $(suffix $(1)),.IPQ8074 .ipq8074
),\
93 $(call ipq-wifi-install-ath11-one-to
,$(1),$(2),IPQ8074
/hw2.0
),\
94 $(if
$(filter $(suffix $(1)),.QCN9074 .qcn9074
),\
95 $(call ipq-wifi-install-ath11-one-to
,$(1),$(2),QCN9074
/hw1.0
),\
96 $(error Unrecognized board-file
suffix '$(suffix $(1))' for
'$(1)')\
100 # Blank line required at end of above define due to foreach context
102 define generate-ipq-wifi-package
103 define Package
/ipq-wifi-
$(1)
104 $(call Package
/ipq-wifi-default
)
105 TITLE
:=board-2.bin Overrides for
$(2)
106 CONFLICTS
:=$(PREV_BOARD
)
109 define Package
/ipq-wifi-
$(1)/description
110 The
$(2) requires board-specific
, reference
("cal") data
111 that is not yet present in the upstream wireless firmware distribution.
113 This package supplies board-2.bin file
(s
) that
, in the interim
,
114 overwrite those supplied by the ath10k-firmware-
* packages.
116 This is package is only necessary for the
$(2).
118 Do not
install it for any other device
!
121 define Package
/ipq-wifi-
$(1)/install-overlay
122 $$$$(foreach IPQ_WIFI_BOARD_FILE
,$$$$(wildcard $(PKG_BUILD_DIR
)/board-
$(1).
*),\
123 $$$$(call ipq-wifi-install-one
,$$$$(IPQ_WIFI_BOARD_FILE
),$$(1)))
126 PREV_BOARD
+=ipq-wifi-
$(1)
129 # Add board name to ALLWIFIBOARDS
130 # Place files in this directory as board-<devicename>.<qca4019|qca9888|qca9889|qca9984|qca99x0|ipq8074>
131 # Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
133 $(eval
$(call generate-ipq-wifi-package
,8dev_habanero
,8devices Habanero
))
134 $(eval
$(call generate-ipq-wifi-package
,8dev_jalapeno
,8devices Jalapeno
))
135 $(eval
$(call generate-ipq-wifi-package
,aruba_ap-365
,Aruba AP-365
))
136 $(eval
$(call generate-ipq-wifi-package
,buffalo_wxr-5950ax12
,Buffalo WXR-5950AX12
))
137 $(eval
$(call generate-ipq-wifi-package
,devolo_magic-2-wifi-next
,devolo Magic
2 WiFi next
))
138 $(eval
$(call generate-ipq-wifi-package
,dynalink_dl-wrx36
,Dynalink DL-WRX36
))
139 $(eval
$(call generate-ipq-wifi-package
,edgecore_eap102
,Edgecore EAP102
))
140 $(eval
$(call generate-ipq-wifi-package
,edgecore_ecw5410
,Edgecore ECW5410
))
141 $(eval
$(call generate-ipq-wifi-package
,edgecore_oap100
,Edgecore OAP100
))
142 $(eval
$(call generate-ipq-wifi-package
,edimax_cax1800
,Edimax CAX1800
))
143 $(eval
$(call generate-ipq-wifi-package
,extreme-networks_ws-ap3915i
,Edgecore OAP100
))
144 $(eval
$(call generate-ipq-wifi-package
,glinet_gl-a1300
,GL.iNet GL-A1300
))
145 $(eval
$(call generate-ipq-wifi-package
,glinet_gl-ap1300
,GL.iNet GL-AP1300
))
146 $(eval
$(call generate-ipq-wifi-package
,glinet_gl-s1300
,GL.iNet GL-S1300
))
147 $(eval
$(call generate-ipq-wifi-package
,linksys_ea8300
,Linksys EA8300
))
148 $(eval
$(call generate-ipq-wifi-package
,linksys_whw03v2
,Linksys WHW03 V2
))
149 $(eval
$(call generate-ipq-wifi-package
,p2w_r619ac
,P
&W R619AC
))
150 $(eval
$(call generate-ipq-wifi-package
,pakedge_wr-1
,Pakedge WR-1
))
151 $(eval
$(call generate-ipq-wifi-package
,qnap_301w
,QNAP
301w
))
152 $(eval
$(call generate-ipq-wifi-package
,qxwlan_e2600ac-c1
,Qxwlan E2600AC C1
))
153 $(eval
$(call generate-ipq-wifi-package
,qxwlan_e2600ac-c2
,Qxwlan E2600AC C2
))
154 $(eval
$(call generate-ipq-wifi-package
,redmi_ax6
,Redmi AX6
))
155 $(eval
$(call generate-ipq-wifi-package
,sony_ncp-hg100-cellular
,Sony NCP-HG100
/Cellular
))
156 $(eval
$(call generate-ipq-wifi-package
,teltonika_rutx
,Teltonika RUTX
))
157 $(eval
$(call generate-ipq-wifi-package
,xiaomi_ax3600
,Xiaomi AX3600
))
158 $(eval
$(call generate-ipq-wifi-package
,xiaomi_ax9000
,Xiaomi AX9000
))
159 $(eval
$(call generate-ipq-wifi-package
,zte_mf18a
,ZTE MF18A
))
160 $(eval
$(call generate-ipq-wifi-package
,zte_mf289f
,ZTE MF289F
))
161 $(eval
$(call generate-ipq-wifi-package
,zyxel_nbg7815
,Zyxel NBG7815
))
163 $(foreach PACKAGE
,$(ALLWIFIPACKAGES
),$(eval
$(call BuildPackage
,$(PACKAGE
))))