blob: ed6ab8d3eec9217ca65535c546ead6e81ae627e7 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Prakash Dhavali55d45772014-02-12 13:19:04 -08002 * Copyright (c) 2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
Gopichand Nakkala9c070ad2013-01-08 21:16:34 -080020 */
Prakash Dhavali55d45772014-02-12 13:19:04 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028/** ------------------------------------------------------------------------- *
29 ------------------------------------------------------------------------- *
30
31
32 \file pttFrameGen.h
33
34 \brief Definitions for PTT frame generation
35
36 $Id$
37
Jeff Johnson295189b2012-06-20 16:38:30 -070038
39 ========================================================================== */
40
41#ifndef PTTFRAMEGEN_H
42#define PTTFRAMEGEN_H
43
44
45//#define MAX_PKT_GEN_BUF_ENTRY (HAL_HIF_MAX_TX_RING_ENTRY >> 1)
46
47
48
49#define MAX_PAYLOAD_SIZE 2400
50#define MAX_TX_PAYLOAD_SIZE 4096
51
52typedef enum {
53 TEST_PAYLOAD_NONE,
54 TEST_PAYLOAD_FILL_BYTE,
55 TEST_PAYLOAD_RANDOM,
56 TEST_PAYLOAD_RAMP,
57 TEST_PAYLOAD_TEMPLATE,
58 TEST_PAYLOAD_MAX = 0X3FFFFFFF, //dummy value to set enum to 4 bytes
59} ePayloadContents;
60
61
62#define MAC_ADDR_SIZE ( 6 )
63
64typedef PACKED_PRE struct PACKED_POST {
65 tANI_U32 numTestPackets;
66 tANI_U32 interFrameSpace;
67 eHalPhyRates rate;
68 ePayloadContents payloadContents;
69 tANI_U16 payloadLength;
70 tANI_U8 payloadFillByte;
71 tANI_BOOLEAN pktAutoSeqNum; //seq num setting (hw or not) for packet gen
72
73 tANI_U8 addr1[MAC_ADDR_SIZE];
74 tANI_U8 addr2[MAC_ADDR_SIZE];
75 tANI_U8 addr3[MAC_ADDR_SIZE];
76 tANI_U8 tx_mode;
77 tANI_BOOLEAN crc; //0 = no FCS calculated = power detector works = receive won't work?,
78 //1 = crc calculated = receive works, but power detector workaround doesn't
79
80 ePhyDbgPreamble preamble;
81} sPttFrameGenParams;
82
83
84typedef PACKED_PRE struct PACKED_POST {
85 tANI_U32 legacy; //11g OFDM preamble
86 tANI_U32 gfSimo20; //greenfield preamble
Jeff Johnson295189b2012-06-20 16:38:30 -070087 tANI_U32 mmSimo20; //mixed mode preamble
Jeff Johnson43971f52012-07-17 12:26:56 -070088 tANI_U32 gfSimo40; //greenfield preamble
89 tANI_U32 mmSimo40; //mixed mode preamble
90 tANI_U32 txbShort; //11b short
91 tANI_U32 txbLong; //11b long
92 tANI_U32 acSimo204080; //11ac SIMO 20,40,80
Jeff Johnson295189b2012-06-20 16:38:30 -070093 tANI_U32 total;
94} sTxFrameCounters;
95
96#endif