1 2 /* 3 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 * SPDX-License-Identifier: ISC 5 */ 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #ifndef _VHT_SIG_B_SU80_INFO_H_ 20 #define _VHT_SIG_B_SU80_INFO_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 #define NUM_OF_DWORDS_VHT_SIG_B_SU80_INFO 4 25 26 27 struct vht_sig_b_su80_info { 28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 29 uint32_t length : 21, 30 vhtb_reserved : 2, 31 tail : 6, 32 reserved_0 : 2, 33 rx_ndp : 1; 34 uint32_t length_copy_a : 21, 35 vhtb_reserved_copy_a : 2, 36 tail_copy_a : 6, 37 reserved_1 : 2, 38 rx_ndp_copy_a : 1; 39 uint32_t length_copy_b : 21, 40 vhtb_reserved_copy_b : 2, 41 tail_copy_b : 6, 42 reserved_2 : 2, 43 rx_ndp_copy_b : 1; 44 uint32_t length_copy_c : 21, 45 vhtb_reserved_copy_c : 2, 46 tail_copy_c : 6, 47 reserved_3 : 2, 48 rx_ndp_copy_c : 1; 49 #else 50 uint32_t rx_ndp : 1, 51 reserved_0 : 2, 52 tail : 6, 53 vhtb_reserved : 2, 54 length : 21; 55 uint32_t rx_ndp_copy_a : 1, 56 reserved_1 : 2, 57 tail_copy_a : 6, 58 vhtb_reserved_copy_a : 2, 59 length_copy_a : 21; 60 uint32_t rx_ndp_copy_b : 1, 61 reserved_2 : 2, 62 tail_copy_b : 6, 63 vhtb_reserved_copy_b : 2, 64 length_copy_b : 21; 65 uint32_t rx_ndp_copy_c : 1, 66 reserved_3 : 2, 67 tail_copy_c : 6, 68 vhtb_reserved_copy_c : 2, 69 length_copy_c : 21; 70 #endif 71 }; 72 73 74 75 76 #define VHT_SIG_B_SU80_INFO_LENGTH_OFFSET 0x00000000 77 #define VHT_SIG_B_SU80_INFO_LENGTH_LSB 0 78 #define VHT_SIG_B_SU80_INFO_LENGTH_MSB 20 79 #define VHT_SIG_B_SU80_INFO_LENGTH_MASK 0x001fffff 80 81 82 83 84 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_OFFSET 0x00000000 85 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_LSB 21 86 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_MSB 22 87 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_MASK 0x00600000 88 89 90 91 92 #define VHT_SIG_B_SU80_INFO_TAIL_OFFSET 0x00000000 93 #define VHT_SIG_B_SU80_INFO_TAIL_LSB 23 94 #define VHT_SIG_B_SU80_INFO_TAIL_MSB 28 95 #define VHT_SIG_B_SU80_INFO_TAIL_MASK 0x1f800000 96 97 98 99 100 #define VHT_SIG_B_SU80_INFO_RESERVED_0_OFFSET 0x00000000 101 #define VHT_SIG_B_SU80_INFO_RESERVED_0_LSB 29 102 #define VHT_SIG_B_SU80_INFO_RESERVED_0_MSB 30 103 #define VHT_SIG_B_SU80_INFO_RESERVED_0_MASK 0x60000000 104 105 106 107 108 #define VHT_SIG_B_SU80_INFO_RX_NDP_OFFSET 0x00000000 109 #define VHT_SIG_B_SU80_INFO_RX_NDP_LSB 31 110 #define VHT_SIG_B_SU80_INFO_RX_NDP_MSB 31 111 #define VHT_SIG_B_SU80_INFO_RX_NDP_MASK 0x80000000 112 113 114 115 116 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_A_OFFSET 0x00000004 117 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_A_LSB 0 118 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_A_MSB 20 119 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_A_MASK 0x001fffff 120 121 122 123 124 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_A_OFFSET 0x00000004 125 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_A_LSB 21 126 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_A_MSB 22 127 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_A_MASK 0x00600000 128 129 130 131 132 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_A_OFFSET 0x00000004 133 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_A_LSB 23 134 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_A_MSB 28 135 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_A_MASK 0x1f800000 136 137 138 139 140 #define VHT_SIG_B_SU80_INFO_RESERVED_1_OFFSET 0x00000004 141 #define VHT_SIG_B_SU80_INFO_RESERVED_1_LSB 29 142 #define VHT_SIG_B_SU80_INFO_RESERVED_1_MSB 30 143 #define VHT_SIG_B_SU80_INFO_RESERVED_1_MASK 0x60000000 144 145 146 147 148 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_A_OFFSET 0x00000004 149 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_A_LSB 31 150 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_A_MSB 31 151 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_A_MASK 0x80000000 152 153 154 155 156 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_B_OFFSET 0x00000008 157 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_B_LSB 0 158 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_B_MSB 20 159 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_B_MASK 0x001fffff 160 161 162 163 164 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_B_OFFSET 0x00000008 165 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_B_LSB 21 166 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_B_MSB 22 167 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_B_MASK 0x00600000 168 169 170 171 172 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_B_OFFSET 0x00000008 173 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_B_LSB 23 174 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_B_MSB 28 175 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_B_MASK 0x1f800000 176 177 178 179 180 #define VHT_SIG_B_SU80_INFO_RESERVED_2_OFFSET 0x00000008 181 #define VHT_SIG_B_SU80_INFO_RESERVED_2_LSB 29 182 #define VHT_SIG_B_SU80_INFO_RESERVED_2_MSB 30 183 #define VHT_SIG_B_SU80_INFO_RESERVED_2_MASK 0x60000000 184 185 186 187 188 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_B_OFFSET 0x00000008 189 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_B_LSB 31 190 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_B_MSB 31 191 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_B_MASK 0x80000000 192 193 194 195 196 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_C_OFFSET 0x0000000c 197 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_C_LSB 0 198 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_C_MSB 20 199 #define VHT_SIG_B_SU80_INFO_LENGTH_COPY_C_MASK 0x001fffff 200 201 202 203 204 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_C_OFFSET 0x0000000c 205 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_C_LSB 21 206 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_C_MSB 22 207 #define VHT_SIG_B_SU80_INFO_VHTB_RESERVED_COPY_C_MASK 0x00600000 208 209 210 211 212 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_C_OFFSET 0x0000000c 213 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_C_LSB 23 214 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_C_MSB 28 215 #define VHT_SIG_B_SU80_INFO_TAIL_COPY_C_MASK 0x1f800000 216 217 218 219 220 #define VHT_SIG_B_SU80_INFO_RESERVED_3_OFFSET 0x0000000c 221 #define VHT_SIG_B_SU80_INFO_RESERVED_3_LSB 29 222 #define VHT_SIG_B_SU80_INFO_RESERVED_3_MSB 30 223 #define VHT_SIG_B_SU80_INFO_RESERVED_3_MASK 0x60000000 224 225 226 227 228 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_C_OFFSET 0x0000000c 229 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_C_LSB 31 230 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_C_MSB 31 231 #define VHT_SIG_B_SU80_INFO_RX_NDP_COPY_C_MASK 0x80000000 232 233 234 235 #endif 236