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