ath10k: Support installing CT firmware for QCA9984 NICs.
[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:=b00eb8d30fbebb6a5047ccacefa8c37e072fca9c
12 PKG_VERSION:=2014-11-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-qca988x
35 $(Package/ath10k-firmware-default)
36 DEFAULT:=PACKAGE_kmod-ath10k
37 TITLE:=ath10k firmware for QCA988x devices
38 endef
39
40 QCA988X_FIRMWARE_FILE:=firmware-5.bin_10.2.4.97-1
41 QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-16.1.bin-lede
42 QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-7.bin-lede.001
43 QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-7.bin-lede.001
44
45 define Download/ath10k-firmware-qca988x
46 URL:=https://www.codeaurora.org/cgit/quic/qsdk/oss/firmware/ath10k-firmware/plain/10.2.4/
47 FILE:=$(QCA988X_FIRMWARE_FILE)
48 MD5SUM:=fcb2fbd42d73a63fbf603505c718cbde
49 endef
50 $(eval $(call Download,ath10k-firmware-qca988x))
51
52 define Download/ath10k-firmware-qca988x-ct
53 URL:=https://www.candelatech.com/downloads/
54 FILE:=$(QCA988X_FIRMWARE_FILE_CT)
55 MD5SUM:=d7e081e9782936ed544b78994c9133fb
56 endef
57 $(eval $(call Download,ath10k-firmware-qca988x-ct))
58
59 define Download/ath10k-firmware-qca99x0-ct
60 URL:=https://www.candelatech.com/downloads/ath10k-10-4/
61 FILE:=$(QCA99X0_FIRMWARE_FILE_CT)
62 MD5SUM:=eb710949ff79142954aadae24616169c
63 endef
64 $(eval $(call Download,ath10k-firmware-qca99x0-ct))
65
66 define Download/ath10k-firmware-qca9984-ct
67 URL:=https://www.candelatech.com/downloads/ath10k-9984-10-4/
68 FILE:=$(QCA9984_FIRMWARE_FILE_CT)
69 MD5SUM:=747cc1394f15aef97b5ea15e4c208e58
70 endef
71 $(eval $(call Download,ath10k-firmware-qca9984-ct))
72
73 define Package/ath10k-firmware-qca99x0
74 $(Package/ath10k-firmware-default)
75 TITLE:=ath10k firmware for QCA99x0 devices
76 endef
77
78 define Package/ath10k-firmware-qca988x-ct
79 $(Package/ath10k-firmware-default)
80 TITLE:=ath10k CT 10.1 firmware for QCA988x devices
81 endef
82
83 define Package/ath10k-firmware-qca988x-ct/description
84 Alternative ath10k firmware for QCA988X from Candela Technologies.
85 Enables IBSS and other features. See:
86 http://www.candelatech.com/ath10k-10.1.php
87 This firmware will NOT be used unless the standard ath10k-firmware-qca988x
88 is un-selected since the driver will try to load firmware-5.bin before
89 firmware-2.bin
90 endef
91
92 define Package/ath10k-firmware-qca99x0-ct/description
93 Alternative ath10k firmware for QCA99x0 from Candela Technologies.
94 Enables IBSS and other features. See:
95 http://www.candelatech.com/ath10k-10.4.php
96 This firmware conflicts with the standard 99x0 firmware, so select only
97 one.
98 endef
99
100 define Package/ath10k-firmware-qca9984-ct/description
101 Alternative ath10k firmware for QCA9984 from Candela Technologies.
102 Enables IBSS and other features. See:
103 http://www.candelatech.com/ath10k-10.4-9984.php
104 This firmware conflicts with the standard 9984 firmware, so select only
105 one.
106 endef
107
108 define Package/ath10k-firmware-qca99x0/description
109 Standard ath10k firmware for QCA99x0 from QCA
110 This firmware conflicts with the CT 99x0 firmware, so select only
111 one.
112 endef
113
114 define Package/ath10k-firmware-qca99x0-ct
115 $(Package/ath10k-firmware-default)
116 TITLE:=ath10k CT 10.4.3 firmware for QCA99x0 devices
117 endef
118
119 define Package/ath10k-firmware-qca9984-ct
120 $(Package/ath10k-firmware-default)
121 TITLE:=ath10k CT 10.4.3 firmware for QCA9984 devices
122 endef
123
124 define Package/ath10k-firmware-qca9984
125 $(Package/ath10k-firmware-default)
126 TITLE:=ath10k firmware for QCA9984 devices
127 endef
128
129 define Package/ath10k-firmware-qca6174
130 $(Package/ath10k-firmware-default)
131 TITLE:=ath10k firmware for QCA6174 devices
132 endef
133
134 QCA99X0_BOARD_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe
135 QCA99X0_BOARD_FILE:=board-2.bin.$(QCA99X0_BOARD_REV)
136
137 define Download/qca99x0-board
138 URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0
139 URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD_REV)
140 FILE:=$(QCA99X0_BOARD_FILE)
141 MD5SUM:=a2b3c653c2363a5641200051d6333d0a
142 endef
143 $(eval $(call Download,qca99x0-board))
144
145 define Build/Compile
146
147 endef
148
149 define Package/ath10k-firmware-qca988x/install
150 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
151 $(INSTALL_DATA) \
152 $(PKG_BUILD_DIR)/QCA988X/board.bin \
153 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
154 $(INSTALL_DATA) \
155 $(DL_DIR)/$(QCA988X_FIRMWARE_FILE) \
156 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
157 endef
158
159 define Package/ath10k-firmware-qca988x-ct/install
160 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
161 $(INSTALL_DATA) \
162 $(PKG_BUILD_DIR)/QCA988X/board.bin \
163 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/
164 $(INSTALL_DATA) \
165 $(DL_DIR)/$(QCA988X_FIRMWARE_FILE_CT) \
166 $(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
167 endef
168
169 define Package/ath10k-firmware-qca6174/install
170 $(INSTALL_DIR) $(1)/lib/firmware/ath10k
171 $(CP) $(PKG_BUILD_DIR)/QCA6174 $(1)/lib/firmware/ath10k/
172 endef
173
174 define Package/ath10k-firmware-qca99x0/install
175 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
176 $(INSTALL_DATA) \
177 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
178 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
179 $(INSTALL_DATA) \
180 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
181 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
182 $(INSTALL_DATA) \
183 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1 \
184 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
185 endef
186
187 define Package/ath10k-firmware-qca99x0-ct/install
188 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
189 $(INSTALL_DATA) \
190 $(DL_DIR)/$(QCA99X0_BOARD_FILE) \
191 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
192 $(INSTALL_DATA) \
193 $(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
194 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
195 $(INSTALL_DATA) \
196 $(DL_DIR)/$(QCA99X0_FIRMWARE_FILE_CT) \
197 $(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
198 endef
199
200 define Package/ath10k-firmware-qca9984/install
201 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
202 ln -s \
203 ../../cal-pci-0000:01:00.0.bin \
204 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
205 $(INSTALL_DATA) \
206 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
207 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
208 $(INSTALL_DATA) \
209 $(PKG_BUILD_DIR)/QCA9984/hw1.0/firmware-5.bin_10.4-3.2-00072 \
210 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
211 endef
212
213 define Package/ath10k-firmware-qca9984-ct/install
214 $(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
215 ln -s \
216 ../../cal-pci-0000:01:00.0.bin \
217 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board.bin
218 $(INSTALL_DATA) \
219 $(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
220 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
221 $(INSTALL_DATA) \
222 $(DL_DIR)/$(QCA9984_FIRMWARE_FILE_CT) \
223 $(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
224 endef
225
226 $(eval $(call BuildPackage,ath10k-firmware-qca988x))
227 $(eval $(call BuildPackage,ath10k-firmware-qca99x0))
228 $(eval $(call BuildPackage,ath10k-firmware-qca6174))
229 $(eval $(call BuildPackage,ath10k-firmware-qca9984))
230
231 $(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
232 $(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
233 $(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))