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 _UNALLOCATED_RU_160_INFO_H_ 27 #define _UNALLOCATED_RU_160_INFO_H_ 28 #if !defined(__ASSEMBLER__) 29 #endif 30 31 #define NUM_OF_DWORDS_UNALLOCATED_RU_160_INFO 1 32 33 34 struct unallocated_ru_160_info { 35 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 36 uint32_t subband80_0_cc0 : 8, // [7:0] 37 subband80_0_cc1 : 8, // [15:8] 38 subband80_1_cc0 : 8, // [23:16] 39 subband80_1_cc1 : 8; // [31:24] 40 #else 41 uint32_t subband80_1_cc1 : 8, // [31:24] 42 subband80_1_cc0 : 8, // [23:16] 43 subband80_0_cc1 : 8, // [15:8] 44 subband80_0_cc0 : 8; // [7:0] 45 #endif 46 }; 47 48 49 /* Description SUBBAND80_0_CC0 50 51 Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode 52 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0) 53 for the lower 80 MHz 54 55 Valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/ 56 EHT_240/EHT_320 57 <legal all> 58 */ 59 60 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_OFFSET 0x00000000 61 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_LSB 0 62 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_MSB 7 63 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_MASK 0x000000ff 64 65 66 /* Description SUBBAND80_0_CC1 67 68 Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode 69 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1) 70 for the lower 80 MHz 71 72 Valid for HE_40/HE_80/HE_160 (80+80)/ EHT_40/EHT_80/EHT_160/EHT_240/EHT_320 73 74 <legal all> 75 */ 76 77 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_OFFSET 0x00000000 78 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_LSB 8 79 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_MSB 15 80 #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_MASK 0x0000ff00 81 82 83 /* Description SUBBAND80_1_CC0 84 85 Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode 86 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0) 87 for the higher 80 MHz 88 89 Valid for EHT_160/EHT_240/EHT_320 90 All 80 MHz subbands are identical for HE_160 (80+80). 91 <legal all> 92 */ 93 94 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_OFFSET 0x00000000 95 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_LSB 16 96 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_MSB 23 97 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_MASK 0x00ff0000 98 99 100 /* Description SUBBAND80_1_CC1 101 102 Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode 103 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1) 104 for the higher 80 MHz 105 106 Valid for EHT_160/EHT_240/EHT_320 107 All 80 MHz subbands are identical for HE_160 (80+80). 108 <legal all> 109 */ 110 111 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_OFFSET 0x00000000 112 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_LSB 24 113 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_MSB 31 114 #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_MASK 0xff000000 115 116 117 118 #endif // UNALLOCATED_RU_160_INFO 119