summaryrefslogtreecommitdiff
path: root/hw/qca5018/he_sig_a_mu_ul_info.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/qca5018/he_sig_a_mu_ul_info.h')
-rw-r--r--hw/qca5018/he_sig_a_mu_ul_info.h266
1 files changed, 266 insertions, 0 deletions
diff --git a/hw/qca5018/he_sig_a_mu_ul_info.h b/hw/qca5018/he_sig_a_mu_ul_info.h
new file mode 100644
index 0000000..bf9888a
--- /dev/null
+++ b/hw/qca5018/he_sig_a_mu_ul_info.h
@@ -0,0 +1,266 @@
+/*
+ * Copyright (c) 2020, The Linux Foundation. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _HE_SIG_A_MU_UL_INFO_H_
+#define _HE_SIG_A_MU_UL_INFO_H_
+#if !defined(__ASSEMBLER__)
+#endif
+
+
+// ################ START SUMMARY #################
+//
+// Dword Fields
+// 0 format_indication[0], bss_color_id[6:1], spatial_reuse[22:7], reserved_0a[23], transmit_bw[25:24], reserved_0b[31:26]
+// 1 txop_duration[6:0], reserved_1a[15:7], crc[19:16], tail[25:20], reserved_1b[31:26]
+//
+// ################ END SUMMARY #################
+
+#define NUM_OF_DWORDS_HE_SIG_A_MU_UL_INFO 2
+
+struct he_sig_a_mu_ul_info {
+ uint32_t format_indication : 1, //[0]
+ bss_color_id : 6, //[6:1]
+ spatial_reuse : 16, //[22:7]
+ reserved_0a : 1, //[23]
+ transmit_bw : 2, //[25:24]
+ reserved_0b : 6; //[31:26]
+ uint32_t txop_duration : 7, //[6:0]
+ reserved_1a : 9, //[15:7]
+ crc : 4, //[19:16]
+ tail : 6, //[25:20]
+ reserved_1b : 6; //[31:26]
+};
+
+/*
+
+format_indication
+
+ Indicates whether the transmission is SU PPDU or a
+ trigger based UL MU PDDU
+
+ <enum 0 HE_SIGA_FORMAT_HE_TRIG>
+
+ <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
+
+ <legal all>
+
+bss_color_id
+
+ BSS color ID
+
+ <legal all>
+
+spatial_reuse
+
+ Spatial reuse
+
+
+
+ <legal all>
+
+reserved_0a
+
+ Note: spec indicates this shall be set to 1
+
+ <legal 1>
+
+transmit_bw
+
+ Bandwidth of the PPDU.
+
+
+
+ <enum 0 HE_SIG_A_MU_UL_BW20> 20 Mhz
+
+ <enum 1 HE_SIG_A_MU_UL_BW40> 40 Mhz
+
+ <enum 2 HE_SIG_A_MU_UL_BW80> 80 Mhz
+
+ <enum 3 HE_SIG_A_MU_UL_BW160> 160 MHz or 80+80 MHz
+
+
+
+ On RX side, Field Used by MAC HW
+
+ <legal 0-3>
+
+reserved_0b
+
+ <legal 0>
+
+txop_duration
+
+ Indicates the remaining time in the current TXOP <legal
+ all>
+
+reserved_1a
+
+ Set to value indicated in the trigger frame
+
+ <legal 255>
+
+crc
+
+ CRC for HE-SIG-A contents.
+
+ This CRC may also cover some fields of L-SIG (TBD)
+
+ <legal all>
+
+tail
+
+ BCC encoding (similar to VHT-SIG-A) with 6 tail bits is
+ used
+
+ <legal 0>
+
+reserved_1b
+
+ <legal 0>
+*/
+
+
+/* Description HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION
+
+ Indicates whether the transmission is SU PPDU or a
+ trigger based UL MU PDDU
+
+ <enum 0 HE_SIGA_FORMAT_HE_TRIG>
+
+ <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
+
+ <legal all>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_LSB 0
+#define HE_SIG_A_MU_UL_INFO_0_FORMAT_INDICATION_MASK 0x00000001
+
+/* Description HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID
+
+ BSS color ID
+
+ <legal all>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_LSB 1
+#define HE_SIG_A_MU_UL_INFO_0_BSS_COLOR_ID_MASK 0x0000007e
+
+/* Description HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE
+
+ Spatial reuse
+
+
+
+ <legal all>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_LSB 7
+#define HE_SIG_A_MU_UL_INFO_0_SPATIAL_REUSE_MASK 0x007fff80
+
+/* Description HE_SIG_A_MU_UL_INFO_0_RESERVED_0A
+
+ Note: spec indicates this shall be set to 1
+
+ <legal 1>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_LSB 23
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0A_MASK 0x00800000
+
+/* Description HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW
+
+ Bandwidth of the PPDU.
+
+
+
+ <enum 0 HE_SIG_A_MU_UL_BW20> 20 Mhz
+
+ <enum 1 HE_SIG_A_MU_UL_BW40> 40 Mhz
+
+ <enum 2 HE_SIG_A_MU_UL_BW80> 80 Mhz
+
+ <enum 3 HE_SIG_A_MU_UL_BW160> 160 MHz or 80+80 MHz
+
+
+
+ On RX side, Field Used by MAC HW
+
+ <legal 0-3>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_LSB 24
+#define HE_SIG_A_MU_UL_INFO_0_TRANSMIT_BW_MASK 0x03000000
+
+/* Description HE_SIG_A_MU_UL_INFO_0_RESERVED_0B
+
+ <legal 0>
+*/
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_OFFSET 0x00000000
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_LSB 26
+#define HE_SIG_A_MU_UL_INFO_0_RESERVED_0B_MASK 0xfc000000
+
+/* Description HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION
+
+ Indicates the remaining time in the current TXOP <legal
+ all>
+*/
+#define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_OFFSET 0x00000004
+#define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_LSB 0
+#define HE_SIG_A_MU_UL_INFO_1_TXOP_DURATION_MASK 0x0000007f
+
+/* Description HE_SIG_A_MU_UL_INFO_1_RESERVED_1A
+
+ Set to value indicated in the trigger frame
+
+ <legal 255>
+*/
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_OFFSET 0x00000004
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_LSB 7
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1A_MASK 0x0000ff80
+
+/* Description HE_SIG_A_MU_UL_INFO_1_CRC
+
+ CRC for HE-SIG-A contents.
+
+ This CRC may also cover some fields of L-SIG (TBD)
+
+ <legal all>
+*/
+#define HE_SIG_A_MU_UL_INFO_1_CRC_OFFSET 0x00000004
+#define HE_SIG_A_MU_UL_INFO_1_CRC_LSB 16
+#define HE_SIG_A_MU_UL_INFO_1_CRC_MASK 0x000f0000
+
+/* Description HE_SIG_A_MU_UL_INFO_1_TAIL
+
+ BCC encoding (similar to VHT-SIG-A) with 6 tail bits is
+ used
+
+ <legal 0>
+*/
+#define HE_SIG_A_MU_UL_INFO_1_TAIL_OFFSET 0x00000004
+#define HE_SIG_A_MU_UL_INFO_1_TAIL_LSB 20
+#define HE_SIG_A_MU_UL_INFO_1_TAIL_MASK 0x03f00000
+
+/* Description HE_SIG_A_MU_UL_INFO_1_RESERVED_1B
+
+ <legal 0>
+*/
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_OFFSET 0x00000004
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_LSB 26
+#define HE_SIG_A_MU_UL_INFO_1_RESERVED_1B_MASK 0xfc000000
+
+
+#endif // _HE_SIG_A_MU_UL_INFO_H_