浏览代码

fw-api: Update QCA6290 header files

Add lithium hardware header files to use legacy information in monitor
mode.

Change-Id: Ia693f70617d39b85f2a19cbe2974b6f6daa0702e
sumedh baikady 7 年之前
父节点
当前提交
4b47e9f0ba
共有 4 个文件被更改,包括 499 次插入0 次删除
  1. 276 0
      hw/qca6290/v2/l_sig_a_info.h
  2. 117 0
      hw/qca6290/v2/l_sig_b_info.h
  3. 53 0
      hw/qca6290/v2/phyrx_l_sig_a.h
  4. 53 0
      hw/qca6290/v2/phyrx_l_sig_b.h

+ 276 - 0
hw/qca6290/v2/l_sig_a_info.h

@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2016-2017 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 _L_SIG_A_INFO_H_
+#define _L_SIG_A_INFO_H_
+#if !defined(__ASSEMBLER__)
+#endif
+
+
+// ################ START SUMMARY #################
+//
+//	Dword	Fields
+//	0	rate[3:0], lsig_reserved[4], length[16:5], parity[17], tail[23:18], pkt_type[27:24], captured_implicit_sounding[28], reserved[31:29]
+//
+// ################ END SUMMARY #################
+
+#define NUM_OF_DWORDS_L_SIG_A_INFO 1
+
+struct l_sig_a_info {
+             uint32_t rate                            :  4, //[3:0]
+                      lsig_reserved                   :  1, //[4]
+                      length                          : 12, //[16:5]
+                      parity                          :  1, //[17]
+                      tail                            :  6, //[23:18]
+                      pkt_type                        :  4, //[27:24]
+                      captured_implicit_sounding      :  1, //[28]
+                      reserved                        :  3; //[31:29]
+};
+
+/*
+
+rate
+			
+			This format is originally defined for OFDM as a 4 bit
+			field but the 5th bit was added to indicate 11b formatted
+			frames.  In the standard bit [4] is specified as reserved. 
+			For 11b frames this L-SIG is transformed in the PHY into the
+			11b preamble format.  The following are the rates:
+			
+			<enum 8     ofdm_48_mbps> 64-QAM 2/3 (48 Mbps)
+			
+			<enum 9     ofdm_24_mbps> 16-QAM 1/2 (24 Mbps)
+			
+			<enum 10     ofdm_12_mbps> QPSK 1/2 (12 Mbps)
+			
+			<enum 11     ofdm_6_mbps> BPSK 1/2 (6 Mbps)
+			
+			<enum 12     ofdm_54_mbps> 64-QAM 3/4 (54 Mbps)
+			
+			<enum 13     ofdm_36_mbps> 16-QAM 3/4 (36 Mbps)
+			
+			<enum 14     ofdm_18_mbps> QPSK 1/2 (18 Mbps)
+			
+			<enum 15     ofdm_9_mbps> BPSK 3/4 (9 Mbps)
+			
+			<legal 8-15>
+
+lsig_reserved
+			
+			Reserved: Should be set to 0 by the MAC and ignored by
+			the PHY
+			
+			<legal 0>
+
+length
+			
+			The length indicates the number of octets in this MPDU. 
+			Note that when using mixed mode 11n preamble this length
+			provides the spoofed length for the PPDU.  This length
+			provides part of the information to derive the actually PPDU
+			length.  For legacy OFDM and 11B frames the maximum length
+			is 
+			
+			<legal all>
+
+parity
+			
+			11a/n/ac TX: This field provides even parity over the
+			first 18 bits of the signal field which means that the sum
+			of 1s in the signal field will always be even on
+			
+			11a/n/ac RX: this field contains the received parity
+			field from the L-SIG symbol for the current packet.
+			
+			<legal 0-1>
+
+tail
+			
+			The 6 bits of tail is always set to 0 is used to flush
+			the BCC encoder and decoder.  <legal 0>
+
+pkt_type
+			
+			Only used on the RX side.  
+			
+			Note: This is not really part of L-SIG
+			
+			
+			
+			Packet type:
+			
+			<enum 0 dot11a>802.11a PPDU type
+			
+			<enum 1 dot11b>802.11b PPDU type
+			
+			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
+			
+			<enum 3 dot11ac>802.11ac PPDU type
+			
+			<enum 4 dot11ax>802.11ax PPDU type
+
+captured_implicit_sounding
+			
+			Only used on the RX side.  
+			
+			Note: This is not really part of L-SIG
+			
+			
+			
+			This indicates that the PHY has captured implicit
+			sounding.
+
+reserved
+			
+			Reserved: Should be set to 0 by the transmitting MAC and
+			ignored by the PHY <legal 0>
+*/
+
+
+/* Description		L_SIG_A_INFO_0_RATE
+			
+			This format is originally defined for OFDM as a 4 bit
+			field but the 5th bit was added to indicate 11b formatted
+			frames.  In the standard bit [4] is specified as reserved. 
+			For 11b frames this L-SIG is transformed in the PHY into the
+			11b preamble format.  The following are the rates:
+			
+			<enum 8     ofdm_48_mbps> 64-QAM 2/3 (48 Mbps)
+			
+			<enum 9     ofdm_24_mbps> 16-QAM 1/2 (24 Mbps)
+			
+			<enum 10     ofdm_12_mbps> QPSK 1/2 (12 Mbps)
+			
+			<enum 11     ofdm_6_mbps> BPSK 1/2 (6 Mbps)
+			
+			<enum 12     ofdm_54_mbps> 64-QAM 3/4 (54 Mbps)
+			
+			<enum 13     ofdm_36_mbps> 16-QAM 3/4 (36 Mbps)
+			
+			<enum 14     ofdm_18_mbps> QPSK 1/2 (18 Mbps)
+			
+			<enum 15     ofdm_9_mbps> BPSK 3/4 (9 Mbps)
+			
+			<legal 8-15>
+*/
+#define L_SIG_A_INFO_0_RATE_OFFSET                                   0x00000000
+#define L_SIG_A_INFO_0_RATE_LSB                                      0
+#define L_SIG_A_INFO_0_RATE_MASK                                     0x0000000f
+
+/* Description		L_SIG_A_INFO_0_LSIG_RESERVED
+			
+			Reserved: Should be set to 0 by the MAC and ignored by
+			the PHY
+			
+			<legal 0>
+*/
+#define L_SIG_A_INFO_0_LSIG_RESERVED_OFFSET                          0x00000000
+#define L_SIG_A_INFO_0_LSIG_RESERVED_LSB                             4
+#define L_SIG_A_INFO_0_LSIG_RESERVED_MASK                            0x00000010
+
+/* Description		L_SIG_A_INFO_0_LENGTH
+			
+			The length indicates the number of octets in this MPDU. 
+			Note that when using mixed mode 11n preamble this length
+			provides the spoofed length for the PPDU.  This length
+			provides part of the information to derive the actually PPDU
+			length.  For legacy OFDM and 11B frames the maximum length
+			is 
+			
+			<legal all>
+*/
+#define L_SIG_A_INFO_0_LENGTH_OFFSET                                 0x00000000
+#define L_SIG_A_INFO_0_LENGTH_LSB                                    5
+#define L_SIG_A_INFO_0_LENGTH_MASK                                   0x0001ffe0
+
+/* Description		L_SIG_A_INFO_0_PARITY
+			
+			11a/n/ac TX: This field provides even parity over the
+			first 18 bits of the signal field which means that the sum
+			of 1s in the signal field will always be even on
+			
+			11a/n/ac RX: this field contains the received parity
+			field from the L-SIG symbol for the current packet.
+			
+			<legal 0-1>
+*/
+#define L_SIG_A_INFO_0_PARITY_OFFSET                                 0x00000000
+#define L_SIG_A_INFO_0_PARITY_LSB                                    17
+#define L_SIG_A_INFO_0_PARITY_MASK                                   0x00020000
+
+/* Description		L_SIG_A_INFO_0_TAIL
+			
+			The 6 bits of tail is always set to 0 is used to flush
+			the BCC encoder and decoder.  <legal 0>
+*/
+#define L_SIG_A_INFO_0_TAIL_OFFSET                                   0x00000000
+#define L_SIG_A_INFO_0_TAIL_LSB                                      18
+#define L_SIG_A_INFO_0_TAIL_MASK                                     0x00fc0000
+
+/* Description		L_SIG_A_INFO_0_PKT_TYPE
+			
+			Only used on the RX side.  
+			
+			Note: This is not really part of L-SIG
+			
+			
+			
+			Packet type:
+			
+			<enum 0 dot11a>802.11a PPDU type
+			
+			<enum 1 dot11b>802.11b PPDU type
+			
+			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
+			
+			<enum 3 dot11ac>802.11ac PPDU type
+			
+			<enum 4 dot11ax>802.11ax PPDU type
+*/
+#define L_SIG_A_INFO_0_PKT_TYPE_OFFSET                               0x00000000
+#define L_SIG_A_INFO_0_PKT_TYPE_LSB                                  24
+#define L_SIG_A_INFO_0_PKT_TYPE_MASK                                 0x0f000000
+
+/* Description		L_SIG_A_INFO_0_CAPTURED_IMPLICIT_SOUNDING
+			
+			Only used on the RX side.  
+			
+			Note: This is not really part of L-SIG
+			
+			
+			
+			This indicates that the PHY has captured implicit
+			sounding.
+*/
+#define L_SIG_A_INFO_0_CAPTURED_IMPLICIT_SOUNDING_OFFSET             0x00000000
+#define L_SIG_A_INFO_0_CAPTURED_IMPLICIT_SOUNDING_LSB                28
+#define L_SIG_A_INFO_0_CAPTURED_IMPLICIT_SOUNDING_MASK               0x10000000
+
+/* Description		L_SIG_A_INFO_0_RESERVED
+			
+			Reserved: Should be set to 0 by the transmitting MAC and
+			ignored by the PHY <legal 0>
+*/
+#define L_SIG_A_INFO_0_RESERVED_OFFSET                               0x00000000
+#define L_SIG_A_INFO_0_RESERVED_LSB                                  29
+#define L_SIG_A_INFO_0_RESERVED_MASK                                 0xe0000000
+
+
+#endif // _L_SIG_A_INFO_H_

