1  /*
2   * Copyright (c) 2021 The Linux Foundation. All rights reserved.
3   *
4   * Permission to use, copy, modify, and/or distribute this software for any
5   * purpose with or without fee is hereby granted, provided that the above
6   * copyright notice and this permission notice appear in all copies.
7   *
8   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15   */
16  
17  // $ATH_LICENSE_HW_HDR_C$
18  //
19  // DO NOT EDIT!  This file is automatically generated
20  //               These definitions are tied to a particular hardware layout
21  
22  
23  #ifndef _PHYRX_L_SIG_A_H_
24  #define _PHYRX_L_SIG_A_H_
25  #if !defined(__ASSEMBLER__)
26  #endif
27  
28  #include "l_sig_a_info.h"
29  
30  // ################ START SUMMARY #################
31  //
32  //	Dword	Fields
33  //	0	struct l_sig_a_info phyrx_l_sig_a_info_details;
34  //
35  // ################ END SUMMARY #################
36  
37  #define NUM_OF_DWORDS_PHYRX_L_SIG_A 1
38  
39  struct phyrx_l_sig_a {
40      struct            l_sig_a_info                       phyrx_l_sig_a_info_details;
41  };
42  
43  /*
44  
45  struct l_sig_a_info phyrx_l_sig_a_info_details
46  
47  			See detailed description of the STRUCT
48  */
49  
50  
51   /* EXTERNAL REFERENCE : struct l_sig_a_info phyrx_l_sig_a_info_details */
52  
53  
54  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RATE
55  
56  			This format is originally defined for OFDM as a 4 bit
57  			field but the 5th bit was added to indicate 11b formatted
58  			frames.  In the standard bit [4] is specified as reserved.
59  			For 11b frames this L-SIG is transformed in the PHY into the
60  			11b preamble format.  The following are the rates:
61  
62  			<enum 8     ofdm_48_mbps> 64-QAM 2/3 (48 Mbps)
63  
64  			<enum 9     ofdm_24_mbps> 16-QAM 1/2 (24 Mbps)
65  
66  			<enum 10     ofdm_12_mbps> QPSK 1/2 (12 Mbps)
67  
68  			<enum 11     ofdm_6_mbps> BPSK 1/2 (6 Mbps)
69  
70  			<enum 12     ofdm_54_mbps> 64-QAM 3/4 (54 Mbps)
71  
72  			<enum 13     ofdm_36_mbps> 16-QAM 3/4 (36 Mbps)
73  
74  			<enum 14     ofdm_18_mbps> QPSK 1/2 (18 Mbps)
75  
76  			<enum 15     ofdm_9_mbps> BPSK 3/4 (9 Mbps)
77  
78  			<legal 8-15>
79  */
80  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RATE_OFFSET       0x00000000
81  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RATE_LSB          0
82  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RATE_MASK         0x0000000f
83  
84  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LSIG_RESERVED
85  
86  			Reserved: Should be set to 0 by the MAC and ignored by
87  			the PHY
88  
89  			<legal 0>
90  */
91  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LSIG_RESERVED_OFFSET 0x00000000
92  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LSIG_RESERVED_LSB 4
93  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LSIG_RESERVED_MASK 0x00000010
94  
95  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LENGTH
96  
97  			The length indicates the number of octets in this MPDU.
98  			Note that when using mixed mode 11n preamble this length
99  			provides the spoofed length for the PPDU.  This length
100  			provides part of the information to derive the actually PPDU
101  			length.  For legacy OFDM and 11B frames the maximum length
102  			is
103  
104  			<legal all>
105  */
106  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LENGTH_OFFSET     0x00000000
107  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LENGTH_LSB        5
108  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_LENGTH_MASK       0x0001ffe0
109  
110  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PARITY
111  
112  			11a/n/ac TX: This field provides even parity over the
113  			first 18 bits of the signal field which means that the sum
114  			of 1s in the signal field will always be even on
115  
116  			11a/n/ac RX: this field contains the received parity
117  			field from the L-SIG symbol for the current packet.
118  
119  			<legal 0-1>
120  */
121  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PARITY_OFFSET     0x00000000
122  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PARITY_LSB        17
123  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PARITY_MASK       0x00020000
124  
125  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_TAIL
126  
127  			The 6 bits of tail is always set to 0 is used to flush
128  			the BCC encoder and decoder.  <legal 0>
129  */
130  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_TAIL_OFFSET       0x00000000
131  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_TAIL_LSB          18
132  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_TAIL_MASK         0x00fc0000
133  
134  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PKT_TYPE
135  
136  			Only used on the RX side.
137  
138  			Note: This is not really part of L-SIG
139  
140  
141  
142  			Packet type:
143  
144  			<enum 0 dot11a>802.11a PPDU type
145  
146  			<enum 1 dot11b>802.11b PPDU type
147  
148  			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
149  
150  			<enum 3 dot11ac>802.11ac PPDU type
151  
152  			<enum 4 dot11ax>802.11ax PPDU type
153  */
154  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PKT_TYPE_OFFSET   0x00000000
155  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PKT_TYPE_LSB      24
156  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_PKT_TYPE_MASK     0x0f000000
157  
158  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_CAPTURED_IMPLICIT_SOUNDING
159  
160  			Only used on the RX side.
161  
162  			Note: This is not really part of L-SIG
163  
164  
165  
166  			This indicates that the PHY has captured implicit
167  			sounding.
168  */
169  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_CAPTURED_IMPLICIT_SOUNDING_OFFSET 0x00000000
170  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_CAPTURED_IMPLICIT_SOUNDING_LSB 28
171  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_CAPTURED_IMPLICIT_SOUNDING_MASK 0x10000000
172  
173  /* Description		PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RESERVED
174  
175  			Reserved: Should be set to 0 by the transmitting MAC and
176  			ignored by the PHY <legal 0>
177  */
178  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RESERVED_OFFSET   0x00000000
179  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RESERVED_LSB      29
180  #define PHYRX_L_SIG_A_0_PHYRX_L_SIG_A_INFO_DETAILS_RESERVED_MASK     0xe0000000
181  
182  
183  #endif // _PHYRX_L_SIG_A_H_
184