Commit | Line | Data |
---|---|---|
166b2136 LC |
1 | /* |
2 | * This file is part of wl12xx | |
3 | * | |
4 | * Copyright (C) 2011 Texas Instruments Inc. | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU General Public License | |
8 | * version 2 as published by the Free Software Foundation. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, but | |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | * General Public License for more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License | |
16 | * along with this program; if not, write to the Free Software | |
17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | |
18 | * 02110-1301 USA | |
19 | * | |
20 | */ | |
21 | ||
22 | #ifndef __WL12XX_PRIV_H__ | |
23 | #define __WL12XX_PRIV_H__ | |
24 | ||
25 | #include "conf.h" | |
26 | ||
986f3aa1 LC |
27 | /* WiLink 6/7 chip IDs */ |
28 | #define CHIP_ID_127X_PG10 (0x04030101) | |
29 | #define CHIP_ID_127X_PG20 (0x04030111) | |
30 | #define CHIP_ID_128X_PG10 (0x05030101) | |
31 | #define CHIP_ID_128X_PG20 (0x05030111) | |
32 | ||
8675f9ab | 33 | /* FW chip version for wl127x */ |
4a1ccce8 | 34 | #define WL127X_CHIP_VER 6 |
8675f9ab LC |
35 | /* minimum single-role FW version for wl127x */ |
36 | #define WL127X_IFTYPE_SR_VER 3 | |
37 | #define WL127X_MAJOR_SR_VER 10 | |
38 | #define WL127X_SUBTYPE_SR_VER WLCORE_FW_VER_IGNORE | |
0e284c07 | 39 | #define WL127X_MINOR_SR_VER 133 |
8675f9ab LC |
40 | /* minimum multi-role FW version for wl127x */ |
41 | #define WL127X_IFTYPE_MR_VER 5 | |
42 | #define WL127X_MAJOR_MR_VER 7 | |
43 | #define WL127X_SUBTYPE_MR_VER WLCORE_FW_VER_IGNORE | |
60c28cf1 | 44 | #define WL127X_MINOR_MR_VER 42 |
4a1ccce8 | 45 | |
8675f9ab | 46 | /* FW chip version for wl128x */ |
4a1ccce8 | 47 | #define WL128X_CHIP_VER 7 |
8675f9ab LC |
48 | /* minimum single-role FW version for wl128x */ |
49 | #define WL128X_IFTYPE_SR_VER 3 | |
50 | #define WL128X_MAJOR_SR_VER 10 | |
51 | #define WL128X_SUBTYPE_SR_VER WLCORE_FW_VER_IGNORE | |
0e284c07 | 52 | #define WL128X_MINOR_SR_VER 133 |
8675f9ab LC |
53 | /* minimum multi-role FW version for wl128x */ |
54 | #define WL128X_IFTYPE_MR_VER 5 | |
55 | #define WL128X_MAJOR_MR_VER 7 | |
56 | #define WL128X_SUBTYPE_MR_VER WLCORE_FW_VER_IGNORE | |
57 | #define WL128X_MINOR_MR_VER 42 | |
4a1ccce8 | 58 | |
26a309c7 IC |
59 | #define WL12XX_AGGR_BUFFER_SIZE (4 * PAGE_SIZE) |
60 | ||
f1c434df IC |
61 | #define WL12XX_NUM_TX_DESCRIPTORS 16 |
62 | #define WL12XX_NUM_RX_DESCRIPTORS 8 | |
63 | ||
f4afbed9 AN |
64 | #define WL12XX_NUM_MAC_ADDRESSES 2 |
65 | ||
d21553f8 IC |
66 | #define WL12XX_RX_BA_MAX_SESSIONS 3 |
67 | ||
4b4887e9 LC |
68 | struct wl127x_rx_mem_pool_addr { |
69 | u32 addr; | |
70 | u32 addr_extra; | |
71 | }; | |
72 | ||
166b2136 LC |
73 | struct wl12xx_priv { |
74 | struct wl12xx_priv_conf conf; | |
a5d751bb LC |
75 | |
76 | int ref_clock; | |
77 | int tcxo_clock; | |
2e07d028 IY |
78 | |
79 | struct wl127x_rx_mem_pool_addr *rx_mem_addr; | |
166b2136 LC |
80 | }; |
81 | ||
82 | #endif /* __WL12XX_PRIV_H__ */ |