+ 117 - 0
hw/qca6290/v2/l_sig_b_info.h

@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2016-2017 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 _L_SIG_B_INFO_H_
+#define _L_SIG_B_INFO_H_
+#if !defined(__ASSEMBLER__)
+#endif
+
+
+// ################ START SUMMARY #################
+//
+//	Dword	Fields
+//	0	rate[3:0], length[15:4], reserved[31:16]
+//
+// ################ END SUMMARY #################
+
+#define NUM_OF_DWORDS_L_SIG_B_INFO 1
+
+struct l_sig_b_info {
+             uint32_t rate                            :  4, //[3:0]
+                      length                          : 12, //[15:4]
+                      reserved                        : 16; //[31:16]
+};
+
+/*
+
+rate
+			
+			<enum 1    dsss_1_mpbs_long> DSSS 1 Mbps long
+			
+			<enum 2    dsss_2_mbps_long> DSSS 2 Mbps long
+			
+			<enum 3    cck_5_5_mbps_long> CCK 5.5 Mbps long
+			
+			<enum 4    cck_11_mbps_long> CCK 11 Mbps long
+			
+			<enum 5    dsss_2_mbps_short> DSSS 2 Mbps short
+			
+			<enum 6    cck_5_5_mbps_short> CCK 5.5 Mbps short
+			
+			<enum 7    cck_11_mbps_short> CCK 11 Mbps short
+			
+			<legal 1-7>
+
+length
+			
+			The length indicates the number of octets in this MPDU.
+			
+			<legal all>
+
+reserved
+			
+			Reserved: Should be set to 0 by the transmitting MAC and
+			ignored by the PHY <legal 0>
+*/
+
+
+/* Description		L_SIG_B_INFO_0_RATE
+			
+			<enum 1    dsss_1_mpbs_long> DSSS 1 Mbps long
+			
+			<enum 2    dsss_2_mbps_long> DSSS 2 Mbps long
+			
+			<enum 3    cck_5_5_mbps_long> CCK 5.5 Mbps long
+			
+			<enum 4    cck_11_mbps_long> CCK 11 Mbps long
+			
+			<enum 5    dsss_2_mbps_short> DSSS 2 Mbps short
+			
+			<enum 6    cck_5_5_mbps_short> CCK 5.5 Mbps short
+			
+			<enum 7    cck_11_mbps_short> CCK 11 Mbps short
+			
+			<legal 1-7>
+*/
+#define L_SIG_B_INFO_0_RATE_OFFSET                                   0x00000000
+#define L_SIG_B_INFO_0_RATE_LSB                                      0
+#define L_SIG_B_INFO_0_RATE_MASK                                     0x0000000f
+
+/* Description		L_SIG_B_INFO_0_LENGTH
+			
+			The length indicates the number of octets in this MPDU.
+			
+			<legal all>
+*/
+#define L_SIG_B_INFO_0_LENGTH_OFFSET                                 0x00000000
+#define L_SIG_B_INFO_0_LENGTH_LSB                                    4
+#define L_SIG_B_INFO_0_LENGTH_MASK                                   0x0000fff0
+
+/* Description		L_SIG_B_INFO_0_RESERVED
+			
+			Reserved: Should be set to 0 by the transmitting MAC and
+			ignored by the PHY <legal 0>
+*/
+#define L_SIG_B_INFO_0_RESERVED_OFFSET                               0x00000000
+#define L_SIG_B_INFO_0_RESERVED_LSB                                  16
+#define L_SIG_B_INFO_0_RESERVED_MASK                                 0xffff0000
+
+
+#endif // _L_SIG_B_INFO_H_

