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