1 /* 2 * Copyright (c) 2016-2017 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 #ifndef _PHYRX_RSSI_LEGACY_H_ 20 #define _PHYRX_RSSI_LEGACY_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 #include "receive_rssi_info.h" 25 26 // ################ START SUMMARY ################# 27 // 28 // Dword Fields 29 // 0 reception_type[3:0], reserved_0[5:4], receive_bandwidth[7:6], rx_chain_mask[15:8], phy_ppdu_id[31:16] 30 // 1 sw_phy_meta_data[31:0] 31 // 2 ppdu_start_timestamp[31:0] 32 // 3-18 struct receive_rssi_info pre_rssi_info_details; 33 // 19-34 struct receive_rssi_info preamble_rssi_info_details; 34 // 35 pre_rssi_comb[7:0], rssi_comb[15:8], normalized_pre_rssi_comb[23:16], normalized_rssi_comb[31:24] 35 // 36 // ################ END SUMMARY ################# 37 38 #define NUM_OF_DWORDS_PHYRX_RSSI_LEGACY 36 39 40 struct phyrx_rssi_legacy { 41 uint32_t reception_type : 4, //[3:0] 42 reserved_0 : 2, //[5:4] 43 receive_bandwidth : 2, //[7:6] 44 rx_chain_mask : 8, //[15:8] 45 phy_ppdu_id : 16; //[31:16] 46 uint32_t sw_phy_meta_data : 32; //[31:0] 47 uint32_t ppdu_start_timestamp : 32; //[31:0] 48 struct receive_rssi_info pre_rssi_info_details; 49 struct receive_rssi_info preamble_rssi_info_details; 50 uint32_t pre_rssi_comb : 8, //[7:0] 51 rssi_comb : 8, //[15:8] 52 normalized_pre_rssi_comb : 8, //[23:16] 53 normalized_rssi_comb : 8; //[31:24] 54 }; 55 56 /* 57 58 reception_type 59 60 This field helps MAC SW determine which field in this 61 (and following TLVs) will contain valid information. For 62 example some RSSI info not valid in case of uplink_ofdma.. 63 64 <enum 0 reception_is_uplink_ofdma> 65 66 <enum 1 reception_is_uplink_mimo> 67 68 <enum 2 reception_is_other> 69 70 <enum 3 reception_is_frameless> PHY RX has been 71 instructed in advance that the upcoming reception is 72 frameless. This implieas that in advance it is known that 73 all frames will collide in the medium, and nothing can be 74 properly decoded... This can happen during the CTS reception 75 in response to the triggered MU-RTS transmission. 76 77 MAC takes no action when seeing this e_num. For the 78 frameless reception the indication in pkt_end is the final 79 one evaluated by the MAC 80 81 <legal 0-3> 82 83 reserved_0 84 85 <legal 0> 86 87 receive_bandwidth 88 89 Full receive Bandwidth 90 91 92 93 <enum 0 full_rx_bw_20_mhz> 94 95 <enum 1 full_rx_bw_40_mhz> 96 97 <enum 2 full_rx_bw_80_mhz> 98 99 <enum 3 full_rx_bw_160_mhz> 100 101 102 103 <legal 0-3> 104 105 rx_chain_mask 106 107 The chain mask at the start of the reception of this 108 frame. 109 110 111 112 each bit is one antenna 113 114 0: the chain is NOT used 115 116 1: the chain is used 117 118 119 120 Supports up to 8 chains 121 122 123 124 Used in 11ax TPC calculations for UL OFDMA/MIMO and has 125 to be in sync with the rssi_comb value as this is also used 126 by the MAC for the TPC calculations. 127 128 <legal all> 129 130 phy_ppdu_id 131 132 A ppdu counter value that PHY increments for every PPDU 133 received. The counter value wraps around 134 135 <legal all> 136 137 sw_phy_meta_data 138 139 32 bit Meta data that SW can program in a 32 bit PHY 140 register and PHY will insert the value in every 141 RX_RSSI_LEGACY TLV that it generates. 142 143 SW uses this field to embed among other things some SW 144 channel info. 145 146 ppdu_start_timestamp 147 148 Timestamp that indicates when the PPDU that contained 149 this MPDU started on the medium. 150 151 152 153 Note that PHY will detect the start later, and will have 154 to derive out of the preamble info when the frame actually 155 appeared on the medium 156 157 <legal 0- 10> 158 159 struct receive_rssi_info pre_rssi_info_details 160 161 This field is not valid when reception_is_uplink_ofdma 162 163 164 165 Overview of the pre-RSSI values. That is RSSI values 166 measured on the medium before this reception started. 167 168 struct receive_rssi_info preamble_rssi_info_details 169 170 This field is not valid when reception_is_uplink_ofdma 171 172 173 174 Overview of the RSSI values measured during the 175 pre-amble phase of this reception 176 177 pre_rssi_comb 178 179 Combined pre_rssi of all chains. Based on primary 180 channel RSSI. 181 182 183 184 RSSI is reported as 8b signed values. Nominally value is 185 in dB units above or below the noisefloor(minCCApwr). 186 187 188 189 The resolution can be: 190 191 1dB or 0.5dB. This is statically configured within the 192 PHY and MAC 193 194 195 196 In case of 1dB, the Range is: 197 198 -128dB to 127dB 199 200 201 202 In case of 0.5dB, the Range is: 203 204 -64dB to 63.5dB 205 206 207 208 <legal all> 209 210 rssi_comb 211 212 Combined rssi of all chains. Based on primary channel 213 RSSI. 214 215 216 217 RSSI is reported as 8b signed values. Nominally value is 218 in dB units above or below the noisefloor(minCCApwr). 219 220 221 222 The resolution can be: 223 224 1dB or 0.5dB. This is statically configured within the 225 PHY and MAC 226 227 228 229 In case of 1dB, the Range is: 230 231 -128dB to 127dB 232 233 234 235 In case of 0.5dB, the Range is: 236 237 -64dB to 63.5dB 238 239 240 241 <legal all> 242 243 normalized_pre_rssi_comb 244 245 Combined pre_rssi of all chains, but normalized back to 246 a single chain. This avoids PDG from having to evaluate this 247 in combination with receive chain mask and perform all kinds 248 of pre-processing algorithms. 249 250 251 252 Based on primary channel RSSI. 253 254 255 256 RSSI is reported as 8b signed values. Nominally value is 257 in dB units above or below the noisefloor(minCCApwr). 258 259 260 261 The resolution can be: 262 263 1dB or 0.5dB. This is statically configured within the 264 PHY and MAC 265 266 267 268 In case of 1dB, the Range is: 269 270 -128dB to 127dB 271 272 273 274 In case of 0.5dB, the Range is: 275 276 -64dB to 63.5dB 277 278 279 280 <legal all> 281 282 normalized_rssi_comb 283 284 Combined rssi of all chains, but normalized back to a 285 single chain. This avoids PDG from having to evaluate this 286 in combination with receive chain mask and perform all kinds 287 of pre-processing algorithms. 288 289 290 291 Based on primary channel RSSI. 292 293 294 295 RSSI is reported as 8b signed values. Nominally value is 296 in dB units above or below the noisefloor(minCCApwr). 297 298 299 300 The resolution can be: 301 302 1dB or 0.5dB. This is statically configured within the 303 PHY and MAC 304 305 In case of 1dB, the Range is: 306 307 -128dB to 127dB 308 309 310 311 In case of 0.5dB, the Range is: 312 313 -64dB to 63.5dB 314 315 316 317 <legal all> 318 */ 319 320 321 /* Description PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE 322 323 This field helps MAC SW determine which field in this 324 (and following TLVs) will contain valid information. For 325 example some RSSI info not valid in case of uplink_ofdma.. 326 327 <enum 0 reception_is_uplink_ofdma> 328 329 <enum 1 reception_is_uplink_mimo> 330 331 <enum 2 reception_is_other> 332 333 <enum 3 reception_is_frameless> PHY RX has been 334 instructed in advance that the upcoming reception is 335 frameless. This implieas that in advance it is known that 336 all frames will collide in the medium, and nothing can be 337 properly decoded... This can happen during the CTS reception 338 in response to the triggered MU-RTS transmission. 339 340 MAC takes no action when seeing this e_num. For the 341 frameless reception the indication in pkt_end is the final 342 one evaluated by the MAC 343 344 <legal 0-3> 345 */ 346 #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_OFFSET 0x00000000 347 #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_LSB 0 348 #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_MASK 0x0000000f 349 350 /* Description PHYRX_RSSI_LEGACY_0_RESERVED_0 351 352 <legal 0> 353 */ 354 #define PHYRX_RSSI_LEGACY_0_RESERVED_0_OFFSET 0x00000000 355 #define PHYRX_RSSI_LEGACY_0_RESERVED_0_LSB 4 356 #define PHYRX_RSSI_LEGACY_0_RESERVED_0_MASK 0x00000030 357 358 /* Description PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH 359 360 Full receive Bandwidth 361 362 363 364 <enum 0 full_rx_bw_20_mhz> 365 366 <enum 1 full_rx_bw_40_mhz> 367 368 <enum 2 full_rx_bw_80_mhz> 369 370 <enum 3 full_rx_bw_160_mhz> 371 372 373 374 <legal 0-3> 375 */ 376 #define PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_OFFSET 0x00000000 377 #define PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_LSB 6 378 #define PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_MASK 0x000000c0 379 380 /* Description PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK 381 382 The chain mask at the start of the reception of this 383 frame. 384 385 386 387 each bit is one antenna 388 389 0: the chain is NOT used 390 391 1: the chain is used 392 393 394 395 Supports up to 8 chains 396 397 398 399 Used in 11ax TPC calculations for UL OFDMA/MIMO and has 400 to be in sync with the rssi_comb value as this is also used 401 by the MAC for the TPC calculations. 402 403 <legal all> 404 */ 405 #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_OFFSET 0x00000000 406 #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_LSB 8 407 #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_MASK 0x0000ff00 408 409 /* Description PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID 410 411 A ppdu counter value that PHY increments for every PPDU 412 received. The counter value wraps around 413 414 <legal all> 415 */ 416 #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_OFFSET 0x00000000 417 #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_LSB 16 418 #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_MASK 0xffff0000 419 420 /* Description PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA 421 422 32 bit Meta data that SW can program in a 32 bit PHY 423 register and PHY will insert the value in every 424 RX_RSSI_LEGACY TLV that it generates. 425 426 SW uses this field to embed among other things some SW 427 channel info. 428 */ 429 #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_OFFSET 0x00000004 430 #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_LSB 0 431 #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_MASK 0xffffffff 432 433 /* Description PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP 434 435 Timestamp that indicates when the PPDU that contained 436 this MPDU started on the medium. 437 438 439 440 Note that PHY will detect the start later, and will have 441 to derive out of the preamble info when the frame actually 442 appeared on the medium 443 444 <legal 0- 10> 445 */ 446 #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_OFFSET 0x00000008 447 #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_LSB 0 448 #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_MASK 0xffffffff 449 #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000000c 450 #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 451 #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 452 #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000010 453 #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 454 #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 455 #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000014 456 #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 457 #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 458 #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000018 459 #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 460 #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 461 #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000001c 462 #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 463 #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 464 #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000020 465 #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 466 #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 467 #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000024 468 #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 469 #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 470 #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000028 471 #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 472 #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 473 #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000002c 474 #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 475 #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 476 #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000030 477 #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 478 #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 479 #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000034 480 #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 481 #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 482 #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000038 483 #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 484 #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 485 #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000003c 486 #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 487 #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 488 #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000040 489 #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 490 #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 491 #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000044 492 #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 493 #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 494 #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000048 495 #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0 496 #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff 497 #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000004c 498 #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 499 #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 500 #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000050 501 #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 502 #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 503 #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000054 504 #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 505 #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 506 #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000058 507 #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 508 #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 509 #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000005c 510 #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 511 #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 512 #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000060 513 #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 514 #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 515 #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000064 516 #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 517 #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 518 #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000068 519 #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 520 #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 521 #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000006c 522 #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 523 #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 524 #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000070 525 #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 526 #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 527 #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000074 528 #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 529 #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 530 #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000078 531 #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 532 #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 533 #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000007c 534 #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 535 #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 536 #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000080 537 #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 538 #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 539 #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000084 540 #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 541 #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 542 #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000088 543 #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0 544 #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff 545 546 /* Description PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB 547 548 Combined pre_rssi of all chains. Based on primary 549 channel RSSI. 550 551 552 553 RSSI is reported as 8b signed values. Nominally value is 554 in dB units above or below the noisefloor(minCCApwr). 555 556 557 558 The resolution can be: 559 560 1dB or 0.5dB. This is statically configured within the 561 PHY and MAC 562 563 564 565 In case of 1dB, the Range is: 566 567 -128dB to 127dB 568 569 570 571 In case of 0.5dB, the Range is: 572 573 -64dB to 63.5dB 574 575 576 577 <legal all> 578 */ 579 #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_OFFSET 0x0000008c 580 #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_LSB 0 581 #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_MASK 0x000000ff 582 583 /* Description PHYRX_RSSI_LEGACY_35_RSSI_COMB 584 585 Combined rssi of all chains. Based on primary channel 586 RSSI. 587 588 589 590 RSSI is reported as 8b signed values. Nominally value is 591 in dB units above or below the noisefloor(minCCApwr). 592 593 594 595 The resolution can be: 596 597 1dB or 0.5dB. This is statically configured within the 598 PHY and MAC 599 600 601 602 In case of 1dB, the Range is: 603 604 -128dB to 127dB 605 606 607 608 In case of 0.5dB, the Range is: 609 610 -64dB to 63.5dB 611 612 613 614 <legal all> 615 */ 616 #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_OFFSET 0x0000008c 617 #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_LSB 8 618 #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_MASK 0x0000ff00 619 620 /* Description PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB 621 622 Combined pre_rssi of all chains, but normalized back to 623 a single chain. This avoids PDG from having to evaluate this 624 in combination with receive chain mask and perform all kinds 625 of pre-processing algorithms. 626 627 628 629 Based on primary channel RSSI. 630 631 632 633 RSSI is reported as 8b signed values. Nominally value is 634 in dB units above or below the noisefloor(minCCApwr). 635 636 637 638 The resolution can be: 639 640 1dB or 0.5dB. This is statically configured within the 641 PHY and MAC 642 643 644 645 In case of 1dB, the Range is: 646 647 -128dB to 127dB 648 649 650 651 In case of 0.5dB, the Range is: 652 653 -64dB to 63.5dB 654 655 656 657 <legal all> 658 */ 659 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_OFFSET 0x0000008c 660 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_LSB 16 661 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_MASK 0x00ff0000 662 663 /* Description PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB 664 665 Combined rssi of all chains, but normalized back to a 666 single chain. This avoids PDG from having to evaluate this 667 in combination with receive chain mask and perform all kinds 668 of pre-processing algorithms. 669 670 671 672 Based on primary channel RSSI. 673 674 675 676 RSSI is reported as 8b signed values. Nominally value is 677 in dB units above or below the noisefloor(minCCApwr). 678 679 680 681 The resolution can be: 682 683 1dB or 0.5dB. This is statically configured within the 684 PHY and MAC 685 686 In case of 1dB, the Range is: 687 688 -128dB to 127dB 689 690 691 692 In case of 0.5dB, the Range is: 693 694 -64dB to 63.5dB 695 696 697 698 <legal all> 699 */ 700 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_OFFSET 0x0000008c 701 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_LSB 24 702 #define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_MASK 0xff000000 703 704 705 #endif // _PHYRX_RSSI_LEGACY_H_ 706