xref: /wlan-driver/fw-api/hw/qcn6122/phyrx_vht_sig_a.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name  *
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name #ifndef _PHYRX_VHT_SIG_A_H_
18*5113495bSYour Name #define _PHYRX_VHT_SIG_A_H_
19*5113495bSYour Name #if !defined(__ASSEMBLER__)
20*5113495bSYour Name #endif
21*5113495bSYour Name 
22*5113495bSYour Name #include "vht_sig_a_info.h"
23*5113495bSYour Name 
24*5113495bSYour Name // ################ START SUMMARY #################
25*5113495bSYour Name //
26*5113495bSYour Name //	Dword	Fields
27*5113495bSYour Name //	0-1	struct vht_sig_a_info phyrx_vht_sig_a_info_details;
28*5113495bSYour Name //
29*5113495bSYour Name // ################ END SUMMARY #################
30*5113495bSYour Name 
31*5113495bSYour Name #define NUM_OF_DWORDS_PHYRX_VHT_SIG_A 2
32*5113495bSYour Name 
33*5113495bSYour Name struct phyrx_vht_sig_a {
34*5113495bSYour Name     struct            vht_sig_a_info                       phyrx_vht_sig_a_info_details;
35*5113495bSYour Name };
36*5113495bSYour Name 
37*5113495bSYour Name /*
38*5113495bSYour Name 
39*5113495bSYour Name struct vht_sig_a_info phyrx_vht_sig_a_info_details
40*5113495bSYour Name 
41*5113495bSYour Name 			See detailed description of the STRUCT
42*5113495bSYour Name */
43*5113495bSYour Name 
44*5113495bSYour Name 
45*5113495bSYour Name  /* EXTERNAL REFERENCE : struct vht_sig_a_info phyrx_vht_sig_a_info_details */
46*5113495bSYour Name 
47*5113495bSYour Name 
48*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_BANDWIDTH
49*5113495bSYour Name 
50*5113495bSYour Name 			Packet bandwidth
51*5113495bSYour Name 
52*5113495bSYour Name 
53*5113495bSYour Name 
54*5113495bSYour Name 			<enum 0    20_MHZ_11AC>
55*5113495bSYour Name 
56*5113495bSYour Name 			<enum 1    40_MHZ_11AC>
57*5113495bSYour Name 
58*5113495bSYour Name 			<enum 2    80_MHZ_11AC>
59*5113495bSYour Name 
60*5113495bSYour Name 			<enum 3    160_MHZ_11AC>
61*5113495bSYour Name 
62*5113495bSYour Name 
63*5113495bSYour Name 
64*5113495bSYour Name 			<legal 0-3>
65*5113495bSYour Name */
66*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_BANDWIDTH_OFFSET 0x00000000
67*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_BANDWIDTH_LSB 0
68*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_BANDWIDTH_MASK 0x00000003
69*5113495bSYour Name 
70*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0
71*5113495bSYour Name 
72*5113495bSYour Name 			Reserved.  Set to 1 by MAC, PHY should ignore
73*5113495bSYour Name 
74*5113495bSYour Name 			<legal 1>
75*5113495bSYour Name */
76*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0_OFFSET 0x00000000
77*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0_LSB 2
78*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0_MASK 0x00000004
79*5113495bSYour Name 
80*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_STBC
81*5113495bSYour Name 
82*5113495bSYour Name 			Space time block coding:
83*5113495bSYour Name 
84*5113495bSYour Name 			<enum 0     stbc_disabled>  Indicates STBC is disabled
85*5113495bSYour Name 
86*5113495bSYour Name 			<enum 1     stbc_enabled>  Indicates STBC is enabled on
87*5113495bSYour Name 			all streams
88*5113495bSYour Name 
89*5113495bSYour Name 			<legal 0-1>
90*5113495bSYour Name */
91*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_STBC_OFFSET   0x00000000
92*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_STBC_LSB      3
93*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_STBC_MASK     0x00000008
94*5113495bSYour Name 
95*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_GROUP_ID
96*5113495bSYour Name 
97*5113495bSYour Name 			In a SU VHT PPDU, if the PPDU carries MPDU(s) addressed
98*5113495bSYour Name 			to an AP or to a mesh STA, the Group ID field is set to 0,
99*5113495bSYour Name 			otherwise it is set to 63.  In an NDP PPDU the Group ID is
100*5113495bSYour Name 			set according to IEEE 802.11ac_D1.0 Section 9.30.6
101*5113495bSYour Name 			(Transmission of a VHT NDP). For a MU-MIMO PPDU the Group ID
102*5113495bSYour Name 			is set as in 802.11ac_D1.0 Section 22.3.11.3 (Group ID).
103*5113495bSYour Name 			<legal all>
104*5113495bSYour Name */
105*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_GROUP_ID_OFFSET 0x00000000
106*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_GROUP_ID_LSB  4
107*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_GROUP_ID_MASK 0x000003f0
108*5113495bSYour Name 
109*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_N_STS
110*5113495bSYour Name 
111*5113495bSYour Name 			For MU:
112*5113495bSYour Name 
113*5113495bSYour Name 			3 bits/user with maximum of 4 users (user u uses
114*5113495bSYour Name 
115*5113495bSYour Name 			vht_sig_a[0][10+3u] - vht_sig_a[0][12+3u]), u = 0, 1, 2,
116*5113495bSYour Name 			3)
117*5113495bSYour Name 
118*5113495bSYour Name 			Set to 0 for 0 space time streams
119*5113495bSYour Name 
120*5113495bSYour Name 			Set to 1 for 1 space time stream
121*5113495bSYour Name 
122*5113495bSYour Name 			Set to 2 for 2 space time streams
123*5113495bSYour Name 
124*5113495bSYour Name 			Set to 3 for 3 space time streams
125*5113495bSYour Name 
126*5113495bSYour Name 			Set to 4 for 4 space time streams (not supported in Wifi
127*5113495bSYour Name 			3.0)
128*5113495bSYour Name 
129*5113495bSYour Name 			Values 5-7 are reserved
130*5113495bSYour Name 
131*5113495bSYour Name 			In this field, references to user u should be
132*5113495bSYour Name 			interpreted as MU user u. As described in the previous
133*5113495bSYour Name 			chapter in this document (see chapter on User number), the
134*5113495bSYour Name 			MU user value for a given client is defined for each MU
135*5113495bSYour Name 			group that the client participates in. The MU user number is
136*5113495bSYour Name 			not related to the internal user number that is used within
137*5113495bSYour Name 			the BFer.
138*5113495bSYour Name 
139*5113495bSYour Name 
140*5113495bSYour Name 
141*5113495bSYour Name 
142*5113495bSYour Name 
143*5113495bSYour Name 			For SU:
144*5113495bSYour Name 
145*5113495bSYour Name 			vht_sig_a[0][12:10]
146*5113495bSYour Name 
147*5113495bSYour Name 			Set to 0 for 1 space time stream
148*5113495bSYour Name 
149*5113495bSYour Name 			Set to 1 for 2 space time streams
150*5113495bSYour Name 
151*5113495bSYour Name 			Set to 2 for 3 space time streams
152*5113495bSYour Name 
153*5113495bSYour Name 			Set to 3 for 4 space time streams
154*5113495bSYour Name 
155*5113495bSYour Name 			Set to 4 for 5 space time streams
156*5113495bSYour Name 
157*5113495bSYour Name 			Set to 5 for 6 space time streams
158*5113495bSYour Name 
159*5113495bSYour Name 			Set to 6 for 7 space time streams
160*5113495bSYour Name 
161*5113495bSYour Name 			Set to 7 for 8 space time streams
162*5113495bSYour Name 
163*5113495bSYour Name 
164*5113495bSYour Name 
165*5113495bSYour Name 			vht_sig_a[0][21:13]
166*5113495bSYour Name 
167*5113495bSYour Name 			Partial AID:
168*5113495bSYour Name 
169*5113495bSYour Name 			Set to the value of the TXVECTOR parameter PARTIAL_AID.
170*5113495bSYour Name 			Partial AID provides an abbreviated indication of the
171*5113495bSYour Name 			intended recipient(s) of the frame (see IEEE802.11ac_D1.0
172*5113495bSYour Name 			Section 9.17a (Partial AID in VHT PPDUs)).
173*5113495bSYour Name 
174*5113495bSYour Name 			<legal all>
175*5113495bSYour Name */
176*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_N_STS_OFFSET  0x00000000
177*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_N_STS_LSB     10
178*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_N_STS_MASK    0x003ffc00
179*5113495bSYour Name 
180*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_TXOP_PS_NOT_ALLOWED
181*5113495bSYour Name 
182*5113495bSYour Name 			E_num 0     txop_ps_allowed  Not supported: If set to by
183*5113495bSYour Name 			VHT AP if it allows non-AP VHT STAs in TXOP power save mode
184*5113495bSYour Name 			to enter Doze state during a TXOP
185*5113495bSYour Name 
186*5113495bSYour Name 			<enum 1     no_txop_ps_allowed> Otherwise
187*5113495bSYour Name 
188*5113495bSYour Name 			<legal 1>
189*5113495bSYour Name */
190*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_TXOP_PS_NOT_ALLOWED_OFFSET 0x00000000
191*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_TXOP_PS_NOT_ALLOWED_LSB 22
192*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_TXOP_PS_NOT_ALLOWED_MASK 0x00400000
193*5113495bSYour Name 
194*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0B
195*5113495bSYour Name 
196*5113495bSYour Name 			Reserved: Should be set to 1 by the MAC and ignored by
197*5113495bSYour Name 			the PHY  <legal 1>
198*5113495bSYour Name */
199*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0B_OFFSET 0x00000000
200*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0B_LSB 23
201*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_0B_MASK 0x00800000
202*5113495bSYour Name 
203*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_0
204*5113495bSYour Name 
205*5113495bSYour Name 			This field is not part of HT-SIG:
206*5113495bSYour Name 
207*5113495bSYour Name 			Reserved: Should be set to 0 by the MAC and ignored by
208*5113495bSYour Name 			the PHY <legal 0>
209*5113495bSYour Name */
210*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_0_OFFSET 0x00000000
211*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_0_LSB 24
212*5113495bSYour Name #define PHYRX_VHT_SIG_A_0_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_0_MASK 0xff000000
213*5113495bSYour Name 
214*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_GI_SETTING
215*5113495bSYour Name 
216*5113495bSYour Name 			<enum 0     normal_gi>  Indicates short guard interval
217*5113495bSYour Name 			is not used in the data field
218*5113495bSYour Name 
219*5113495bSYour Name 			<enum 1     short_gi>  Indicates short guard interval is
220*5113495bSYour Name 			used in the data field
221*5113495bSYour Name 
222*5113495bSYour Name 			<enum 3     short_gi_ambiguity>  Indicates short guard
223*5113495bSYour Name 			interval is used in the data field and NSYM mod 10 = 9
224*5113495bSYour Name 
225*5113495bSYour Name 			NSYM is defined in IEEE802.11ac_D1.0 Section 22.4.3
226*5113495bSYour Name 			(TXTIME and PSDU_LENGTH calculation).
227*5113495bSYour Name 
228*5113495bSYour Name 			<legal 0,1,3>
229*5113495bSYour Name */
230*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_GI_SETTING_OFFSET 0x00000004
231*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_GI_SETTING_LSB 0
232*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_GI_SETTING_MASK 0x00000003
233*5113495bSYour Name 
234*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_SU_MU_CODING
235*5113495bSYour Name 
236*5113495bSYour Name 			For an SU PPDU, B2 is set to 0 for BCC, 1 for LDPC For
237*5113495bSYour Name 			an MU PPDU, if the MU[0] NSTS field is nonzero(#6773), then
238*5113495bSYour Name 			B2 indicates the coding used for user 0; set to 0 for BCC
239*5113495bSYour Name 			and 1 for LDPC. If the MU[0] NSTS field is 0, then this
240*5113495bSYour Name 			field is reserved and set to 1
241*5113495bSYour Name */
242*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_SU_MU_CODING_OFFSET 0x00000004
243*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_SU_MU_CODING_LSB 2
244*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_SU_MU_CODING_MASK 0x00000004
245*5113495bSYour Name 
246*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_LDPC_EXTRA_SYMBOL
247*5113495bSYour Name 
248*5113495bSYour Name 			Set to 1 if the LDPC PPDU encoding process (if an SU
249*5113495bSYour Name 			PPDU), or at least one LDPC user's PPDU encoding process (if
250*5113495bSYour Name 			an MU PPDU), results in an extra OFDM symbol (or symbols) as
251*5113495bSYour Name 			described in 22.3.10.5.4 (LDPC coding) and 22.3.10.5.5
252*5113495bSYour Name 			(Encoding process for MU PPDUs). Set to 0 otherwise.
253*5113495bSYour Name */
254*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_LDPC_EXTRA_SYMBOL_OFFSET 0x00000004
255*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_LDPC_EXTRA_SYMBOL_LSB 3
256*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_LDPC_EXTRA_SYMBOL_MASK 0x00000008
257*5113495bSYour Name 
258*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_MCS
259*5113495bSYour Name 
260*5113495bSYour Name 			For SU:
261*5113495bSYour Name 
262*5113495bSYour Name 			Set to 0 for BPSK 1/2
263*5113495bSYour Name 
264*5113495bSYour Name 			Set to 1 for QPSK 1/2
265*5113495bSYour Name 
266*5113495bSYour Name 			Set to 2 for QPSK 3/4
267*5113495bSYour Name 
268*5113495bSYour Name 			Set to 3 for 16-QAM 1/2
269*5113495bSYour Name 
270*5113495bSYour Name 			Set to 4 for 16-QAM 3/4
271*5113495bSYour Name 
272*5113495bSYour Name 			Set to 5 for 64-QAM 2/3
273*5113495bSYour Name 
274*5113495bSYour Name 			Set to 6 for 64-QAM 3/4
275*5113495bSYour Name 
276*5113495bSYour Name 			Set to 7 for 64-QAM 5/6
277*5113495bSYour Name 
278*5113495bSYour Name 			Set to 8 for 256-QAM 3/4
279*5113495bSYour Name 
280*5113495bSYour Name 			Set to 9 for 256-QAM 5/6
281*5113495bSYour Name 
282*5113495bSYour Name 			For MU:
283*5113495bSYour Name 
284*5113495bSYour Name 			If NSTS for user 1 is non-zero, then vht_sig_a[1][4]
285*5113495bSYour Name 			indicates coding for user 1: set to 0 for BCC, 1 for LDPC.
286*5113495bSYour Name 
287*5113495bSYour Name 			If NSTS for user 1 is set to 0, then vht_sig_a[1][4] is
288*5113495bSYour Name 			reserved and set to 1.
289*5113495bSYour Name 
290*5113495bSYour Name 			If NSTS for user 2 is non-zero, then vht_sig_a[1][5]
291*5113495bSYour Name 			indicates coding for user 2: set to 0 for BCC, 1 for LDPC.
292*5113495bSYour Name 
293*5113495bSYour Name 			If NSTS for user 2 is set to 0, then vht_sig_a[1][5] is
294*5113495bSYour Name 			reserved and set to 1.
295*5113495bSYour Name 
296*5113495bSYour Name 			If NSTS for user 3 is non-zero, then vht_sig_a[1][6]
297*5113495bSYour Name 			indicates coding for user 3: set to 0 for BCC, 1 for LDPC.
298*5113495bSYour Name 
299*5113495bSYour Name 			If NSTS for user 3 is set to 0, then vht_sig_a[1][6] is
300*5113495bSYour Name 			reserved and set to 1.
301*5113495bSYour Name 
302*5113495bSYour Name 			vht_sig_a[1][7] is reserved and set to 1
303*5113495bSYour Name 
304*5113495bSYour Name 			<legal 0-15>
305*5113495bSYour Name */
306*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_MCS_OFFSET    0x00000004
307*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_MCS_LSB       4
308*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_MCS_MASK      0x000000f0
309*5113495bSYour Name 
310*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_BEAMFORMED
311*5113495bSYour Name 
312*5113495bSYour Name 			For SU:
313*5113495bSYour Name 
314*5113495bSYour Name 			Set to 1 if a Beamforming steering matrix is applied to
315*5113495bSYour Name 			the waveform in an SU transmission as described in
316*5113495bSYour Name 			IEEE802.11ac_D1.0 Section 19.3.11.11.2 (Spatial mapping),
317*5113495bSYour Name 			set to 0 otherwise.
318*5113495bSYour Name 
319*5113495bSYour Name 			For MU:
320*5113495bSYour Name 
321*5113495bSYour Name 			Reserved and set to 1
322*5113495bSYour Name 
323*5113495bSYour Name 			<legal 0-1>
324*5113495bSYour Name */
325*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_BEAMFORMED_OFFSET 0x00000004
326*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_BEAMFORMED_LSB 8
327*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_BEAMFORMED_MASK 0x00000100
328*5113495bSYour Name 
329*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_1
330*5113495bSYour Name 
331*5113495bSYour Name 			Reserved and set to 1.  <legal 1>
332*5113495bSYour Name */
333*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_1_OFFSET 0x00000004
334*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_1_LSB 9
335*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_VHTA_RESERVED_1_MASK 0x00000200
336*5113495bSYour Name 
337*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_CRC
338*5113495bSYour Name 
339*5113495bSYour Name 			CRC calculated as in IEEE802.11ac_D1.0 Section
340*5113495bSYour Name 			19.3.9.4.4 (CRC calculation for HTSIG) with C7 in
341*5113495bSYour Name 			vht_sig_a[1][10], etc.  <legal all>
342*5113495bSYour Name */
343*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_CRC_OFFSET    0x00000004
344*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_CRC_LSB       10
345*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_CRC_MASK      0x0003fc00
346*5113495bSYour Name 
347*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_TAIL
348*5113495bSYour Name 
349*5113495bSYour Name 			Used to terminate the trellis of the convolutional
350*5113495bSYour Name 			decoder.  Set to 0.  <legal 0>
351*5113495bSYour Name */
352*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_TAIL_OFFSET   0x00000004
353*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_TAIL_LSB      18
354*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_TAIL_MASK     0x00fc0000
355*5113495bSYour Name 
356*5113495bSYour Name /* Description		PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_1
357*5113495bSYour Name 
358*5113495bSYour Name 			This field is not part of HT-SIG:
359*5113495bSYour Name 
360*5113495bSYour Name 			Reserved: Should be set to 0 by the MAC and ignored by
361*5113495bSYour Name 			the PHY <legal 0>
362*5113495bSYour Name */
363*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_1_OFFSET 0x00000004
364*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_1_LSB 24
365*5113495bSYour Name #define PHYRX_VHT_SIG_A_1_PHYRX_VHT_SIG_A_INFO_DETAILS_RESERVED_1_MASK 0xff000000
366*5113495bSYour Name 
367*5113495bSYour Name 
368*5113495bSYour Name #endif // _PHYRX_VHT_SIG_A_H_
369