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