fw-api: Add QCA6390 Hardware header files
Header update as per wcss_r43 version. Change-Id: Ia254ce19ff0740cbaf46bc2c19329c43a97344cb CRs-Fixed: 2262786
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
c02847b52f
commit
d9b2e528a7
865
hw/qca6390/v1/phyrx_rssi_legacy.h
Normal file
865
hw/qca6390/v1/phyrx_rssi_legacy.h
Normal file
@@ -0,0 +1,865 @@
|
||||
/*
|
||||
* Copyright (c) 2018 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_RSSI_LEGACY_H_
|
||||
#define _PHYRX_RSSI_LEGACY_H_
|
||||
#if !defined(__ASSEMBLER__)
|
||||
#endif
|
||||
|
||||
#include "receive_rssi_info.h"
|
||||
|
||||
// ################ START SUMMARY #################
|
||||
//
|
||||
// Dword Fields
|
||||
// 0 reception_type[3:0], reserved_0[5:4], receive_bandwidth[7:6], rx_chain_mask[15:8], phy_ppdu_id[31:16]
|
||||
// 1 sw_phy_meta_data[31:0]
|
||||
// 2 ppdu_start_timestamp[31:0]
|
||||
// 3-18 struct receive_rssi_info pre_rssi_info_details;
|
||||
// 19-34 struct receive_rssi_info preamble_rssi_info_details;
|
||||
// 35 pre_rssi_comb[7:0], rssi_comb[15:8], normalized_pre_rssi_comb[23:16], normalized_rssi_comb[31:24]
|
||||
// 36 rssi_comb_ppdu[7:0], rssi_db_to_dbm_offset[15:8], reserved_36a[31:16]
|
||||
//
|
||||
// ################ END SUMMARY #################
|
||||
|
||||
#define NUM_OF_DWORDS_PHYRX_RSSI_LEGACY 37
|
||||
|
||||
struct phyrx_rssi_legacy {
|
||||
uint32_t reception_type : 4, //[3:0]
|
||||
reserved_0 : 2, //[5:4]
|
||||
receive_bandwidth : 2, //[7:6]
|
||||
rx_chain_mask : 8, //[15:8]
|
||||
phy_ppdu_id : 16; //[31:16]
|
||||
uint32_t sw_phy_meta_data : 32; //[31:0]
|
||||
uint32_t ppdu_start_timestamp : 32; //[31:0]
|
||||
struct receive_rssi_info pre_rssi_info_details;
|
||||
struct receive_rssi_info preamble_rssi_info_details;
|
||||
uint32_t pre_rssi_comb : 8, //[7:0]
|
||||
rssi_comb : 8, //[15:8]
|
||||
normalized_pre_rssi_comb : 8, //[23:16]
|
||||
normalized_rssi_comb : 8; //[31:24]
|
||||
uint32_t rssi_comb_ppdu : 8, //[7:0]
|
||||
rssi_db_to_dbm_offset : 8, //[15:8]
|
||||
reserved_36a : 16; //[31:16]
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
reception_type
|
||||
|
||||
This field helps MAC SW determine which field in this
|
||||
(and following TLVs) will contain valid information. For
|
||||
example some RSSI info not valid in case of uplink_ofdma..
|
||||
|
||||
<enum 0 reception_is_uplink_ofdma>
|
||||
|
||||
<enum 1 reception_is_uplink_mimo>
|
||||
|
||||
<enum 2 reception_is_other>
|
||||
|
||||
<enum 3 reception_is_frameless> PHY RX has been
|
||||
instructed in advance that the upcoming reception is
|
||||
frameless. This implieas that in advance it is known that
|
||||
all frames will collide in the medium, and nothing can be
|
||||
properly decoded... This can happen during the CTS reception
|
||||
in response to the triggered MU-RTS transmission.
|
||||
|
||||
MAC takes no action when seeing this e_num. For the
|
||||
frameless reception the indication in pkt_end is the final
|
||||
one evaluated by the MAC
|
||||
|
||||
<legal 0-3>
|
||||
|
||||
reserved_0
|
||||
|
||||
<legal 0>
|
||||
|
||||
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>
|
||||
|
||||
rx_chain_mask
|
||||
|
||||
The chain mask at the start of the reception of this
|
||||
frame.
|
||||
|
||||
|
||||
|
||||
each bit is one antenna
|
||||
|
||||
0: the chain is NOT used
|
||||
|
||||
1: the chain is used
|
||||
|
||||
|
||||
|
||||
Supports up to 8 chains
|
||||
|
||||
|
||||
|
||||
Used in 11ax TPC calculations for UL OFDMA/MIMO and has
|
||||
to be in sync with the rssi_comb value as this is also used
|
||||
by the MAC for the TPC calculations.
|
||||
|
||||
<legal all>
|
||||
|
||||
phy_ppdu_id
|
||||
|
||||
A ppdu counter value that PHY increments for every PPDU
|
||||
received. The counter value wraps around
|
||||
|
||||
<legal all>
|
||||
|
||||
sw_phy_meta_data
|
||||
|
||||
32 bit Meta data that SW can program in a 32 bit PHY
|
||||
register and PHY will insert the value in every
|
||||
RX_RSSI_LEGACY TLV that it generates.
|
||||
|
||||
SW uses this field to embed among other things some SW
|
||||
channel info.
|
||||
|
||||
ppdu_start_timestamp
|
||||
|
||||
Timestamp that indicates when the PPDU that contained
|
||||
this MPDU started on the medium.
|
||||
|
||||
|
||||
|
||||
Note that PHY will detect the start later, and will have
|
||||
to derive out of the preamble info when the frame actually
|
||||
appeared on the medium
|
||||
|
||||
<legal 0- 10>
|
||||
|
||||
struct receive_rssi_info pre_rssi_info_details
|
||||
|
||||
This field is not valid when reception_is_uplink_ofdma
|
||||
|
||||
|
||||
|
||||
Overview of the pre-RSSI values. That is RSSI values
|
||||
measured on the medium before this reception started.
|
||||
|
||||
struct receive_rssi_info preamble_rssi_info_details
|
||||
|
||||
This field is not valid when reception_is_uplink_ofdma
|
||||
|
||||
|
||||
|
||||
Overview of the RSSI values measured during the
|
||||
pre-amble phase of this reception
|
||||
|
||||
pre_rssi_comb
|
||||
|
||||
Combined pre_rssi of all chains. Based on primary
|
||||
channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
rssi_comb
|
||||
|
||||
Combined rssi of all chains. Based on primary channel
|
||||
RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
normalized_pre_rssi_comb
|
||||
|
||||
Combined pre_rssi of all chains, but normalized back to
|
||||
a single chain. This avoids PDG from having to evaluate this
|
||||
in combination with receive chain mask and perform all kinds
|
||||
of pre-processing algorithms.
|
||||
|
||||
|
||||
|
||||
Based on primary channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
normalized_rssi_comb
|
||||
|
||||
Combined rssi of all chains, but normalized back to a
|
||||
single chain. This avoids PDG from having to evaluate this
|
||||
in combination with receive chain mask and perform all kinds
|
||||
of pre-processing algorithms.
|
||||
|
||||
|
||||
|
||||
Based on primary channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
rssi_comb_ppdu
|
||||
|
||||
Combined rssi of all chains, based on active
|
||||
RUs/subchannels
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
When packet BW is 20 MHz,
|
||||
|
||||
rssi_comb_ppdu = rssi_comb.
|
||||
|
||||
|
||||
|
||||
When packet BW > 20 MHz,
|
||||
|
||||
rssi_comb < rssi_comb_ppdu because rssi_comb only
|
||||
includes power of primary 20 MHz while rssi_comb_ppdu
|
||||
includes power of active RUs/subchannels.
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
rssi_db_to_dbm_offset
|
||||
|
||||
Offset between 'dB' and 'dBm' values. SW can use this
|
||||
value to convert RSSI 'dBm' values back to 'dB,' and report
|
||||
both the values.
|
||||
|
||||
|
||||
|
||||
When rssi_db_to_dbm_offset = 0,
|
||||
|
||||
all rssi_xxx fields are defined in dB.
|
||||
|
||||
|
||||
|
||||
When rssi_db_to_dbm_offset is a large negative value,
|
||||
all rssi_xxx fields are defined in dBm.
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
reserved_36a
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE
|
||||
|
||||
This field helps MAC SW determine which field in this
|
||||
(and following TLVs) will contain valid information. For
|
||||
example some RSSI info not valid in case of uplink_ofdma..
|
||||
|
||||
<enum 0 reception_is_uplink_ofdma>
|
||||
|
||||
<enum 1 reception_is_uplink_mimo>
|
||||
|
||||
<enum 2 reception_is_other>
|
||||
|
||||
<enum 3 reception_is_frameless> PHY RX has been
|
||||
instructed in advance that the upcoming reception is
|
||||
frameless. This implieas that in advance it is known that
|
||||
all frames will collide in the medium, and nothing can be
|
||||
properly decoded... This can happen during the CTS reception
|
||||
in response to the triggered MU-RTS transmission.
|
||||
|
||||
MAC takes no action when seeing this e_num. For the
|
||||
frameless reception the indication in pkt_end is the final
|
||||
one evaluated by the MAC
|
||||
|
||||
<legal 0-3>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_OFFSET 0x00000000
|
||||
#define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_MASK 0x0000000f
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_0_RESERVED_0
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_0_RESERVED_0_OFFSET 0x00000000
|
||||
#define PHYRX_RSSI_LEGACY_0_RESERVED_0_LSB 4
|
||||
#define PHYRX_RSSI_LEGACY_0_RESERVED_0_MASK 0x00000030
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_0_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 PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_OFFSET 0x00000000
|
||||
#define PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_LSB 6
|
||||
#define PHYRX_RSSI_LEGACY_0_RECEIVE_BANDWIDTH_MASK 0x000000c0
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK
|
||||
|
||||
The chain mask at the start of the reception of this
|
||||
frame.
|
||||
|
||||
|
||||
|
||||
each bit is one antenna
|
||||
|
||||
0: the chain is NOT used
|
||||
|
||||
1: the chain is used
|
||||
|
||||
|
||||
|
||||
Supports up to 8 chains
|
||||
|
||||
|
||||
|
||||
Used in 11ax TPC calculations for UL OFDMA/MIMO and has
|
||||
to be in sync with the rssi_comb value as this is also used
|
||||
by the MAC for the TPC calculations.
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_OFFSET 0x00000000
|
||||
#define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_LSB 8
|
||||
#define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_MASK 0x0000ff00
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID
|
||||
|
||||
A ppdu counter value that PHY increments for every PPDU
|
||||
received. The counter value wraps around
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_OFFSET 0x00000000
|
||||
#define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_LSB 16
|
||||
#define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_MASK 0xffff0000
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA
|
||||
|
||||
32 bit Meta data that SW can program in a 32 bit PHY
|
||||
register and PHY will insert the value in every
|
||||
RX_RSSI_LEGACY TLV that it generates.
|
||||
|
||||
SW uses this field to embed among other things some SW
|
||||
channel info.
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_OFFSET 0x00000004
|
||||
#define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_MASK 0xffffffff
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP
|
||||
|
||||
Timestamp that indicates when the PPDU that contained
|
||||
this MPDU started on the medium.
|
||||
|
||||
|
||||
|
||||
Note that PHY will detect the start later, and will have
|
||||
to derive out of the preamble info when the frame actually
|
||||
appeared on the medium
|
||||
|
||||
<legal 0- 10>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_OFFSET 0x00000008
|
||||
#define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000000c
|
||||
#define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000010
|
||||
#define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000014
|
||||
#define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000018
|
||||
#define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000001c
|
||||
#define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000020
|
||||
#define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000024
|
||||
#define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000028
|
||||
#define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000002c
|
||||
#define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000030
|
||||
#define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000034
|
||||
#define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000038
|
||||
#define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000003c
|
||||
#define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000040
|
||||
#define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000044
|
||||
#define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000048
|
||||
#define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000004c
|
||||
#define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000050
|
||||
#define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000054
|
||||
#define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000058
|
||||
#define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000005c
|
||||
#define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000060
|
||||
#define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000064
|
||||
#define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000068
|
||||
#define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000006c
|
||||
#define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000070
|
||||
#define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000074
|
||||
#define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000078
|
||||
#define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000007c
|
||||
#define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000080
|
||||
#define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000084
|
||||
#define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
#define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000088
|
||||
#define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB
|
||||
|
||||
Combined pre_rssi of all chains. Based on primary
|
||||
channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_OFFSET 0x0000008c
|
||||
#define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_MASK 0x000000ff
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_35_RSSI_COMB
|
||||
|
||||
Combined rssi of all chains. Based on primary channel
|
||||
RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_35_RSSI_COMB_OFFSET 0x0000008c
|
||||
#define PHYRX_RSSI_LEGACY_35_RSSI_COMB_LSB 8
|
||||
#define PHYRX_RSSI_LEGACY_35_RSSI_COMB_MASK 0x0000ff00
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB
|
||||
|
||||
Combined pre_rssi of all chains, but normalized back to
|
||||
a single chain. This avoids PDG from having to evaluate this
|
||||
in combination with receive chain mask and perform all kinds
|
||||
of pre-processing algorithms.
|
||||
|
||||
|
||||
|
||||
Based on primary channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_OFFSET 0x0000008c
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_LSB 16
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_PRE_RSSI_COMB_MASK 0x00ff0000
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB
|
||||
|
||||
Combined rssi of all chains, but normalized back to a
|
||||
single chain. This avoids PDG from having to evaluate this
|
||||
in combination with receive chain mask and perform all kinds
|
||||
of pre-processing algorithms.
|
||||
|
||||
|
||||
|
||||
Based on primary channel RSSI.
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_OFFSET 0x0000008c
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_LSB 24
|
||||
#define PHYRX_RSSI_LEGACY_35_NORMALIZED_RSSI_COMB_MASK 0xff000000
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_36_RSSI_COMB_PPDU
|
||||
|
||||
Combined rssi of all chains, based on active
|
||||
RUs/subchannels
|
||||
|
||||
|
||||
|
||||
RSSI is reported as 8b signed values. Nominally value is
|
||||
in dB units above or below the noisefloor(minCCApwr).
|
||||
|
||||
|
||||
|
||||
The resolution can be:
|
||||
|
||||
1dB or 0.5dB. This is statically configured within the
|
||||
PHY and MAC
|
||||
|
||||
|
||||
|
||||
In case of 1dB, the Range is:
|
||||
|
||||
-128dB to 127dB
|
||||
|
||||
|
||||
|
||||
In case of 0.5dB, the Range is:
|
||||
|
||||
-64dB to 63.5dB
|
||||
|
||||
|
||||
|
||||
When packet BW is 20 MHz,
|
||||
|
||||
rssi_comb_ppdu = rssi_comb.
|
||||
|
||||
|
||||
|
||||
When packet BW > 20 MHz,
|
||||
|
||||
rssi_comb < rssi_comb_ppdu because rssi_comb only
|
||||
includes power of primary 20 MHz while rssi_comb_ppdu
|
||||
includes power of active RUs/subchannels.
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_COMB_PPDU_OFFSET 0x00000090
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_COMB_PPDU_LSB 0
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_COMB_PPDU_MASK 0x000000ff
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_36_RSSI_DB_TO_DBM_OFFSET
|
||||
|
||||
Offset between 'dB' and 'dBm' values. SW can use this
|
||||
value to convert RSSI 'dBm' values back to 'dB,' and report
|
||||
both the values.
|
||||
|
||||
|
||||
|
||||
When rssi_db_to_dbm_offset = 0,
|
||||
|
||||
all rssi_xxx fields are defined in dB.
|
||||
|
||||
|
||||
|
||||
When rssi_db_to_dbm_offset is a large negative value,
|
||||
all rssi_xxx fields are defined in dBm.
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_DB_TO_DBM_OFFSET_OFFSET 0x00000090
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_DB_TO_DBM_OFFSET_LSB 8
|
||||
#define PHYRX_RSSI_LEGACY_36_RSSI_DB_TO_DBM_OFFSET_MASK 0x0000ff00
|
||||
|
||||
/* Description PHYRX_RSSI_LEGACY_36_RESERVED_36A
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
#define PHYRX_RSSI_LEGACY_36_RESERVED_36A_OFFSET 0x00000090
|
||||
#define PHYRX_RSSI_LEGACY_36_RESERVED_36A_LSB 16
|
||||
#define PHYRX_RSSI_LEGACY_36_RESERVED_36A_MASK 0xffff0000
|
||||
|
||||
|
||||
#endif // _PHYRX_RSSI_LEGACY_H_
|
Reference in New Issue
Block a user