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