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