xref: /wlan-driver/fw-api/hw/qca8074/v2/he_sig_b2_mu_info.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 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 _HE_SIG_B2_MU_INFO_H_
24 #define _HE_SIG_B2_MU_INFO_H_
25 #if !defined(__ASSEMBLER__)
26 #endif
27 
28 
29 // ################ START SUMMARY #################
30 //
31 //	Dword	Fields
32 //	0	sta_id[10:0], sta_spatial_config[14:11], sta_mcs[18:15], reserved_set_to_1[19], sta_coding[20], reserved_0a[28:21], nsts[31:29]
33 //
34 // ################ END SUMMARY #################
35 
36 #define NUM_OF_DWORDS_HE_SIG_B2_MU_INFO 1
37 
38 struct he_sig_b2_mu_info {
39              uint32_t sta_id                          : 11, //[10:0]
40                       sta_spatial_config              :  4, //[14:11]
41                       sta_mcs                         :  4, //[18:15]
42                       reserved_set_to_1               :  1, //[19]
43                       sta_coding                      :  1, //[20]
44                       reserved_0a                     :  8, //[28:21]
45                       nsts                            :  3; //[31:29]
46 };
47 
48 /*
49 
50 sta_id
51 
52 			Identifies the STA that is addressed. Details of STA ID
53 			are TBD
54 
55 sta_spatial_config
56 
57 			Number of assigned spatial streams and their
58 			corresponding index.
59 
60 			Total number of spatial streams assigned for the MU-MIMO
61 			allocation is also signaled.
62 
63 sta_mcs
64 
65 			Indicates the data MCS
66 
67 reserved_set_to_1
68 
69 			<legal 1>
70 
71 sta_coding
72 
73 			Distinguishes between BCC/LDPC
74 
75 
76 
77 			0: BCC
78 
79 			1: LDPC
80 
81 			<legal all>
82 
83 reserved_0a
84 
85 			<legal 0>
86 
87 nsts
88 
89 			MAC RX side usage only:
90 
91 			Needed by RXPCU. Provided by PHY so that RXPCU does not
92 			need to have the RU number decoding logic.
93 
94 
95 
96 			Number of spatial streams for this user
97 
98 
99 
100 			<enum 0 1_spatial_stream>Single spatial stream
101 
102 			<enum 1 2_spatial_streams>2 spatial streams
103 
104 			<enum 2 3_spatial_streams>3 spatial streams
105 
106 			<enum 3 4_spatial_streams>4 spatial streams
107 
108 			<enum 4 5_spatial_streams>5 spatial streams
109 
110 			<enum 5 6_spatial_streams>6 spatial streams
111 
112 			<enum 6 7_spatial_streams>7 spatial streams
113 
114 			<enum 7 8_spatial_streams>8 spatial streams
115 */
116 
117 
118 /* Description		HE_SIG_B2_MU_INFO_0_STA_ID
119 
120 			Identifies the STA that is addressed. Details of STA ID
121 			are TBD
122 */
123 #define HE_SIG_B2_MU_INFO_0_STA_ID_OFFSET                            0x00000000
124 #define HE_SIG_B2_MU_INFO_0_STA_ID_LSB                               0
125 #define HE_SIG_B2_MU_INFO_0_STA_ID_MASK                              0x000007ff
126 
127 /* Description		HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG
128 
129 			Number of assigned spatial streams and their
130 			corresponding index.
131 
132 			Total number of spatial streams assigned for the MU-MIMO
133 			allocation is also signaled.
134 */
135 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_OFFSET                0x00000000
136 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_LSB                   11
137 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_MASK                  0x00007800
138 
139 /* Description		HE_SIG_B2_MU_INFO_0_STA_MCS
140 
141 			Indicates the data MCS
142 */
143 #define HE_SIG_B2_MU_INFO_0_STA_MCS_OFFSET                           0x00000000
144 #define HE_SIG_B2_MU_INFO_0_STA_MCS_LSB                              15
145 #define HE_SIG_B2_MU_INFO_0_STA_MCS_MASK                             0x00078000
146 
147 /* Description		HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1
148 
149 			<legal 1>
150 */
151 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_OFFSET                 0x00000000
152 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_LSB                    19
153 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_MASK                   0x00080000
154 
155 /* Description		HE_SIG_B2_MU_INFO_0_STA_CODING
156 
157 			Distinguishes between BCC/LDPC
158 
159 
160 
161 			0: BCC
162 
163 			1: LDPC
164 
165 			<legal all>
166 */
167 #define HE_SIG_B2_MU_INFO_0_STA_CODING_OFFSET                        0x00000000
168 #define HE_SIG_B2_MU_INFO_0_STA_CODING_LSB                           20
169 #define HE_SIG_B2_MU_INFO_0_STA_CODING_MASK                          0x00100000
170 
171 /* Description		HE_SIG_B2_MU_INFO_0_RESERVED_0A
172 
173 			<legal 0>
174 */
175 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_OFFSET                       0x00000000
176 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_LSB                          21
177 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_MASK                         0x1fe00000
178 
179 /* Description		HE_SIG_B2_MU_INFO_0_NSTS
180 
181 			MAC RX side usage only:
182 
183 			Needed by RXPCU. Provided by PHY so that RXPCU does not
184 			need to have the RU number decoding logic.
185 
186 
187 
188 			Number of spatial streams for this user
189 
190 
191 
192 			<enum 0 1_spatial_stream>Single spatial stream
193 
194 			<enum 1 2_spatial_streams>2 spatial streams
195 
196 			<enum 2 3_spatial_streams>3 spatial streams
197 
198 			<enum 3 4_spatial_streams>4 spatial streams
199 
200 			<enum 4 5_spatial_streams>5 spatial streams
201 
202 			<enum 5 6_spatial_streams>6 spatial streams
203 
204 			<enum 6 7_spatial_streams>7 spatial streams
205 
206 			<enum 7 8_spatial_streams>8 spatial streams
207 */
208 #define HE_SIG_B2_MU_INFO_0_NSTS_OFFSET                              0x00000000
209 #define HE_SIG_B2_MU_INFO_0_NSTS_LSB                                 29
210 #define HE_SIG_B2_MU_INFO_0_NSTS_MASK                                0xe0000000
211 
212 
213 #endif // _HE_SIG_B2_MU_INFO_H_
214