+ 53 - 0
hw/qca6290/v2/phyrx_l_sig_a.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016-2017 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 _PHYRX_L_SIG_A_H_
+#define _PHYRX_L_SIG_A_H_
+#if !defined(__ASSEMBLER__)
+#endif
+
+#include "l_sig_a_info.h"
+
+// ################ START SUMMARY #################
+//
+//	Dword	Fields
+//	0	struct l_sig_a_info phyrx_l_sig_a_info_details;
+//
+// ################ END SUMMARY #################
+
+#define NUM_OF_DWORDS_PHYRX_L_SIG_A 1
+
+struct phyrx_l_sig_a {
+    struct            l_sig_a_info                       phyrx_l_sig_a_info_details;
+};
+
+/*
+
+struct l_sig_a_info phyrx_l_sig_a_info_details
+			
+			See detailed description of the STRUCT
+*/
+
+#define PHYRX_L_SIG_A_0_L_SIG_A_INFO_PHYRX_L_SIG_A_INFO_DETAILS_OFFSET 0x00000000
+#define PHYRX_L_SIG_A_0_L_SIG_A_INFO_PHYRX_L_SIG_A_INFO_DETAILS_LSB  0
+#define PHYRX_L_SIG_A_0_L_SIG_A_INFO_PHYRX_L_SIG_A_INFO_DETAILS_MASK 0xffffffff
+
+
+#endif // _PHYRX_L_SIG_A_H_

