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
:=2024-02-23
10 PKG_SOURCE_VERSION
:=9f9d9ba9cd77043744dcd5235497a15eea51c375
11 PKG_MIRROR_HASH
:=3a064a8810e6857580c4682f6b86a9dfcdb0d3aa361f4ec0c5480c54de4cc864
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>
33 buffalo_wxr-5950ax12 \
59 ALLWIFIPACKAGES
:=$(foreach BOARD
,$(ALLWIFIBOARDS
),ipq-wifi-
$(BOARD
))
61 define Package
/ipq-wifi-default
62 SUBMENU
:=ath10k Board-Specific Overrides
65 DEPENDS
:=@
(TARGET_ipq40xx||TARGET_ipq806x||TARGET_qualcommax
)
69 define ipq-wifi-install-one-to
70 $(INSTALL_DIR
) $(2)/lib
/firmware
/ath10k
/$(3)/
71 $(INSTALL_DATA
) $(1) $(2)/lib
/firmware
/ath10k
/$(3)/board-2.bin
74 define ipq-wifi-install-ath11-one-to
75 $(INSTALL_DIR
) $(2)/lib
/firmware
/ath11k
/$(3)/
76 $(INSTALL_DATA
) $(1) $(2)/lib
/firmware
/ath11k
/$(3)/board-2.bin
79 define ipq-wifi-install-one
80 $(if
$(filter $(suffix $(1)),.QCA4019 .qca4019
),\
81 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA4019
/hw1.0
),\
82 $(if
$(filter $(suffix $(1)),.QCA9888 .qca9888
),\
83 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9888
/hw2.0
),\
84 $(if
$(filter $(suffix $(1)),.QCA9889 .qca9889
),\
85 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9887
/hw1.0
),\
86 $(if
$(filter $(suffix $(1)),.QCA9984 .qca9984
),\
87 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA9984
/hw1.0
),\
88 $(if
$(filter $(suffix $(1)),.QCA99X0 .qca99x0
),\
89 $(call ipq-wifi-install-one-to
,$(1),$(2),QCA99X0
/hw2.0
),\
90 $(if
$(filter $(suffix $(1)),.IPQ6018 .ipq6018
),\
91 $(call ipq-wifi-install-ath11-one-to
,$(1),$(2),IPQ6018
/hw1.0
),\
92 $(if
$(filter $(suffix $(1)),.IPQ8074 .ipq8074 .ipq8174
),\
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 # To add local files for testing:
130 # 1. create a new directory in the ipq-wifi package directory called "files".
131 # 2. place there the needed board files.
133 # To send a board file upstream:
134 # 1. create a pull request in https://github.com/openwrt/firmware_qca-wireless or
135 # send a patch to the mailing list adding the tag firmware/qca-wireless before
137 # 2. create a pull request in the main openwrt repository bumping the ipq-wifi
138 # package to the new version and adding the required lines to add the board file.
140 # Changes needed to the ipq-wifi Makefile:
141 # 1. Add board name to ALLWIFIBOARDS
142 # 2. Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
144 # Board files should follow this name structure:
145 # board-<devicename>.<qca4019|qca9888|qca9889|qca9984|qca99x0|ipq8074>
147 $(eval
$(call generate-ipq-wifi-package
,8devices_mango
,8devices Mango
))
148 $(eval
$(call generate-ipq-wifi-package
,arcadyan_aw1000
,Arcadyan AW1000
))
149 $(eval
$(call generate-ipq-wifi-package
,buffalo_wxr-5950ax12
,Buffalo WXR-5950AX12
))
150 $(eval
$(call generate-ipq-wifi-package
,cmcc_rm2-6
,CMCC RM2-6
))
151 $(eval
$(call generate-ipq-wifi-package
,compex_wpq873
,Compex WPQ-873
))
152 $(eval
$(call generate-ipq-wifi-package
,dynalink_dl-wrx36
,Dynalink DL-WRX36
))
153 $(eval
$(call generate-ipq-wifi-package
,edgecore_eap102
,Edgecore EAP102
))
154 $(eval
$(call generate-ipq-wifi-package
,edimax_cax1800
,Edimax CAX1800
))
155 $(eval
$(call generate-ipq-wifi-package
,linksys_mx4200
,Linksys MX4200
))
156 $(eval
$(call generate-ipq-wifi-package
,linksys_mx5300
,Linksys MX5300
))
157 $(eval
$(call generate-ipq-wifi-package
,netgear_rax120v2
,Netgear RAX120v2
))
158 $(eval
$(call generate-ipq-wifi-package
,netgear_wax218
,Netgear WAX218
))
159 $(eval
$(call generate-ipq-wifi-package
,netgear_wax620
,Netgear WAX620
))
160 $(eval
$(call generate-ipq-wifi-package
,netgear_wax630
,Netgear WAX630
))
161 $(eval
$(call generate-ipq-wifi-package
,qnap_301w
,QNAP
301w
))
162 $(eval
$(call generate-ipq-wifi-package
,prpl_haze
,prpl Haze
))
163 $(eval
$(call generate-ipq-wifi-package
,redmi_ax6
,Redmi AX6
))
164 $(eval
$(call generate-ipq-wifi-package
,wallys_dr40x9
,Wallys DR40X9
))
165 $(eval
$(call generate-ipq-wifi-package
,xiaomi_ax3600
,Xiaomi AX3600
))
166 $(eval
$(call generate-ipq-wifi-package
,xiaomi_ax9000
,Xiaomi AX9000
))
167 $(eval
$(call generate-ipq-wifi-package
,yyets_le1
,YYeTs LE1
))
168 $(eval
$(call generate-ipq-wifi-package
,yuncore_ax880
,Yuncore AX880
))
169 $(eval
$(call generate-ipq-wifi-package
,zte_mf269
,ZTE MF269
))
170 $(eval
$(call generate-ipq-wifi-package
,zte_mf289f
,ZTE MF289F
))
171 $(eval
$(call generate-ipq-wifi-package
,zte_mf287
,ZTE MF287
))
172 $(eval
$(call generate-ipq-wifi-package
,zte_mf287plus
,ZTE MF287Plus
))
173 $(eval
$(call generate-ipq-wifi-package
,zyxel_nbg7815
,Zyxel NBG7815
))
175 $(foreach PACKAGE
,$(ALLWIFIPACKAGES
),$(eval
$(call BuildPackage
,$(PACKAGE
))))