1 2 /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. 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 18 19 20 21 22 23 24 25 26 #ifndef _HE_SIG_B1_MU_INFO_H_ 27 #define _HE_SIG_B1_MU_INFO_H_ 28 #if !defined(__ASSEMBLER__) 29 #endif 30 31 #define NUM_OF_DWORDS_HE_SIG_B1_MU_INFO 1 32 33 34 struct he_sig_b1_mu_info { 35 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 36 uint32_t ru_allocation : 8, // [7:0] 37 reserved_0 : 23, // [30:8] 38 rx_integrity_check_passed : 1; // [31:31] 39 #else 40 uint32_t rx_integrity_check_passed : 1, // [31:31] 41 reserved_0 : 23, // [30:8] 42 ru_allocation : 8; // [7:0] 43 #endif 44 }; 45 46 47 /* Description RU_ALLOCATION 48 49 RU allocation for the user(s) following this common portion 50 of the SIG 51 52 For details, refer to RU_TYPE description 53 <legal all> 54 */ 55 56 #define HE_SIG_B1_MU_INFO_RU_ALLOCATION_OFFSET 0x00000000 57 #define HE_SIG_B1_MU_INFO_RU_ALLOCATION_LSB 0 58 #define HE_SIG_B1_MU_INFO_RU_ALLOCATION_MSB 7 59 #define HE_SIG_B1_MU_INFO_RU_ALLOCATION_MASK 0x000000ff 60 61 62 /* Description RESERVED_0 63 64 <legal 0> 65 */ 66 67 #define HE_SIG_B1_MU_INFO_RESERVED_0_OFFSET 0x00000000 68 #define HE_SIG_B1_MU_INFO_RESERVED_0_LSB 8 69 #define HE_SIG_B1_MU_INFO_RESERVED_0_MSB 30 70 #define HE_SIG_B1_MU_INFO_RESERVED_0_MASK 0x7fffff00 71 72 73 /* Description RX_INTEGRITY_CHECK_PASSED 74 75 TX side: Set to 0 76 RX side: Set to 1 if PHY determines the CRC check of the 77 codeblock containing the HE-SIG-B common info has passed, 78 else set to 0 79 80 <legal all> 81 */ 82 83 #define HE_SIG_B1_MU_INFO_RX_INTEGRITY_CHECK_PASSED_OFFSET 0x00000000 84 #define HE_SIG_B1_MU_INFO_RX_INTEGRITY_CHECK_PASSED_LSB 31 85 #define HE_SIG_B1_MU_INFO_RX_INTEGRITY_CHECK_PASSED_MSB 31 86 #define HE_SIG_B1_MU_INFO_RX_INTEGRITY_CHECK_PASSED_MASK 0x80000000 87 88 89 90 #endif // HE_SIG_B1_MU_INFO 91