fw-api: Add new hardware header files napier and hawkeye

Add new lithium hardware header files. Following files are
being added:

qca6290/v1/rx_ppdu_end_user_stats.h
qca6290/v1/rx_ppdu_end_user_stats_ext.h
qca6290/v1/rx_ppdu_start.h
qca6290/v1/rx_ppdu_start_user_info.h
hw/qca6290/v1/receive_user_info.h
hw/qca6290/v1/rx_rxpcu_classification_overview.h

Change-Id: I7f2446f15c87c48e24774fa1ddd4a624fc832e33
CRs-Fixed: 2016192
这个提交包含在:
Ravi Joshi
2017-03-07 12:27:45 -08:00
提交者 Sandeep Puligilla
父节点 55bdad1fae
当前提交 424f13f505
修改 6 个文件,包含 2595 行新增0 行删除

查看文件

@@ -0,0 +1,426 @@
/*
* Copyright (c) 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 _RECEIVE_USER_INFO_H_
#define _RECEIVE_USER_INFO_H_
#if !defined(__ASSEMBLER__)
#endif
// ################ START SUMMARY #################
//
// Dword Fields
// 0 phy_ppdu_id[15:0], user_rssi[23:16], pkt_type[27:24], stbc[28], sgi[30:29], reserved_0[31]
// 1 rate_mcs[3:0], reception_type[5:4], receive_bandwidth[7:6], mimo_ss_bitmap[15:8], user_ru_allocation[23:16], nss[26:24], reserved_1b[31:27]
//
// ################ END SUMMARY #################
#define NUM_OF_DWORDS_RECEIVE_USER_INFO 2
struct receive_user_info {
uint32_t phy_ppdu_id : 16, //[15:0]
user_rssi : 8, //[23:16]
pkt_type : 4, //[27:24]
stbc : 1, //[28]
sgi : 2, //[30:29]
reserved_0 : 1; //[31]
uint32_t rate_mcs : 4, //[3:0]
reception_type : 2, //[5:4]
receive_bandwidth : 2, //[7:6]
mimo_ss_bitmap : 8, //[15:8]
user_ru_allocation : 8, //[23:16]
nss : 3, //[26:24]
reserved_1b : 5; //[31:27]
};
/*
phy_ppdu_id
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
user_rssi
RSSI for this user
Frequency domain RSSI measurement for this user. Based
on the channel estimate.
If PHY implementation runs into difficulties, the backup
is to reuse the previously notified RSSI values.
TODO PHY: request to update the text here based on the
latest design insights
<legal all>
pkt_type
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
stbc
When set, use STBC transmission rates
sgi
Field only valid when pkt type is HT, VHT or HE.
<enum 0 gi_0_8_us > Legacy normal GI
<enum 1 gi_0_4_us > Legacy short GI
<enum 2 gi_1_6_us > HE related GI
<enum 3 gi_3_2_us > HE related GI
<legal 0 - 3>
reserved_0
<legal 0>
rate_mcs
For details, refer to MCS_TYPE description
<legal all>
reception_type
Indicates what type of reception this is.
<enum 0 reception_type_SU >
<enum 1 reception_type_MU_MIMO >
<enum 2 reception_type_MU_OFDMA >
<enum 3 reception_type_MU_OFDMA_MIMO >
<legal all>
receive_bandwidth
Full receive Bandwidth
<enum 0 full_rx_bw_20_mhz>
<enum 1 full_rx_bw_40_mhz>
<enum 2 full_rx_bw_80_mhz>
<enum 3 full_rx_bw_160_mhz>
<legal 0-3>
mimo_ss_bitmap
Field only valid in case of MIMO type reception
Bitmap, with each bit indicating if the related spatial
stream is used for this STA
LSB related to SS 0
0: spatial stream not used for this reception
1: spatial stream used for this reception
<legal all>
user_ru_allocation
Field only valid in case of OFDMA uplink type reception
Indicates the RU number for this user
<legal 0-73>
nss
Number of Spatial Streams occupied by the User
<enum 0 1_spatial_stream>Single spatial stream
<enum 1 2_spatial_streams>2 spatial streams
<enum 2 3_spatial_streams>3 spatial streams
<enum 3 4_spatial_streams>4 spatial streams
<enum 4 5_spatial_streams>5 spatial streams
<enum 5 6_spatial_streams>6 spatial streams
<enum 6 7_spatial_streams>7 spatial streams
<enum 7 8_spatial_streams>8 spatial streams
reserved_1b
<legal 0>
*/
/* Description RECEIVE_USER_INFO_0_PHY_PPDU_ID
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
*/
#define RECEIVE_USER_INFO_0_PHY_PPDU_ID_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_PHY_PPDU_ID_LSB 0
#define RECEIVE_USER_INFO_0_PHY_PPDU_ID_MASK 0x0000ffff
/* Description RECEIVE_USER_INFO_0_USER_RSSI
RSSI for this user
Frequency domain RSSI measurement for this user. Based
on the channel estimate.
If PHY implementation runs into difficulties, the backup
is to reuse the previously notified RSSI values.
TODO PHY: request to update the text here based on the
latest design insights
<legal all>
*/
#define RECEIVE_USER_INFO_0_USER_RSSI_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_USER_RSSI_LSB 16
#define RECEIVE_USER_INFO_0_USER_RSSI_MASK 0x00ff0000
/* Description RECEIVE_USER_INFO_0_PKT_TYPE
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 RECEIVE_USER_INFO_0_PKT_TYPE_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_PKT_TYPE_LSB 24
#define RECEIVE_USER_INFO_0_PKT_TYPE_MASK 0x0f000000
/* Description RECEIVE_USER_INFO_0_STBC
When set, use STBC transmission rates
*/
#define RECEIVE_USER_INFO_0_STBC_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_STBC_LSB 28
#define RECEIVE_USER_INFO_0_STBC_MASK 0x10000000
/* Description RECEIVE_USER_INFO_0_SGI
Field only valid when pkt type is HT, VHT or HE.
<enum 0 gi_0_8_us > Legacy normal GI
<enum 1 gi_0_4_us > Legacy short GI
<enum 2 gi_1_6_us > HE related GI
<enum 3 gi_3_2_us > HE related GI
<legal 0 - 3>
*/
#define RECEIVE_USER_INFO_0_SGI_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_SGI_LSB 29
#define RECEIVE_USER_INFO_0_SGI_MASK 0x60000000
/* Description RECEIVE_USER_INFO_0_RESERVED_0
<legal 0>
*/
#define RECEIVE_USER_INFO_0_RESERVED_0_OFFSET 0x00000000
#define RECEIVE_USER_INFO_0_RESERVED_0_LSB 31
#define RECEIVE_USER_INFO_0_RESERVED_0_MASK 0x80000000
/* Description RECEIVE_USER_INFO_1_RATE_MCS
For details, refer to MCS_TYPE description
<legal all>
*/
#define RECEIVE_USER_INFO_1_RATE_MCS_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_RATE_MCS_LSB 0
#define RECEIVE_USER_INFO_1_RATE_MCS_MASK 0x0000000f
/* Description RECEIVE_USER_INFO_1_RECEPTION_TYPE
Indicates what type of reception this is.
<enum 0 reception_type_SU >
<enum 1 reception_type_MU_MIMO >
<enum 2 reception_type_MU_OFDMA >
<enum 3 reception_type_MU_OFDMA_MIMO >
<legal all>
*/
#define RECEIVE_USER_INFO_1_RECEPTION_TYPE_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_RECEPTION_TYPE_LSB 4
#define RECEIVE_USER_INFO_1_RECEPTION_TYPE_MASK 0x00000030
/* Description RECEIVE_USER_INFO_1_RECEIVE_BANDWIDTH
Full receive Bandwidth
<enum 0 full_rx_bw_20_mhz>
<enum 1 full_rx_bw_40_mhz>
<enum 2 full_rx_bw_80_mhz>
<enum 3 full_rx_bw_160_mhz>
<legal 0-3>
*/
#define RECEIVE_USER_INFO_1_RECEIVE_BANDWIDTH_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_RECEIVE_BANDWIDTH_LSB 6
#define RECEIVE_USER_INFO_1_RECEIVE_BANDWIDTH_MASK 0x000000c0
/* Description RECEIVE_USER_INFO_1_MIMO_SS_BITMAP
Field only valid in case of MIMO type reception
Bitmap, with each bit indicating if the related spatial
stream is used for this STA
LSB related to SS 0
0: spatial stream not used for this reception
1: spatial stream used for this reception
<legal all>
*/
#define RECEIVE_USER_INFO_1_MIMO_SS_BITMAP_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_MIMO_SS_BITMAP_LSB 8
#define RECEIVE_USER_INFO_1_MIMO_SS_BITMAP_MASK 0x0000ff00
/* Description RECEIVE_USER_INFO_1_USER_RU_ALLOCATION
Field only valid in case of OFDMA uplink type reception
Indicates the RU number for this user
<legal 0-73>
*/
#define RECEIVE_USER_INFO_1_USER_RU_ALLOCATION_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_USER_RU_ALLOCATION_LSB 16
#define RECEIVE_USER_INFO_1_USER_RU_ALLOCATION_MASK 0x00ff0000
/* Description RECEIVE_USER_INFO_1_NSS
Number of Spatial Streams occupied by the User
<enum 0 1_spatial_stream>Single spatial stream
<enum 1 2_spatial_streams>2 spatial streams
<enum 2 3_spatial_streams>3 spatial streams
<enum 3 4_spatial_streams>4 spatial streams
<enum 4 5_spatial_streams>5 spatial streams
<enum 5 6_spatial_streams>6 spatial streams
<enum 6 7_spatial_streams>7 spatial streams
<enum 7 8_spatial_streams>8 spatial streams
*/
#define RECEIVE_USER_INFO_1_NSS_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_NSS_LSB 24
#define RECEIVE_USER_INFO_1_NSS_MASK 0x07000000
/* Description RECEIVE_USER_INFO_1_RESERVED_1B
<legal 0>
*/
#define RECEIVE_USER_INFO_1_RESERVED_1B_OFFSET 0x00000004
#define RECEIVE_USER_INFO_1_RESERVED_1B_LSB 27
#define RECEIVE_USER_INFO_1_RESERVED_1B_MASK 0xf8000000
#endif // _RECEIVE_USER_INFO_H_

