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_A_MU_UL_INFO_H_ 25 #define _HE_SIG_A_MU_UL_INFO_H_ 26 #if !defined(__ASSEMBLER__) 27 #endif 28 29 30 // ################ START SUMMARY ################# 31 // 32 // Dword Fields 33 // 0 format_indication[0], bss_color_id[6:1], spatial_reuse[22:7], reserved_0a[23], transmit_bw[25:24], reserved_0b[31:26] 34 // 1 txop_duration[6:0], reserved_1a[15:7], crc[19:16], tail[25:20], reserved_1b[31:26] 35 // 36 // ################ END SUMMARY ################# 37 38 #define NUM_OF_DWORDS_HE_SIG_A_MU_UL_INFO 2 39 40 struct he_sig_a_mu_ul_info { 41 uint32_t format_indication : 1, //[0] 42 bss_color_id : 6, //[6:1] 43 spatial_reuse : 16, //[22:7] 44 reserved_0a : 1, //[23] 45 transmit_bw : 2, //[25:24] 46 reserved_0b : 6; //[31:26] 47 uint32_t txop_duration : 7, //[6:0] 48 reserved_1a : 9, //[15:7] 49 crc : 4, //[19:16] 50 tail : 6, //[25:20] 51 reserved_1b : 6; //[31:26] 52 }; 53 54 /* 55 56 format_indication 57 58 Indicates whether the transmission is SU PPDU or a 59 trigger based UL MU PDDU 60 61 <enum 0 HE_SIGA_FORMAT_HE_TRIG> 62 63 <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU> 64 65 <legal all> 66 67 bss_color_id 68 69 BSS color ID 70 71 <legal all> 72 73 spatial_reuse 74 75 Spatial reuse 76 77 78 79 <legal all> 80 81 reserved_0a 82 83 Note: spec indicates this shall be set to 1 84 85 <legal 1> 86 87 transmit_bw 88 89 Bandwidth of the PPDU. 90 91 92 93 <enum 0 HE_SIG_A_MU_UL_BW20> 20 Mhz 94 95 <enum 1 HE_SIG_A_MU_UL_BW40> 40 Mhz 96 97 <enum 2 HE_SIG_A_MU_UL_BW80> 80 Mhz 98 99 <enum 3 HE_SIG_A_MU_UL_BW160> 160 MHz or 80+80 MHz 100 101 102 103 On RX side, Field Used by MAC HW 104 105 <legal 0-3> 106 107 reserved_0b 108 109 <legal 0> 110 111 txop_duration 112 113 Indicates the remaining time in the current TXOP <legal 114 all> 115 116 reserved_1a 117 118 Set to value indicated in the trigger frame 119 120 <legal 255> 121 122 crc 123 124 CRC for HE-SIG-A contents. 125 126 This CRC may also cover some fields of L-SIG (TBD) 127 128 <legal all> 129 130 tail 131 132 BCC encoding (similar to VHT-SIG-A) with 6 tail bits is 133 used 134 135 <legal 0> 136 137 reserved_1b 138 139 <legal 0> 140 */ 141 142 143 /* Description HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION 144 145 Indicates whether the transmission is SU PPDU or a 146 trigger based UL MU PDDU 147 148 <enum 0 HE_SIGA_FORMAT_HE_TRIG> 149 150 <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU> 151 152 <legal all> 153 */ 154 #define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_OFFSET 0x00000000 155 #define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_LSB 0 156 #define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_MASK 0x00000001 157 158 /* Description HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID 159 160 BSS color ID 161 162 <legal all> 163 */ 164 #define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_OFFSET 0x00000000 165 #define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_LSB 1 166 #define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_MASK 0x0000007e 167 168 /* Description HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE 169 170 Spatial reuse 171 172 173 174 <legal all> 175 */ 176 #define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_OFFSET 0x00000000 177 #define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_LSB 7 178 #define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_MASK 0x007fff80 179 180 /* Description HE_SIG_A_MU_UL_INFO_0_RESERVED_0A 181 182 Note: spec indicates this shall be set to 1 183 184 <legal 1> 185 */ 186 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_OFFSET 0x00000000 187 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_LSB 23 188 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_MASK 0x00800000 189 190 /* Description HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW 191 192 Bandwidth of the PPDU. 193 194 195 196 <enum 0 HE_SIG_A_MU_UL_BW20> 20 Mhz 197 198 <enum 1 HE_SIG_A_MU_UL_BW40> 40 Mhz 199 200 <enum 2 HE_SIG_A_MU_UL_BW80> 80 Mhz 201 202 <enum 3 HE_SIG_A_MU_UL_BW160> 160 MHz or 80+80 MHz 203 204 205 206 On RX side, Field Used by MAC HW 207 208 <legal 0-3> 209 */ 210 #define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_OFFSET 0x00000000 211 #define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_LSB 24 212 #define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_MASK 0x03000000 213 214 /* Description HE_SIG_A_MU_UL_INFO_0_RESERVED_0B 215 216 <legal 0> 217 */ 218 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_OFFSET 0x00000000 219 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_LSB 26 220 #define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_MASK 0xfc000000 221 222 /* Description HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION 223 224 Indicates the remaining time in the current TXOP <legal 225 all> 226 */ 227 #define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_OFFSET 0x00000004 228 #define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_LSB 0 229 #define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_MASK 0x0000007f 230 231 /* Description HE_SIG_A_MU_UL_INFO_1_RESERVED_1A 232 233 Set to value indicated in the trigger frame 234 235 <legal 255> 236 */ 237 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_OFFSET 0x00000004 238 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_LSB 7 239 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_MASK 0x0000ff80 240 241 /* Description HE_SIG_A_MU_UL_INFO_1_CRC 242 243 CRC for HE-SIG-A contents. 244 245 This CRC may also cover some fields of L-SIG (TBD) 246 247 <legal all> 248 */ 249 #define HE_SIG_A_MU_UL_INFO_1_CRC_OFFSET 0x00000004 250 #define HE_SIG_A_MU_UL_INFO_1_CRC_LSB 16 251 #define HE_SIG_A_MU_UL_INFO_1_CRC_MASK 0x000f0000 252 253 /* Description HE_SIG_A_MU_UL_INFO_1_TAIL 254 255 BCC encoding (similar to VHT-SIG-A) with 6 tail bits is 256 used 257 258 <legal 0> 259 */ 260 #define HE_SIG_A_MU_UL_INFO_1_TAIL_OFFSET 0x00000004 261 #define HE_SIG_A_MU_UL_INFO_1_TAIL_LSB 20 262 #define HE_SIG_A_MU_UL_INFO_1_TAIL_MASK 0x03f00000 263 264 /* Description HE_SIG_A_MU_UL_INFO_1_RESERVED_1B 265 266 <legal 0> 267 */ 268 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_OFFSET 0x00000004 269 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_LSB 26 270 #define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_MASK 0xfc000000 271 272 273 #endif // _HE_SIG_A_MU_UL_INFO_H_ 274