ath10k-firmware: update qca9984 firmware
[oweals/openwrt.git] / package / firmware / ath10k-firmware / Makefile
1 #
2 # Copyright (C) 2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=ath10k-firmware
11 PKG_SOURCE_VERSION:=fead2ed867af4e107265059b9f578179d7409867
12 PKG_MIRROR_HASH:=47d6eb651c08e17772ed03451740ea7d73288b629385c0bd58c14a8675d2f89a
13 PKG_VERSION:=2016-12-15-$(PKG_SOURCE_VERSION)
14 PKG_RELEASE:=1
15
16 PKG_SOURCE_PROTO:=git
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
18 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
19 PKG_SOURCE_URL:=https://github.com/kvalo/ath10k-firmware.git
20
21 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/ath10k-firmware-default
26   SECTION:=firmware
27   CATEGORY:=Firmware
28   URL:=$(PKG_SOURCE_URL)
29   DEPENDS:=
30 endef
31
32 define Package/ath10k-firmware-qca9887
33 $(Package/ath10k-firmware-default)
34   TITLE:=ath10k firmware for QCA9887 devices
35 endef
36
37 QCA9887_REV:=3cce88e245f2d685e49411c4f80998f94baf67b8
38 QCA9887_FIRMWARE_FILE:=firmware-5.bin_10.2.4-1.0-00013
39 QCA9887_FIRMWARE_FILE_HASH:=5966408bd41f309edb595344b8dd088c0fed212debfd91e5f3e8a55ea119c16d
40 QCA9887_FIRMWARE_FILE_DL:=$(QCA9887_FIRMWARE_FILE).$(QCA9887_FIRMWARE_FILE_HASH)
41 QCA9887_BOARD_FILE:=board.bin
42 QCA9887_BOARD_FILE_HASH:=cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426
43 QCA9887_BOARD_FILE_DL:=$(QCA9887_BOARD_FILE).$(QCA9887_BOARD_FILE_HASH)
44
45 define Download/ath10k-qca9887-firmware
46   URL:=https://github.com/kvalo/ath10k-firmware/raw/$(QCA9887_REV)/QCA9887/hw1.0/
47   URL_FILE:=$(QCA9887_FIRMWARE_FILE)
48   FILE:=$(QCA9887_FIRMWARE_FILE_DL)
49   HASH:=$(QCA9887_FIRMWARE_FILE_HASH)
50 endef
51 $(eval $(call Download,ath10k-qca9887-firmware))
52
53 define Download/ath10k-qca9887-board
54   URL:=https://github.com/kvalo/ath10k-firmware/raw/$(QCA9887_REV)/QCA9887/hw1.0/
55   URL_FILE:=$(QCA9887_BOARD_FILE)
56   FILE:=$(QCA9887_BOARD_FILE_DL)
57   HASH:=$(QCA9887_BOARD_FILE_HASH)
58 endef
59 $(eval $(call Download,ath10k-qca9887-board))
60
61 define Package/ath10k-firmware-qca988x
62 $(Package/ath10k-firmware-default)
63   DEFAULT:=PACKAGE_kmod-ath10k
64   TITLE:=ath10k firmware for QCA988x devices
65   SECTION:=firmware
66   CATEGORY:=Firmware
67 endef
68
69 CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
70
71 define Download/ct-firmware
72   URL:=https://www.candelatech.com/downloads/$(2)
73   FILE:=$(call CT_FIRMWARE_FILE,$(1))
74   URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
75 endef
76
77 QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community.bin-18.rc2-lede
78 define Download/ath10k-firmware-qca988x-ct
79   $(call Download/ct-firmware,QCA988X,)
80   HASH:=43ee2cdde42b765671152d6491e5e6730ad57290baea3412f2b1b75a73563b23
81 endef
82 $(eval $(call Download,ath10k-firmware-qca988x-ct))
83
84 QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-8.bin-lede.005
85 define Download/ath10k-firmware-qca99x0-ct
86   $(call Download/ct-firmware,QCA99X0,ath10k-10-4)
87   HASH:=e6c69d82439eee49cea9dd34bb0198733e9c46d6405e714f47882dd3e48baed3
88 endef
89 $(eval $(call Download,ath10k-firmware-qca99x0-ct))
90
91 QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-8.bin-lede.005
92 define Download/ath10k-firmware-qca9984-ct
93   $(call Download/ct-firmware,QCA9984,ath10k-9984-10-4)
94   HASH:=0c935362f25a164c71328c52c57ac25834cc04c6a3e13eddb3c0a7473615347d
95 endef
96 $(eval $(call Download,ath10k-firmware-qca9984-ct))
97
98 define Package/ath10k-firmware-qca99x0
99 $(Package/ath10k-firmware-default)
100   TITLE:=ath10k firmware for QCA99x0 devices
101   SECTION:=firmware
102   CATEGORY:=Firmware
103 endef
104
105 define Package/ath10k-firmware-qca988x-ct
106 $(Package/ath10k-firmware-default)
107   TITLE:=ath10k CT 10.1 firmware for QCA988x devices
108   SECTION:=firmware
109   CATEGORY:=Firmware
110 endef
111
112 define Package/ath10k-firmware-qca988x-ct/description
113 Alternative ath10k firmware for QCA988X from Candela Technologies.
114 Enables IBSS and other features.  See:
115 http://www.candelatech.com/ath10k-10.1.php
116 This firmware will NOT be used unless the standard ath10k-firmware-qca988x
117 is un-selected since the driver will try to load firmware-5.bin before
118 firmware-2.bin
119 endef
120
121 define Package/ath10k-firmware-qca99x0-ct/description
122 Alternative ath10k firmware for QCA99x0 from Candela Technologies.
123 Enables IBSS and other features.  See:
124 http://www.candelatech.com/ath10k-10.4.php
125 This firmware conflicts with the standard 99x0 firmware, so select only
126 one.
127 endef
128
129 define Package/ath10k-firmware-qca9984-ct/description
130 Alternative ath10k firmware for QCA9984 from Candela Technologies.
131 Enables IBSS and other features.  See:
132 http://www.candelatech.com/ath10k-10.4.php
133 This firmware conflicts with the standard 9984 firmware, so select only
134 one.
135 endef
136
137 define Package/ath10k-firmware-qca99x0/description
138 Standard ath10k firmware for QCA99x0 from QCA
139 This firmware conflicts with the CT 99x0 firmware, so select only
140 one.
141 endef
142
143 define Package/ath10k-firmware-qca99x0-ct
144 $(Package/ath10k-firmware-default)
145   TITLE:=ath10k CT 10.4.3 firmware for QCA99x0 devices
146   SECTION:=firmware
147   CATEGORY:=Firmware
148 endef
149
150 define Package/ath10k-firmware-qca9984-ct
151 $(Package/ath10k-firmware-default)
152   TITLE:=ath10k CT 10.4.3 firmware for QCA9984 devices
153   SECTION:=firmware
154   CATEGORY:=Firmware
155 endef
156
157 define Package/ath10k-firmware-qca9984
158 $(Package/ath10k-firmware-default)
159   TITLE:=ath10k firmware for QCA9984 devices
160   SECTION:=firmware
161   CATEGORY:=Firmware
162 endef
163
164 define Package/ath10k-firmware-qca6174
165 $(Package/ath10k-firmware-default)
166   TITLE:=ath10k firmware for QCA6174 devices
167   SECTION:=firmware
168   CATEGORY:=Firmware
169 endef
170
171 QCA99X0_BOARD_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe
172 QCA99X0_BOARD_FILE:=board-2.bin.$(QCA99X0_BOARD_REV)
173
174 define Download/qca99x0-board
175   URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0
176   URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD_REV)
177   FILE:=$(QCA99X0_BOARD_FILE)
178   HASH:=03711ac21e60ef59d3815e235eb721c0c22851b5410299411085aa6f2af45401
179 endef
180 $(eval $(call Download,qca99x0-board))
181
182 QCA9984_FIRMWARE_REV:=deb1832c56c706d0f6cb539113e09f0daaa52b5f
183 QCA9984_FIRMWARE_FILE:=firmware-5.bin_10.4-3.3-00102
184 QCA9984_FIRMWARE_FILE_DL:=$(QCA9984_FIRMWARE_FILE).$(QCA9984_FIRMWARE_REV)
185
186 define Download/ath10k-qca9984-firmware
187   URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA9984/hw1.0/
188   URL_FILE:=$(QCA9984_FIRMWARE_FILE)?id=$(QCA9984_FIRMWARE_REV)
189   FILE:=$(QCA9984_FIRMWARE_FILE_DL)
190   HASH:=490ad52df76a4fa8004a3a8c21dd43bb8262dd2816df48a6408706b82491f299
191 endef
192 $(eval $(call Download,ath10k-qca9984-firmware))
193
194 define Build/Compile
195
196 endef
197
198 define Package/ath10k-firmware-qca9887/install
199         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
200         $(INSTALL_DATA) \
201                 $(DL_DIR)/$(QCA9887_FIRMWARE_FILE_DL) \
202                 $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin
203         $(INSTALL_DATA) \
204                 $(DL_DIR)/$(QCA9887_BOARD_FILE_DL) \
205                 $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
206 endef
207
208 define Package/ath10k-firmware-qca988x/install
209         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
210         $(INSTALL_DATA) \
211                 $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
212                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
213         $(INSTALL_DATA) \
214                 $(PKG_BUILD_DIR)/QCA988X/hw2.0/10.2.4.70/firmware-5.bin_10.2.4.70.59-2 \
215                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
216 endef
217
218 define Package/ath10k-firmware-qca988x-ct/install
219         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
220         $(INSTALL_DATA) \
221                 $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
222                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
223         $(INSTALL_DATA) \
224                 $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \
225                 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
226 endef
227
228 define Package/ath10k-firmware-qca6174/install
229         $(INSTALL_DIR) $(1)/lib/firmware/ath10k
230         $(CP) $(PKG_BUILD_DIR)/QCA6174 $(1)/lib/firmware/ath10k/
231 endef
232
233 define Package/ath10k-firmware-qca99x0/install
234         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
235         $(INSTALL_DATA) \
236                 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
237                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
238         $(INSTALL_DATA) \
239                 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
240                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
241         $(INSTALL_DATA) \
242                 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \
243                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
244 endef
245
246 define Package/ath10k-firmware-qca99x0-ct/install
247         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
248         $(INSTALL_DATA) \
249                 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
250                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
251         $(INSTALL_DATA) \
252                 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
253                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
254         $(INSTALL_DATA) \
255                 $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA99X0) \
256                 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
257 endef
258
259 define Package/ath10k-firmware-qca9984/install
260         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
261         ln -s \
262                 ../../cal-pci-0000:01:00.0.bin \
263                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
264         $(INSTALL_DATA) \
265                 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
266                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
267         $(INSTALL_DATA) \
268                 $(DL_DIR)/$(QCA9984_FIRMWARE_FILE_DL) \
269                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
270 endef
271
272 define Package/ath10k-firmware-qca9984-ct/install
273         $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
274         ln -s \
275                 ../../cal-pci-0000:01:00.0.bin \
276                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
277         $(INSTALL_DATA) \
278                 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
279                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
280         $(INSTALL_DATA) \
281                 $(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \
282                 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
283 endef
284
285 $(eval $(call BuildPackage,ath10k-firmware-qca9887))
286 $(eval $(call BuildPackage,ath10k-firmware-qca988x))
287 $(eval $(call BuildPackage,ath10k-firmware-qca99x0))
288 $(eval $(call BuildPackage,ath10k-firmware-qca6174))
289 $(eval $(call BuildPackage,ath10k-firmware-qca9984))
290
291 $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
292 $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
293 $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))