文件差异内容过多而无法显示 加载差异

查看文件

@@ -0,0 +1,220 @@
/*
* Copyright (c) 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 _RX_PPDU_END_USER_STATS_EXT_H_
#define _RX_PPDU_END_USER_STATS_EXT_H_
#if !defined(__ASSEMBLER__)
#endif
#include "rx_rxpcu_classification_overview.h"
// ################ START SUMMARY #################
//
// Dword Fields
// 0 struct rx_rxpcu_classification_overview rxpcu_classification_details;
// 1 fcs_ok_bitmap_95_64[31:0]
// 2 fcs_ok_bitmap_127_96[31:0]
// 3 fcs_ok_bitmap_159_128[31:0]
// 4 fcs_ok_bitmap_191_160[31:0]
// 5 fcs_ok_bitmap_223_192[31:0]
// 6 fcs_ok_bitmap_255_224[31:0]
//
// ################ END SUMMARY #################
#define NUM_OF_DWORDS_RX_PPDU_END_USER_STATS_EXT 7
struct rx_ppdu_end_user_stats_ext {
struct rx_rxpcu_classification_overview rxpcu_classification_details;
uint32_t fcs_ok_bitmap_95_64 : 32; //[31:0]
uint32_t fcs_ok_bitmap_127_96 : 32; //[31:0]
uint32_t fcs_ok_bitmap_159_128 : 32; //[31:0]
uint32_t fcs_ok_bitmap_191_160 : 32; //[31:0]
uint32_t fcs_ok_bitmap_223_192 : 32; //[31:0]
uint32_t fcs_ok_bitmap_255_224 : 32; //[31:0]
};
/*
struct rx_rxpcu_classification_overview rxpcu_classification_details
Details related to what RXPCU classification types of
MPDUs have been received
fcs_ok_bitmap_95_64
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
fcs_ok_bitmap_127_96
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
fcs_ok_bitmap_159_128
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
fcs_ok_bitmap_191_160
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
fcs_ok_bitmap_223_192
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
fcs_ok_bitmap_255_224
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_0_RX_RXPCU_CLASSIFICATION_OVERVIEW_RXPCU_CLASSIFICATION_DETAILS_OFFSET 0x00000000
#define RX_PPDU_END_USER_STATS_EXT_0_RX_RXPCU_CLASSIFICATION_OVERVIEW_RXPCU_CLASSIFICATION_DETAILS_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_0_RX_RXPCU_CLASSIFICATION_OVERVIEW_RXPCU_CLASSIFICATION_DETAILS_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_OFFSET 0x00000004
#define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_OFFSET 0x00000008
#define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_OFFSET 0x0000000c
#define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_OFFSET 0x00000010
#define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_OFFSET 0x00000014
#define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_MASK 0xffffffff
/* Description RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224
Bitmap indicates in order of received MPDUs, which MPDUs
had an passing FCS or had an error.
1: FCS OK
0: FCS error
<legal all>
*/
#define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_OFFSET 0x00000018
#define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_LSB 0
#define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_MASK 0xffffffff
#endif // _RX_PPDU_END_USER_STATS_EXT_H_

