2 * Copyright (C) 2016 Piotr Dymacz <piotr@dymacz.pl>
4 * This file contains the configuration parameters
5 * for Qualcomm Atheros QCA953x based devices
7 * Reference designs: AP143
9 * SPDX-License-Identifier: GPL-2.0
16 #include <configs/qca9k_common.h>
17 #include <soc/soc_common.h>
24 #if defined(CONFIG_FOR_COMFAST_CF_E314N)
26 #define CONFIG_QCA_GPIO_MASK_LED_ACT_H GPIO4 | GPIO11 | GPIO14 |\
28 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO0 | GPIO2 | GPIO3
29 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_H |\
30 CONFIG_QCA_GPIO_MASK_LED_ACT_L
31 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
32 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
33 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_L CONFIG_QCA_GPIO_MASK_LED_ACT_H
35 #elif defined(CONFIG_FOR_COMFAST_CF_E320N_V2)
37 #define CONFIG_QCA_GPIO_MASK_LED_ACT_H GPIO0 | GPIO2 | GPIO3
38 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_H
39 #define CONFIG_QCA_GPIO_MASK_IN GPIO11 | GPIO12 | GPIO14 |\
41 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_L CONFIG_QCA_GPIO_MASK_LED_ACT_H
43 #elif defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
44 defined(CONFIG_FOR_COMFAST_CF_E530N)
46 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO11
47 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
48 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
49 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
51 #elif defined(CONFIG_FOR_TPLINK_WR810N)
53 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO13
54 #define CONFIG_QCA_GPIO_MASK_OUT GPIO11 |\
55 CONFIG_QCA_GPIO_MASK_LED_ACT_L
56 #define CONFIG_QCA_GPIO_MASK_IN GPIO0 | GPIO1 | GPIO12
57 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H GPIO11 |\
58 CONFIG_QCA_GPIO_MASK_LED_ACT_L
60 #elif defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
61 defined(CONFIG_FOR_TPLINK_WR802N)
63 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO13
64 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
65 #define CONFIG_QCA_GPIO_MASK_IN GPIO12
66 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
68 #elif defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
69 defined(CONFIG_FOR_TPLINK_WR841N_V9)
71 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO3 | GPIO4 | GPIO11 |\
72 GPIO13 | GPIO14 | GPIO15 |\
74 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
75 #define CONFIG_QCA_GPIO_MASK_IN GPIO12 | GPIO17
76 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
78 #elif defined(CONFIG_FOR_TPLINK_WR841N_V11)
80 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO1 | GPIO2 | GPIO3 |\
81 GPIO4 | GPIO11 | GPIO13 |\
82 GPIO14 | GPIO15 | GPIO16
83 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
84 #define CONFIG_QCA_GPIO_MASK_IN GPIO12 | GPIO17
85 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
87 #elif defined(CONFIG_FOR_WALLYS_DR531)
89 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO11 | GPIO12 | GPIO13 |\
90 GPIO14 | GPIO15 | GPIO16
91 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
92 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
93 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
95 #elif defined(CONFIG_FOR_YUNCORE_AP90Q)
97 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO4 | GPIO12 | GPIO16
98 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
99 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
100 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
102 #elif defined(CONFIG_FOR_YUNCORE_CPE830)
104 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO0 | GPIO1 | GPIO2 |\
105 GPIO3 | GPIO4 | GPIO12 |\
107 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
108 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
109 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
111 #elif defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
113 #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO4 | GPIO11 | GPIO12 |\
114 GPIO13 | GPIO14 | GPIO15 |\
116 #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L
117 #define CONFIG_QCA_GPIO_MASK_IN GPIO17
118 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
127 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
128 defined(CONFIG_FOR_COMFAST_CF_E320N_V2)
130 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:03 "\
131 "rootfstype=jffs2 init=/sbin/init "\
132 "mtdparts=ath-nor0:64k(u-boot),64k(art),1536k(uImage),14656k(rootfs),64k(mib0)"
134 #elif defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
135 defined(CONFIG_FOR_COMFAST_CF_E530N)
137 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:03 "\
138 "rootfstype=jffs2 init=/sbin/init "\
139 "mtdparts=ath-nor0:64k(u-boot),64k(art),1536k(uImage),6464k(rootfs),64k(mib0)"
141 #elif defined(CONFIG_FOR_TPLINK_WR810N)
143 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
144 "rootfstype=squashfs init=/sbin/init "\
145 "mtdparts=ath-nor0:128k(u-boot),1024k(kernel),6912k(rootfs),64k(config),64k(art)"
147 #elif defined(CONFIG_FOR_TPLINK_WR820N_CN)
149 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
150 "rootfstype=squashfs init=/sbin/init "\
151 "mtdparts=ath-nor0:32k(u-boot1),32k(u-boot2),3008k(rootfs),896k(uImage),64k(mib0),64k(art)"
153 #elif defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
154 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
155 defined(CONFIG_FOR_TPLINK_WR841N_V9) ||\
156 defined(CONFIG_FOR_TPLINK_WR802N)
158 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
159 "rootfstype=squashfs init=/sbin/init "\
160 "mtdparts=ath-nor0:128k(u-boot),1024k(kernel),2816k(rootfs),64k(config),64k(art)"
162 #elif defined(CONFIG_FOR_WALLYS_DR531)
164 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
165 "rootfstype=jffs2 init=/sbin/init "\
166 "mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k"
168 #elif defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
169 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
170 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
172 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
173 "rootfstype=squashfs init=/sbin/init "\
174 "mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1472k(kernel),64k(art),16000k(firmware)"
179 * =============================
180 * Load address and boot command
181 * =============================
183 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
184 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
185 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
186 defined(CONFIG_FOR_COMFAST_CF_E530N) ||\
187 defined(CONFIG_FOR_TPLINK_WR802N) ||\
188 defined(CONFIG_FOR_TPLINK_WR810N) ||\
189 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
190 defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
191 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
192 defined(CONFIG_FOR_TPLINK_WR841N_V9)
193 #define CFG_LOAD_ADDR 0x9F020000
194 #elif defined(CONFIG_FOR_WALLYS_DR531) ||\
195 defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
196 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
197 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
198 #define CFG_LOAD_ADDR 0x9F050000
201 #if defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
202 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
203 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
204 #define CONFIG_BOOTCOMMAND "bootm 0x9FE80000 || bootm 0x9F050000"
206 #define CONFIG_BOOTCOMMAND "bootm " MK_STR(CFG_LOAD_ADDR)
210 * =========================
211 * Environment configuration
212 * =========================
214 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
215 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
216 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
217 defined(CONFIG_FOR_COMFAST_CF_E530N)
218 #define CFG_ENV_ADDR 0x9F018000
219 #define CFG_ENV_SIZE 0x7C00
220 #define CFG_ENV_SECT_SIZE 0x10000
221 #elif defined(CONFIG_FOR_TPLINK_WR802N) ||\
222 defined(CONFIG_FOR_TPLINK_WR810N) ||\
223 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
224 defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
225 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
226 defined(CONFIG_FOR_TPLINK_WR841N_V9)
227 #define CFG_ENV_ADDR 0x9F01EC00
228 #define CFG_ENV_SIZE 0x1000
229 #define CFG_ENV_SECT_SIZE 0x10000
230 #elif defined(CONFIG_FOR_WALLYS_DR531)
231 #define CFG_ENV_ADDR 0x9F030000
232 #define CFG_ENV_SIZE 0xF800
233 #define CFG_ENV_SECT_SIZE 0x10000
234 #elif defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
235 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
236 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
237 #define CFG_ENV_ADDR 0x9F040000
238 #define CFG_ENV_SIZE 0xFC00
239 #define CFG_ENV_SECT_SIZE 0x10000
243 * ===========================
244 * List of available baudrates
245 * ===========================
247 #define CFG_BAUDRATE_TABLE \
248 { 600, 1200, 2400, 4800, 9600, 14400, \
249 19200, 28800, 38400, 56000, 57600, 115200 }
252 * ==================================================
253 * MAC address/es, model and WPS pin offsets in FLASH
254 * ==================================================
256 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
257 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
258 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
259 defined(CONFIG_FOR_COMFAST_CF_E530N)
260 #define OFFSET_MAC_DATA_BLOCK 0x10000
261 #define OFFSET_MAC_DATA_BLOCK_LENGTH 0x10000
262 #define OFFSET_MAC_ADDRESS 0x00000
263 #elif defined(CONFIG_FOR_TPLINK_WR802N) ||\
264 defined(CONFIG_FOR_TPLINK_WR810N) ||\
265 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
266 defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
267 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
268 defined(CONFIG_FOR_TPLINK_WR841N_V9)
269 #define OFFSET_MAC_DATA_BLOCK 0x010000
270 #define OFFSET_MAC_DATA_BLOCK_LENGTH 0x010000
271 #define OFFSET_MAC_ADDRESS 0x00FC00
272 #define OFFSET_ROUTER_MODEL 0x00FD00
273 #define OFFSET_PIN_NUMBER 0x00FE00
274 #elif defined(CONFIG_FOR_WALLYS_DR531)
275 #define OFFSET_MAC_DATA_BLOCK 0x030000
276 #define OFFSET_MAC_DATA_BLOCK_LENGTH 0x010000
277 #define OFFSET_MAC_ADDRESS 0x00F810
278 #elif defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
279 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
280 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
281 #define OFFSET_MAC_DATA_BLOCK 0xFF0000
282 #define OFFSET_MAC_DATA_BLOCK_LENGTH 0x010000
283 #define OFFSET_MAC_ADDRESS 0x000000
287 * =========================
288 * Custom changes per device
289 * =========================
293 * Comfast CF-E520N and E320Nv2 are limited to 64 KB only,
294 * disable some commands
296 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
297 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
298 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
299 defined(CONFIG_FOR_COMFAST_CF_E530N)
300 #undef CONFIG_CMD_DHCP
301 #undef CONFIG_CMD_LOADB
302 #undef CONFIG_CMD_SNTP
306 * ===========================
307 * HTTP recovery configuration
308 * ===========================
310 #define WEBFAILSAFE_UPLOAD_KERNEL_ADDRESS CFG_LOAD_ADDR
312 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
313 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
314 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
315 defined(CONFIG_FOR_COMFAST_CF_E530N)
316 #define WEBFAILSAFE_UPLOAD_ART_ADDRESS (CFG_FLASH_BASE + 0x10000)
319 /* Firmware size limit */
320 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
321 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
322 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
323 defined(CONFIG_FOR_COMFAST_CF_E530N) ||\
324 defined(CONFIG_FOR_TPLINK_WR802N) ||\
325 defined(CONFIG_FOR_TPLINK_WR810N) ||\
326 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
327 defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
328 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
329 defined(CONFIG_FOR_TPLINK_WR841N_V9)
330 #define WEBFAILSAFE_UPLOAD_LIMITED_AREA_IN_BYTES (192 * 1024)
331 #elif defined(CONFIG_FOR_WALLYS_DR531) ||\
332 defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
333 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
334 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
335 #define WEBFAILSAFE_UPLOAD_LIMITED_AREA_IN_BYTES (384 * 1024)
339 * ========================
340 * PLL/Clocks configuration
341 * ========================
343 #if defined(CONFIG_FOR_TPLINK_WR802N) ||\
344 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
345 defined(CONFIG_FOR_TPLINK_WR841N_V9)
346 #define CONFIG_QCA_PLL QCA_PLL_PRESET_550_400_200
348 #define CONFIG_QCA_PLL QCA_PLL_PRESET_650_400_200
351 #if defined(CONFIG_FOR_COMFAST_CF_E314N) ||\
352 defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\
353 defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
354 defined(CONFIG_FOR_COMFAST_CF_E530N) ||\
355 defined(CONFIG_FOR_TPLINK_WR802N) ||\
356 defined(CONFIG_FOR_TPLINK_WR810N) ||\
357 defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
358 defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\
359 defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\
360 defined(CONFIG_FOR_TPLINK_WR841N_V9)
362 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_OFFSET 0x10000
363 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_SIZE 0x10000
365 #elif defined(CONFIG_FOR_WALLYS_DR531)
367 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_OFFSET 0x30000
368 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_SIZE 0x10000
370 #elif defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
371 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
372 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
374 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_OFFSET 0x40000
375 #define CONFIG_QCA_PLL_IN_FLASH_BLOCK_SIZE 0x10000
380 * ==================================
381 * For upgrade scripts in environment
382 * ==================================
384 #if !defined(CONFIG_FOR_COMFAST_CF_E314N) &&\
385 !defined(CONFIG_FOR_COMFAST_CF_E320N_V2) &&\
386 !defined(CONFIG_FOR_COMFAST_CF_E520N) &&\
387 !defined(CONFIG_FOR_COMFAST_CF_E530N) &&\
388 !defined(CONFIG_FOR_WALLYS_DR531) &&\
389 !defined(CONFIG_FOR_YUNCORE_AP90Q) &&\
390 !defined(CONFIG_FOR_YUNCORE_CPE830) &&\
391 !defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
392 #define CONFIG_UPG_UBOOT_SIZE_BACKUP_HEX 0x20000
395 #if defined(CONFIG_FOR_YUNCORE_AP90Q) ||\
396 defined(CONFIG_FOR_YUNCORE_CPE830) ||\
397 defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
398 #define CONFIG_UPG_SCRIPTS_FW_ADDR_HEX 0x9F050000
402 * ===================
403 * Other configuration
404 * ===================
407 /* Cache lock for stack */
408 #define CONFIG_INIT_SRAM_SP_OFFSET 0xbd001800
410 #endif /* _AP143_H */