unallocated_ru_160_info.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  2. *
  3. * Permission to use, copy, modify, and/or distribute this software for any
  4. * purpose with or without fee is hereby granted, provided that the above
  5. * copyright notice and this permission notice appear in all copies.
  6. *
  7. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  10. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  12. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  13. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  14. */
  15. #ifndef _UNALLOCATED_RU_160_INFO_H_
  16. #define _UNALLOCATED_RU_160_INFO_H_
  17. #if !defined(__ASSEMBLER__)
  18. #endif
  19. #define NUM_OF_DWORDS_UNALLOCATED_RU_160_INFO 1
  20. struct unallocated_ru_160_info {
  21. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  22. uint32_t subband80_0_cc0 : 8, // [7:0]
  23. subband80_0_cc1 : 8, // [15:8]
  24. subband80_1_cc0 : 8, // [23:16]
  25. subband80_1_cc1 : 8; // [31:24]
  26. #else
  27. uint32_t subband80_1_cc1 : 8, // [31:24]
  28. subband80_1_cc0 : 8, // [23:16]
  29. subband80_0_cc1 : 8, // [15:8]
  30. subband80_0_cc0 : 8; // [7:0]
  31. #endif
  32. };
  33. /* Description SUBBAND80_0_CC0
  34. Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
  35. should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
  36. for the lower 80 MHz
  37. Valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
  38. EHT_240/EHT_320
  39. <legal all>
  40. */
  41. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_OFFSET 0x00000000
  42. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_LSB 0
  43. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_MSB 7
  44. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC0_MASK 0x000000ff
  45. /* Description SUBBAND80_0_CC1
  46. Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
  47. should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
  48. for the lower 80 MHz
  49. Valid for HE_40/HE_80/HE_160 (80+80)/ EHT_40/EHT_80/EHT_160/EHT_240/EHT_320
  50. <legal all>
  51. */
  52. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_OFFSET 0x00000000
  53. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_LSB 8
  54. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_MSB 15
  55. #define UNALLOCATED_RU_160_INFO_SUBBAND80_0_CC1_MASK 0x0000ff00
  56. /* Description SUBBAND80_1_CC0
  57. Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
  58. should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
  59. for the higher 80 MHz
  60. Valid for EHT_160/EHT_240/EHT_320
  61. All 80 MHz subbands are identical for HE_160 (80+80).
  62. <legal all>
  63. */
  64. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_OFFSET 0x00000000
  65. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_LSB 16
  66. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_MSB 23
  67. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC0_MASK 0x00ff0000
  68. /* Description SUBBAND80_1_CC1
  69. Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
  70. should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
  71. for the higher 80 MHz
  72. Valid for EHT_160/EHT_240/EHT_320
  73. All 80 MHz subbands are identical for HE_160 (80+80).
  74. <legal all>
  75. */
  76. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_OFFSET 0x00000000
  77. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_LSB 24
  78. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_MSB 31
  79. #define UNALLOCATED_RU_160_INFO_SUBBAND80_1_CC1_MASK 0xff000000
  80. #endif // UNALLOCATED_RU_160_INFO