123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- /*
- * Copyright (c) 2021 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.
- */
- // $ATH_LICENSE_HW_HDR_C$
- //
- // DO NOT EDIT! This file is automatically generated
- // These definitions are tied to a particular hardware layout
- #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_
|