查看文件

@@ -0,0 +1,132 @@
/*
* Copyright (c) 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 _RX_PPDU_START_H_
#define _RX_PPDU_START_H_
#if !defined(__ASSEMBLER__)
#endif
// ################ START SUMMARY #################
//
// Dword Fields
// 0 phy_ppdu_id[15:0], reserved_15[31:16]
// 1 sw_phy_meta_data[31:0]
// 2 ppdu_start_timestamp[31:0]
//
// ################ END SUMMARY #################
#define NUM_OF_DWORDS_RX_PPDU_START 3
struct rx_ppdu_start {
uint32_t phy_ppdu_id : 16, //[15:0]
reserved_15 : 16; //[31:16]
uint32_t sw_phy_meta_data : 32; //[31:0]
uint32_t ppdu_start_timestamp : 32; //[31:0]
};
/*
phy_ppdu_id
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
reserved_15
Reserved
<legal 0>
sw_phy_meta_data
SW programmed Meta data provided by the PHY.
Can be used for SW to indicate the channel the device is
on.
ppdu_start_timestamp
Timestamp that indicates when the PPDU that contained
this MPDU started on the medium.
The timestamp is captured by the PHY ????TODO: Is this
comment correct ?
<legal all>
*/
/* Description RX_PPDU_START_0_PHY_PPDU_ID
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
*/
#define RX_PPDU_START_0_PHY_PPDU_ID_OFFSET 0x00000000
#define RX_PPDU_START_0_PHY_PPDU_ID_LSB 0
#define RX_PPDU_START_0_PHY_PPDU_ID_MASK 0x0000ffff
/* Description RX_PPDU_START_0_RESERVED_15
Reserved
<legal 0>
*/
#define RX_PPDU_START_0_RESERVED_15_OFFSET 0x00000000
#define RX_PPDU_START_0_RESERVED_15_LSB 16
#define RX_PPDU_START_0_RESERVED_15_MASK 0xffff0000
/* Description RX_PPDU_START_1_SW_PHY_META_DATA
SW programmed Meta data provided by the PHY.
Can be used for SW to indicate the channel the device is
on.
*/
#define RX_PPDU_START_1_SW_PHY_META_DATA_OFFSET 0x00000004
#define RX_PPDU_START_1_SW_PHY_META_DATA_LSB 0
#define RX_PPDU_START_1_SW_PHY_META_DATA_MASK 0xffffffff
/* Description RX_PPDU_START_2_PPDU_START_TIMESTAMP
Timestamp that indicates when the PPDU that contained
this MPDU started on the medium.
The timestamp is captured by the PHY ????TODO: Is this
comment correct ?
<legal all>
*/
#define RX_PPDU_START_2_PPDU_START_TIMESTAMP_OFFSET 0x00000008
#define RX_PPDU_START_2_PPDU_START_TIMESTAMP_LSB 0
#define RX_PPDU_START_2_PPDU_START_TIMESTAMP_MASK 0xffffffff
#endif // _RX_PPDU_START_H_