+ 53 - 0
hw/qca6290/v2/phyrx_l_sig_b.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016-2017 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 _PHYRX_L_SIG_B_H_
+#define _PHYRX_L_SIG_B_H_
+#if !defined(__ASSEMBLER__)
+#endif
+
+#include "l_sig_b_info.h"
+
+// ################ START SUMMARY #################
+//
+//	Dword	Fields
+//	0	struct l_sig_b_info phyrx_l_sig_b_info_details;
+//
+// ################ END SUMMARY #################
+
+#define NUM_OF_DWORDS_PHYRX_L_SIG_B 1
+
+struct phyrx_l_sig_b {
+    struct            l_sig_b_info                       phyrx_l_sig_b_info_details;
+};
+
+/*
+
+struct l_sig_b_info phyrx_l_sig_b_info_details
+			
+			See detailed description of the STRUCT
+*/
+
+#define PHYRX_L_SIG_B_0_L_SIG_B_INFO_PHYRX_L_SIG_B_INFO_DETAILS_OFFSET 0x00000000
+#define PHYRX_L_SIG_B_0_L_SIG_B_INFO_PHYRX_L_SIG_B_INFO_DETAILS_LSB  0
+#define PHYRX_L_SIG_B_0_L_SIG_B_INFO_PHYRX_L_SIG_B_INFO_DETAILS_MASK 0xffffffff
+
+
+#endif // _PHYRX_L_SIG_B_H_