Add 2.6.31 patches
[openwrt/staging/yousong.git] / target / linux / s3c24xx / files-2.6.31 / drivers / ar6000 / include / testcmd.h
1 /*
2 * Copyright (c) 2004-2005 Atheros Communications Inc.
3 * All rights reserved.
4 *
5 *
6 * $ATH_LICENSE_HOSTSDK0_C$
7 *
8 */
9
10 #ifndef TESTCMD_H_
11 #define TESTCMD_H_
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 typedef enum {
18 ZEROES_PATTERN = 0,
19 ONES_PATTERN,
20 REPEATING_10,
21 PN7_PATTERN,
22 PN9_PATTERN,
23 PN15_PATTERN
24 }TX_DATA_PATTERN;
25
26 /* Continous tx
27 mode : TCMD_CONT_TX_OFF - Disabling continous tx
28 TCMD_CONT_TX_SINE - Enable continuous unmodulated tx
29 TCMD_CONT_TX_FRAME- Enable continuous modulated tx
30 freq : Channel freq in Mhz. (e.g 2412 for channel 1 in 11 g)
31 dataRate: 0 - 1 Mbps
32 1 - 2 Mbps
33 2 - 5.5 Mbps
34 3 - 11 Mbps
35 4 - 6 Mbps
36 5 - 9 Mbps
37 6 - 12 Mbps
38 7 - 18 Mbps
39 8 - 24 Mbps
40 9 - 36 Mbps
41 10 - 28 Mbps
42 11 - 54 Mbps
43 txPwr: Tx power in dBm[5 -11] for unmod Tx, [5-14] for mod Tx
44 antenna: 1 - one antenna
45 2 - two antenna
46 Note : Enable/disable continuous tx test cmd works only when target is awake.
47 */
48
49 typedef enum {
50 TCMD_CONT_TX_OFF = 0,
51 TCMD_CONT_TX_SINE,
52 TCMD_CONT_TX_FRAME,
53 TCMD_CONT_TX_TX99,
54 TCMD_CONT_TX_TX100
55 } TCMD_CONT_TX_MODE;
56
57 typedef PREPACK struct {
58 A_UINT32 testCmdId;
59 A_UINT32 mode;
60 A_UINT32 freq;
61 A_UINT32 dataRate;
62 A_INT32 txPwr;
63 A_UINT32 antenna;
64 A_UINT32 enANI;
65 A_UINT32 scramblerOff;
66 A_UINT32 aifsn;
67 A_UINT16 pktSz;
68 A_UINT16 txPattern;
69 } POSTPACK TCMD_CONT_TX;
70
71 #define TCMD_TXPATTERN_ZERONE 0x1
72 #define TCMD_TXPATTERN_ZERONE_DIS_SCRAMBLE 0x2
73
74 /* Continuous Rx
75 act: TCMD_CONT_RX_PROMIS - promiscuous mode (accept all incoming frames)
76 TCMD_CONT_RX_FILTER - filter mode (accept only frames with dest
77 address equal specified
78 mac address (set via act =3)
79 TCMD_CONT_RX_REPORT off mode (disable cont rx mode and get the
80 report from the last cont
81 Rx test)
82
83 TCMD_CONT_RX_SETMAC - set MacAddr mode (sets the MAC address for the
84 target. This Overrides
85 the default MAC address.)
86
87 */
88 typedef enum {
89 TCMD_CONT_RX_PROMIS =0,
90 TCMD_CONT_RX_FILTER,
91 TCMD_CONT_RX_REPORT,
92 TCMD_CONT_RX_SETMAC
93 } TCMD_CONT_RX_ACT;
94
95 typedef PREPACK struct {
96 A_UINT32 testCmdId;
97 A_UINT32 act;
98 A_UINT32 enANI;
99 PREPACK union {
100 struct PREPACK TCMD_CONT_RX_PARA {
101 A_UINT32 freq;
102 A_UINT32 antenna;
103 } POSTPACK para;
104 struct PREPACK TCMD_CONT_RX_REPORT {
105 A_UINT32 totalPkt;
106 A_INT32 rssiInDBm;
107 } POSTPACK report;
108 struct PREPACK TCMD_CONT_RX_MAC {
109 A_UCHAR addr[ATH_MAC_LEN];
110 } POSTPACK mac;
111 } POSTPACK u;
112 } POSTPACK TCMD_CONT_RX;
113
114 /* Force sleep/wake test cmd
115 mode: TCMD_PM_WAKEUP - Wakeup the target
116 TCMD_PM_SLEEP - Force the target to sleep.
117 */
118 typedef enum {
119 TCMD_PM_WAKEUP = 1, /* be consistent with target */
120 TCMD_PM_SLEEP
121 } TCMD_PM_MODE;
122
123 typedef PREPACK struct {
124 A_UINT32 testCmdId;
125 A_UINT32 mode;
126 } POSTPACK TCMD_PM;
127
128 typedef enum{
129 TCMD_CONT_TX_ID,
130 TCMD_CONT_RX_ID,
131 TCMD_PM_ID
132 } TCMD_ID;
133
134 typedef PREPACK union {
135 TCMD_CONT_TX contTx;
136 TCMD_CONT_RX contRx;
137 TCMD_PM pm ;
138 } POSTPACK TEST_CMD;
139
140 #ifdef __cplusplus
141 }
142 #endif
143
144 #endif /* TESTCMD_H_ */