08fe5917a75f389f5f602157377784067a9c54e8
[openwrt/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:=b063774393b184c6e1626dec81cf5270cc213c69
12 PKG_MIRROR_MD5SUM:=767c249578a4a2a14f202d92e1625af99153f29a5aeae14d04690d20c6b13897
13 PKG_VERSION:=2016-09-13-$(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 SUBMENU:=$(WMENU)
29 URL:=$(PKG_SOURCE_URL)
30 DEPENDS:=
31 endef
32
33 define Package/ath10k-firmware-qca9887
34 $(Package/ath10k-firmware-default)
35 TITLE:=ath10k firmware for QCA9887 devices
36 endef
37
38 QCA9887_REV:=3cce88e245f2d685e49411c4f80998f94baf67b8
39 QCA9887_FIRMWARE_FILE:=firmware-5.bin_10.2.4-1.0-00013
40 QCA9887_FIRMWARE_FILE_MD5:=bd9cdcbf49561c7176432a81c29e7e87
41 QCA9887_FIRMWARE_FILE_DL:=$(QCA9887_FIRMWARE_FILE).$(QCA9887_FIRMWARE_FILE_MD5)
42 QCA9887_BOARD_FILE:=board.bin
43 QCA9887_BOARD_FILE_MD5:=ebf3af10160c45373f19e0b8226b02ae
44 QCA9887_BOARD_FILE_DL:=$(QCA9887_BOARD_FILE).$(QCA9887_BOARD_FILE_MD5)
45
46 define Download/ath10k-qca9887-firmware
47 URL:=https://github.com/kvalo/ath10k-firmware/raw/$(QCA9887_REV)/QCA9887/hw1.0/
48 URL_FILE:=$(QCA9887_FIRMWARE_FILE)
49 FILE:=$(QCA9887_FIRMWARE_FILE_DL)
50 MD5SUM:=$(QCA9887_FIRMWARE_FILE_MD5)
51 endef
52 $(eval $(call Download,ath10k-qca9887-firmware))
53
54 define Download/ath10k-qca9887-board
55 URL:=https://github.com/kvalo/ath10k-firmware/raw/$(QCA9887_REV)/QCA9887/hw1.0/
56 URL_FILE:=$(QCA9887_BOARD_FILE)
57 FILE:=$(QCA9887_BOARD_FILE_DL)
58 MD5SUM:=$(QCA9887_BOARD_FILE_MD5)
59 endef
60 $(eval $(call Download,ath10k-qca9887-board))
61
62 define Package/ath10k-firmware-qca988x
63 $(Package/ath10k-firmware-default)
64 DEFAULT:=PACKAGE_kmod-ath10k
65 TITLE:=ath10k firmware for QCA988x devices
66 SECTION:=firmware
67 CATEGORY:=Firmware
68 endef
69
70 QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community.bin-18.rc2-lede
71 QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-8.bin-lede.005
72 QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-8.bin-lede.005
73
74 define Download/ath10k-firmware-qca988x-ct
75 URL:=https://www.candelatech.com/downloads/
76 FILE:=$(QCA988X_FIRMWARE_FILE_CT)
77 MD5SUM:=665482e1fd20a410627996c9a0b93411
78 endef
79 $(eval $(call Download,ath10k-firmware-qca988x-ct))
80
81 define Download/ath10k-firmware-qca99x0-ct
82 URL:=https://www.candelatech.com/downloads/ath10k-10-4/
83 FILE:=$(QCA99X0_FIRMWARE_FILE_CT)
84 MD5SUM:=a63d9651e884bbb38ed6ff722f6c6951
85 endef
86 $(eval $(call Download,ath10k-firmware-qca99x0-ct))
87
88 define Download/ath10k-firmware-qca9984-ct
89 URL:=https://www.candelatech.com/downloads/ath10k-9984-10-4/
90 FILE:=$(QCA9984_FIRMWARE_FILE_CT)
91 MD5SUM:=b2427376dbfdb083b3d27cf42b2c525d
92 endef
93 $(eval $(call Download,ath10k-firmware-qca9984-ct))
94
95 define Package/ath10k-firmware-qca99x0
96 $(Package/ath10k-firmware-default)
97 TITLE:=ath10k firmware for QCA99x0 devices
98 SECTION:=firmware
99 CATEGORY:=Firmware
100 endef
101
102 define Package/ath10k-firmware-qca988x-ct
103 $(Package/ath10k-firmware-default)
104 TITLE:=ath10k CT 10.1 firmware for QCA988x devices
105 SECTION:=firmware
106 CATEGORY:=Firmware
107 endef
108
109 define Package/ath10k-firmware-qca988x-ct/description
110 Alternative ath10k firmware for QCA988X from Candela Technologies.
111 Enables IBSS and other features. See:
112 http://www.candelatech.com/ath10k-10.1.php
113 This firmware will NOT be used unless the standard ath10k-firmware-qca988x
114 is un-selected since the driver will try to load firmware-5.bin before
115 firmware-2.bin
116 endef
117
118 define Package/ath10k-firmware-qca99x0-ct/description
119 Alternative ath10k firmware for QCA99x0 from Candela Technologies.
120 Enables IBSS and other features. See:
121 http://www.candelatech.com/ath10k-10.4.php
122 This firmware conflicts with the standard 99x0 firmware, so select only
123 one.
124 endef
125
126 define Package/ath10k-firmware-qca9984-ct/description
127 Alternative ath10k firmware for QCA9984 from Candela Technologies.
128 Enables IBSS and other features. See:
129 http://www.candelatech.com/ath10k-10.4-9984.php
130 This firmware conflicts with the standard 9984 firmware, so select only
131 one.
132 endef
133
134 define Package/ath10k-firmware-qca99x0/description
135 Standard ath10k firmware for QCA99x0 from QCA
136 This firmware conflicts with the CT 99x0 firmware, so select only
137 one.
138 endef
139
140 define Package/ath10k-firmware-qca99x0-ct
141 $(Package/ath10k-firmware-default)
142 TITLE:=ath10k CT 10.4.3 firmware for QCA99x0 devices
143 SECTION:=firmware
144 CATEGORY:=Firmware
145 endef
146
147 define Package/ath10k-firmware-qca9984-ct
148 $(Package/ath10k-firmware-default)
149 TITLE:=ath10k CT 10.4.3 firmware for QCA9984 devices
150 SECTION:=firmware
151 CATEGORY:=Firmware
152 endef
153
154 define Package/ath10k-firmware-qca9984
155 $(Package/ath10k-firmware-default)
156 TITLE:=ath10k firmware for QCA9984 devices
157 SECTION:=firmware
158 CATEGORY:=Firmware
159 endef
160
161 define Package/ath10k-firmware-qca6174
162 $(Package/ath10k-firmware-default)
163 TITLE:=ath10k firmware for QCA6174 devices
164 SECTION:=firmware
165 CATEGORY:=Firmware
166 endef
167
168 QCA99X0_BOARD_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe
169 QCA99X0_BOARD_FILE:=board-2.bin.$(QCA99X0_BOARD_REV)
170
171 define Download/qca99x0-board
172 URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0
173 URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD_REV)
174 FILE:=$(QCA99X0_BOARD_FILE)
175 MD5SUM:=a2b3c653c2363a5641200051d6333d0a
176 endef
177 $(eval $(call Download,qca99x0-board))
178
179 define Build/Compile
180
181 endef
182
183 define Package/ath10k-firmware-qca9887/install
184 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
185 $(INSTALL_DATA) \
186 $(DL_DIR)/$(QCA9887_FIRMWARE_FILE_DL) \
187 $(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-5.bin
188 $(INSTALL_DATA) \
189 $(DL_DIR)/$(QCA9887_BOARD_FILE_DL) \
190 $(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
191 endef
192
193 define Package/ath10k-firmware-qca988x/install
194 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
195 $(INSTALL_DATA) \
196 $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
197 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
198 $(INSTALL_DATA) \
199 $(PKG_BUILD_DIR)/QCA988X/hw2.0/10.2.4.70/firmware-5.bin_10.2.4.70.54 \
200 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
201 endef
202
203 define Package/ath10k-firmware-qca988x-ct/install
204 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
205 $(INSTALL_DATA) \
206 $(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
207 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
208 $(INSTALL_DATA) \
209 $(DL_DIR)/$(QCA988X_FIRMWARE_FILE_CT) \
210 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
211 endef
212
213 define Package/ath10k-firmware-qca6174/install
214 $(INSTALL_DIR) $(1)/lib/firmware/ath10k
215 $(CP) $(PKG_BUILD_DIR)/QCA6174 $(1)/lib/firmware/ath10k/
216 endef
217
218 define Package/ath10k-firmware-qca99x0/install
219 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
220 $(INSTALL_DATA) \
221 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
222 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
223 $(INSTALL_DATA) \
224 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
225 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
226 $(INSTALL_DATA) \
227 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \
228 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
229 endef
230
231 define Package/ath10k-firmware-qca99x0-ct/install
232 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
233 $(INSTALL_DATA) \
234 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
235 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
236 $(INSTALL_DATA) \
237 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
238 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
239 $(INSTALL_DATA) \
240 $(DL_DIR)/$(QCA99X0_FIRMWARE_FILE_CT) \
241 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
242 endef
243
244 define Package/ath10k-firmware-qca9984/install
245 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
246 ln -s \
247 ../../cal-pci-0000:01:00.0.bin \
248 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
249 $(INSTALL_DATA) \
250 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
251 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
252 $(INSTALL_DATA) \
253 $(PKG_BUILD_DIR)/QCA9984/hw1.0/3.3/firmware-5.bin_10.4-3.3-00092 \
254 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
255 endef
256
257 define Package/ath10k-firmware-qca9984-ct/install
258 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
259 ln -s \
260 ../../cal-pci-0000:01:00.0.bin \
261 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
262 $(INSTALL_DATA) \
263 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
264 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
265 $(INSTALL_DATA) \
266 $(DL_DIR)/$(QCA9984_FIRMWARE_FILE_CT) \
267 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
268 endef
269
270 $(eval $(call BuildPackage,ath10k-firmware-qca9887))
271 $(eval $(call BuildPackage,ath10k-firmware-qca988x))
272 $(eval $(call BuildPackage,ath10k-firmware-qca99x0))
273 $(eval $(call BuildPackage,ath10k-firmware-qca6174))
274 $(eval $(call BuildPackage,ath10k-firmware-qca9984))
275
276 $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
277 $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
278 $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))