mirror of
https://github.com/genesi/linux-legacy.git
synced 2026-09-08 15:58:28 +00:00
Integrate atheros driver package from atheros company. It's mainly for AR6003. Signed-off-by: Nathan Cheng <Nathan.Cheng@Atheros.com> Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
180 lines
5.2 KiB
C
180 lines
5.2 KiB
C
//------------------------------------------------------------------------------
|
|
// <copyright file="testcmd.h" company="Atheros">
|
|
// Copyright (c) 2004-2005 Atheros Corporation. All rights reserved.
|
|
//
|
|
// This program is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License version 2 as
|
|
// published by the Free Software Foundation;
|
|
//
|
|
// Software distributed under the License is distributed on an "AS
|
|
// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
// implied. See the License for the specific language governing
|
|
// rights and limitations under the License.
|
|
//
|
|
//
|
|
//------------------------------------------------------------------------------
|
|
//==============================================================================
|
|
// Author(s): ="Atheros"
|
|
//==============================================================================
|
|
|
|
#ifndef TESTCMD_H_
|
|
#define TESTCMD_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef AR6002_REV2
|
|
#define TCMD_MAX_RATES 12
|
|
#else
|
|
#define TCMD_MAX_RATES 28
|
|
#endif
|
|
|
|
typedef enum {
|
|
ZEROES_PATTERN = 0,
|
|
ONES_PATTERN,
|
|
REPEATING_10,
|
|
PN7_PATTERN,
|
|
PN9_PATTERN,
|
|
PN15_PATTERN
|
|
}TX_DATA_PATTERN;
|
|
|
|
/* Continous tx
|
|
mode : TCMD_CONT_TX_OFF - Disabling continous tx
|
|
TCMD_CONT_TX_SINE - Enable continuous unmodulated tx
|
|
TCMD_CONT_TX_FRAME- Enable continuous modulated tx
|
|
freq : Channel freq in Mhz. (e.g 2412 for channel 1 in 11 g)
|
|
dataRate: 0 - 1 Mbps
|
|
1 - 2 Mbps
|
|
2 - 5.5 Mbps
|
|
3 - 11 Mbps
|
|
4 - 6 Mbps
|
|
5 - 9 Mbps
|
|
6 - 12 Mbps
|
|
7 - 18 Mbps
|
|
8 - 24 Mbps
|
|
9 - 36 Mbps
|
|
10 - 28 Mbps
|
|
11 - 54 Mbps
|
|
txPwr: Tx power in dBm[5 -11] for unmod Tx, [5-14] for mod Tx
|
|
antenna: 1 - one antenna
|
|
2 - two antenna
|
|
Note : Enable/disable continuous tx test cmd works only when target is awake.
|
|
*/
|
|
|
|
typedef enum {
|
|
TCMD_CONT_TX_OFF = 0,
|
|
TCMD_CONT_TX_SINE,
|
|
TCMD_CONT_TX_FRAME,
|
|
TCMD_CONT_TX_TX99,
|
|
TCMD_CONT_TX_TX100
|
|
} TCMD_CONT_TX_MODE;
|
|
|
|
typedef enum {
|
|
TCMD_WLAN_MODE_HT20 = 0,
|
|
TCMD_WLAN_MODE_HT40PLUS = 1,
|
|
TCMD_WLAN_MODE_HT40MINUS = 2,
|
|
} TCMD_WLAN_MODE;
|
|
|
|
typedef PREPACK struct {
|
|
A_UINT32 testCmdId;
|
|
A_UINT32 mode;
|
|
A_UINT32 freq;
|
|
A_UINT32 dataRate;
|
|
A_INT32 txPwr;
|
|
A_UINT32 antenna;
|
|
A_UINT32 enANI;
|
|
A_UINT32 scramblerOff;
|
|
A_UINT32 aifsn;
|
|
A_UINT16 pktSz;
|
|
A_UINT16 txPattern;
|
|
A_UINT32 shortGuard;
|
|
A_UINT32 numPackets;
|
|
A_UINT32 wlanMode;
|
|
} POSTPACK TCMD_CONT_TX;
|
|
|
|
#define TCMD_TXPATTERN_ZERONE 0x1
|
|
#define TCMD_TXPATTERN_ZERONE_DIS_SCRAMBLE 0x2
|
|
|
|
/* Continuous Rx
|
|
act: TCMD_CONT_RX_PROMIS - promiscuous mode (accept all incoming frames)
|
|
TCMD_CONT_RX_FILTER - filter mode (accept only frames with dest
|
|
address equal specified
|
|
mac address (set via act =3)
|
|
TCMD_CONT_RX_REPORT off mode (disable cont rx mode and get the
|
|
report from the last cont
|
|
Rx test)
|
|
|
|
TCMD_CONT_RX_SETMAC - set MacAddr mode (sets the MAC address for the
|
|
target. This Overrides
|
|
the default MAC address.)
|
|
|
|
*/
|
|
typedef enum {
|
|
TCMD_CONT_RX_PROMIS =0,
|
|
TCMD_CONT_RX_FILTER,
|
|
TCMD_CONT_RX_REPORT,
|
|
TCMD_CONT_RX_SETMAC,
|
|
TCMD_CONT_RX_SET_ANT_SWITCH_TABLE
|
|
} TCMD_CONT_RX_ACT;
|
|
|
|
typedef PREPACK struct {
|
|
A_UINT32 testCmdId;
|
|
A_UINT32 act;
|
|
A_UINT32 enANI;
|
|
PREPACK union {
|
|
struct PREPACK TCMD_CONT_RX_PARA {
|
|
A_UINT32 freq;
|
|
A_UINT32 antenna;
|
|
A_UINT32 wlanMode;
|
|
} POSTPACK para;
|
|
struct PREPACK TCMD_CONT_RX_REPORT {
|
|
A_UINT32 totalPkt;
|
|
A_INT32 rssiInDBm;
|
|
A_UINT32 crcErrPkt;
|
|
A_UINT32 secErrPkt;
|
|
A_UINT16 rateCnt[TCMD_MAX_RATES];
|
|
A_UINT16 rateCntShortGuard[TCMD_MAX_RATES];
|
|
} POSTPACK report;
|
|
struct PREPACK TCMD_CONT_RX_MAC {
|
|
A_UCHAR addr[ATH_MAC_LEN];
|
|
} POSTPACK mac;
|
|
struct PREPACK TCMD_CONT_RX_ANT_SWITCH_TABLE {
|
|
A_UINT32 antswitch1;
|
|
A_UINT32 antswitch2;
|
|
}POSTPACK antswitchtable;
|
|
} POSTPACK u;
|
|
} POSTPACK TCMD_CONT_RX;
|
|
|
|
/* Force sleep/wake test cmd
|
|
mode: TCMD_PM_WAKEUP - Wakeup the target
|
|
TCMD_PM_SLEEP - Force the target to sleep.
|
|
*/
|
|
typedef enum {
|
|
TCMD_PM_WAKEUP = 1, /* be consistent with target */
|
|
TCMD_PM_SLEEP
|
|
} TCMD_PM_MODE;
|
|
|
|
typedef PREPACK struct {
|
|
A_UINT32 testCmdId;
|
|
A_UINT32 mode;
|
|
} POSTPACK TCMD_PM;
|
|
|
|
typedef enum {
|
|
TCMD_CONT_TX_ID,
|
|
TCMD_CONT_RX_ID,
|
|
TCMD_PM_ID
|
|
} TCMD_ID;
|
|
|
|
typedef PREPACK union {
|
|
TCMD_CONT_TX contTx;
|
|
TCMD_CONT_RX contRx;
|
|
TCMD_PM pm;
|
|
} POSTPACK TEST_CMD;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* TESTCMD_H_ */
|