查看文件

@@ -0,0 +1,55 @@
/*
* Copyright (c) 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 _RX_PPDU_START_USER_INFO_H_
#define _RX_PPDU_START_USER_INFO_H_
#if !defined(__ASSEMBLER__)
#endif
#include "receive_user_info.h"
// ################ START SUMMARY #################
//
// Dword Fields
// 0-1 struct receive_user_info receive_user_info_details;
//
// ################ END SUMMARY #################
#define NUM_OF_DWORDS_RX_PPDU_START_USER_INFO 2
struct rx_ppdu_start_user_info {
struct receive_user_info receive_user_info_details;
};
/*
struct receive_user_info receive_user_info_details
Overview of receive parameters that the MAC needs to
prepend to every received MSDU/MPDU.
*/
#define RX_PPDU_START_USER_INFO_0_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_OFFSET 0x00000000
#define RX_PPDU_START_USER_INFO_0_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_LSB 0
#define RX_PPDU_START_USER_INFO_0_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_MASK 0xffffffff
#define RX_PPDU_START_USER_INFO_1_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_OFFSET 0x00000004
#define RX_PPDU_START_USER_INFO_1_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_LSB 0
#define RX_PPDU_START_USER_INFO_1_RECEIVE_USER_INFO_RECEIVE_USER_INFO_DETAILS_MASK 0xffffffff
#endif // _RX_PPDU_START_USER_INFO_H_

