aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wl18xx/wl18xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/wl18xx.h')
-rw-r--r--drivers/net/wireless/ti/wl18xx/wl18xx.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/wl18xx.h b/drivers/net/wireless/ti/wl18xx/wl18xx.h
new file mode 100644
index 000000000000..bc67a4750615
--- /dev/null
+++ b/drivers/net/wireless/ti/wl18xx/wl18xx.h
@@ -0,0 +1,88 @@
1/*
2 * This file is part of wl18xx
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 __WL18XX_PRIV_H__
23#define __WL18XX_PRIV_H__
24
25#include "conf.h"
26
27#define WL18XX_CMD_MAX_SIZE 740
28
29struct wl18xx_priv {
30 /* buffer for sending commands to FW */
31 u8 cmd_buf[WL18XX_CMD_MAX_SIZE];
32
33 struct wl18xx_priv_conf conf;
34
35 /* Index of last released Tx desc in FW */
36 u8 last_fw_rls_idx;
37
38 /* number of VIFs requiring extra spare mem-blocks */
39 int extra_spare_vif_count;
40};
41
42#define WL18XX_FW_MAX_TX_STATUS_DESC 33
43
44struct wl18xx_fw_status_priv {
45 /*
46 * Index in released_tx_desc for first byte that holds
47 * released tx host desc
48 */
49 u8 fw_release_idx;
50
51 /*
52 * Array of host Tx descriptors, where fw_release_idx
53 * indicated the first released idx.
54 */
55 u8 released_tx_desc[WL18XX_FW_MAX_TX_STATUS_DESC];
56
57 u8 padding[2];
58};
59
60#define WL18XX_PHY_VERSION_MAX_LEN 20
61
62struct wl18xx_static_data_priv {
63 char phy_version[WL18XX_PHY_VERSION_MAX_LEN];
64};
65
66struct wl18xx_clk_cfg {
67 u32 n;
68 u32 m;
69 u32 p;
70 u32 q;
71 bool swallow;
72};
73
74enum {
75 CLOCK_CONFIG_16_2_M = 1,
76 CLOCK_CONFIG_16_368_M,
77 CLOCK_CONFIG_16_8_M,
78 CLOCK_CONFIG_19_2_M,
79 CLOCK_CONFIG_26_M,
80 CLOCK_CONFIG_32_736_M,
81 CLOCK_CONFIG_33_6_M,
82 CLOCK_CONFIG_38_468_M,
83 CLOCK_CONFIG_52_M,
84
85 NUM_CLOCK_CONFIGS,
86};
87
88#endif /* __WL18XX_PRIV_H__ */