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