查看文件

@@ -0,0 +1,188 @@
/*
* Copyright (c) 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 _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
#define _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
#if !defined(__ASSEMBLER__)
#endif
// ################ START SUMMARY #################
//
// Dword Fields
// 0 filter_pass_mpdus[0], filter_pass_mpdus_fcs_ok[1], monitor_direct_mpdus[2], monitor_direct_mpdus_fcs_ok[3], monitor_other_mpdus[4], monitor_other_mpdus_fcs_ok[5], reserved_0[15:6], phy_ppdu_id[31:16]
//
// ################ END SUMMARY #################
#define NUM_OF_DWORDS_RX_RXPCU_CLASSIFICATION_OVERVIEW 1
struct rx_rxpcu_classification_overview {
uint32_t filter_pass_mpdus : 1, //[0]
filter_pass_mpdus_fcs_ok : 1, //[1]
monitor_direct_mpdus : 1, //[2]
monitor_direct_mpdus_fcs_ok : 1, //[3]
monitor_other_mpdus : 1, //[4]
monitor_other_mpdus_fcs_ok : 1, //[5]
reserved_0 : 10, //[15:6]
phy_ppdu_id : 16; //[31:16]
};
/*
filter_pass_mpdus
When set, at least one Filter Pass MPDU has been
received. FCS might or might not have been passing
<legal all>
filter_pass_mpdus_fcs_ok
When set, at least one Filter Pass MPDU has been
received that has a correct FCS.
<legal all>
monitor_direct_mpdus
When set, at least one Monitor Direct MPDU has been
received. FCS might or might not have been passing
<legal all>
monitor_direct_mpdus_fcs_ok
When set, at least one Monitor Direct MPDU has been
received that has a correct FCS.
<legal all>
monitor_other_mpdus
When set, at least one Monitor Direct MPDU has been
received. FCS might or might not have been passing
<legal all>
monitor_other_mpdus_fcs_ok
When set, at least one Monitor Direct MPDU has been
received that has a correct FCS.
<legal all>
reserved_0
<legal 0>
phy_ppdu_id
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
*/
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS
When set, at least one Filter Pass MPDU has been
received. FCS might or might not have been passing
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_LSB 0
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_MASK 0x00000001
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK
When set, at least one Filter Pass MPDU has been
received that has a correct FCS.
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_LSB 1
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_MASK 0x00000002
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS
When set, at least one Monitor Direct MPDU has been
received. FCS might or might not have been passing
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_LSB 2
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_MASK 0x00000004
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK
When set, at least one Monitor Direct MPDU has been
received that has a correct FCS.
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x00000008
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS
When set, at least one Monitor Direct MPDU has been
received. FCS might or might not have been passing
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_LSB 4
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_MASK 0x00000010
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK
When set, at least one Monitor Direct MPDU has been
received that has a correct FCS.
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x00000020
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0
<legal 0>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_LSB 6
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_MASK 0x0000ffc0
/* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID
A ppdu counter value that PHY increments for every PPDU
received. The counter value wraps around
<legal all>
*/
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_OFFSET 0x00000000
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_LSB 16
#define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_MASK 0xffff0000
#endif // _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_