/* * 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_LOCATION_INFO_H_ #define _RX_LOCATION_INFO_H_ #if !defined(__ASSEMBLER__) #endif // ################ START SUMMARY ################# // // Dword Fields // 0 rtt_fac_legacy[15:0], rtt_fac_legacy_ext80[31:16] // 1 rtt_fac_vht[15:0], rtt_fac_vht_ext80[31:16] // 2 rtt_fac_legacy_status[0], rtt_fac_legacy_ext80_status[1], rtt_fac_vht_status[2], rtt_fac_vht_ext80_status[3], rtt_fac_sifs[15:4], rtt_fac_sifs_status[17:16], rtt_cfr_status[18], rtt_cir_status[19], rtt_channel_dump_size[30:20], rtt_hw_ifft_mode[31] // 3 rtt_btcf_status[0], rtt_preamble_type[5:1], rtt_pkt_bw_leg[7:6], rtt_pkt_bw_vht[9:8], rtt_gi_type[11:10], rtt_mcs_rate[16:12], rtt_strongest_chain[19:17], rtt_strongest_chain_ext80[22:20], rtt_rx_chain_mask[30:23], reserved_3[31] // 4 rx_start_ts[31:0] // 5 rx_end_ts[31:0] // 6 sfo_phase_pkt_start[11:0], sfo_phase_pkt_end[23:12], rtt_che_buffer_pointer_high8[31:24] // 7 rtt_che_buffer_pointer_low32[31:0] // 8 rtt_cfo_measurement[13:0], rtt_chan_spread[21:14], rtt_timing_backoff_sel[23:22], reserved_8[30:24], rx_location_info_valid[31] // // ################ END SUMMARY ################# #define NUM_OF_DWORDS_RX_LOCATION_INFO 9 struct rx_location_info { uint32_t rtt_fac_legacy : 16, //[15:0] rtt_fac_legacy_ext80 : 16; //[31:16] uint32_t rtt_fac_vht : 16, //[15:0] rtt_fac_vht_ext80 : 16; //[31:16] uint32_t rtt_fac_legacy_status : 1, //[0] rtt_fac_legacy_ext80_status : 1, //[1] rtt_fac_vht_status : 1, //[2] rtt_fac_vht_ext80_status : 1, //[3] rtt_fac_sifs : 12, //[15:4] rtt_fac_sifs_status : 2, //[17:16] rtt_cfr_status : 1, //[18] rtt_cir_status : 1, //[19] rtt_channel_dump_size : 11, //[30:20] rtt_hw_ifft_mode : 1; //[31] uint32_t rtt_btcf_status : 1, //[0] rtt_preamble_type : 5, //[5:1] rtt_pkt_bw_leg : 2, //[7:6] rtt_pkt_bw_vht : 2, //[9:8] rtt_gi_type : 2, //[11:10] rtt_mcs_rate : 5, //[16:12] rtt_strongest_chain : 3, //[19:17] rtt_strongest_chain_ext80 : 3, //[22:20] rtt_rx_chain_mask : 8, //[30:23] reserved_3 : 1; //[31] uint32_t rx_start_ts : 32; //[31:0] uint32_t rx_end_ts : 32; //[31:0] uint32_t sfo_phase_pkt_start : 12, //[11:0] sfo_phase_pkt_end : 12, //[23:12] rtt_che_buffer_pointer_high8 : 8; //[31:24] uint32_t rtt_che_buffer_pointer_low32 : 32; //[31:0] uint32_t rtt_cfo_measurement : 14, //[13:0] rtt_chan_spread : 8, //[21:14] rtt_timing_backoff_sel : 2, //[23:22] reserved_8 : 7, //[30:24] rx_location_info_valid : 1; //[31] }; /* rtt_fac_legacy For 20/40/80, this field shows the RTT first arrival correction value computed from L-LTF on the first selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from L-LTF on pri80 on the selected pri80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover pri80 and 32x FAC interpolation clock unit is 320MHz rtt_fac_legacy_ext80 For 20/40/80, this field shows the RTT first arrival correction value computed from L-LTF on the second selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from L-LTF on ext80 on the selected ext80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover ext80 and 32x FAC interpolation clock unit is 320MHz rtt_fac_vht For 20/40/80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on the first selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on pri80 on the selected pri80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover pri80 and 32x FAC interpolation clock unit is 320MHz rtt_fac_vht_ext80 For 20/40/80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on the second selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on ext80 on the selected ext80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover ext80 and 32x FAC interpolation clock unit is 320MHz rtt_fac_legacy_status Status of rtt_fac_legacy rtt_fac_legacy_ext80_status Status of rtt_fac_legacy_ext80 rtt_fac_vht_status Status of rtt_fac_vht rtt_fac_vht_ext80_status Status of rtt_fac_vht_ext80 rtt_fac_sifs To support fine SIFS adjustment, need to provide FAC value @ integer number of 320 MHz clock cycles to MAC.  It is from L-LTF if it is a Legacy packet and from (V)HT/HE-LTF if it is a (V)HT/HE packet 12 bits, signed, no fractional part rtt_fac_sifs_status Status of rtt_fac_sifs 0: not valid 1: valid and from L-LTF 2: valid and from (V)HT/HE-LTF 3: reserved rtt_cfr_status Status of channel frequency response dump rtt_cir_status Status of channel impulse response dump rtt_channel_dump_size Channel dump size.  It shows how many tones in CFR in one chain, for example, it will show 52 for Legacy20 and 484 for VHT160 rtt_hw_ifft_mode Indicator showing if HW IFFT mode or SW IFFT mode rtt_btcf_status Indicate if BTCF is used to capture the timestamps rtt_preamble_type Indicate preamble type rtt_pkt_bw_leg Indicate the bandwidth of L-LTF rtt_pkt_bw_vht Indicate the bandwidth of (V)HT/HE-LTF rtt_gi_type Indicate GI (guard interval) type HE related GI. Can also be used for HE HE related GI. Can also be used for HE HE related GI HE related GI rtt_mcs_rate Bits 0~4 indicate MCS rate, if Legacy, 0: 48 Mbps, 1: 24 Mbps, 2: 12 Mbps, 3: 6 Mbps, 4: 54 Mbps, 5: 36 Mbps, 6: 18 Mbps, 7: 9 Mbps, if HT, 0-7: MCS0-MCS7, if VHT, 0-9: MCS0-MCS9, rtt_strongest_chain For 20/40/80, this field shows the first selected Rx chain that is used in HW IFFT mode For 80+80, this field shows the selected pri80 Rx chain that is used in HW IFFT mode rtt_strongest_chain_ext80 For 20/40/80, this field shows the second selected Rx chain that is used in HW IFFT mode For 80+80, this field shows the selected ext80 Rx chain that is used in HW IFFT mode rtt_rx_chain_mask Rx chain mask, each bit is a Rx chain 0: the Rx chain is not used 1: the Rx chain is used Support up to 8 Rx chains reserved_3 rx_start_ts RX packet start timestamp It reports the time the first L-STF ADC sample arrived at RX antenna clock unit is 480MHz rx_end_ts RX packet end timestamp It reports the time the last symbol's last ADC sample arrived at RX antenna clock unit is 480MHz sfo_phase_pkt_start The phase of the SFO of the first symbol's first FFT input sample 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to 66.7ns, and 6 bits fraction to provide a resolution of 0.03ns clock unit is 480MHz sfo_phase_pkt_end The phase of the SFO of the last symbol's last FFT input sample 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to 66.7ns, and 6 bits fraction to provide a resolution of 0.03ns clock unit is 480MHz rtt_che_buffer_pointer_high8 The high 8 bits of the 40 bits pointer pointed to the external RTT channel information buffer 8 bits rtt_che_buffer_pointer_low32 The low 32 bits of the 40 bits pointer pointed to the external RTT channel information buffer 32 bits rtt_cfo_measurement CFO measurement. Needed for passive locationing 14 bits, signed 1.13. 13 bits fraction to provide a resolution of 153 Hz In units of cycles/800 ns rtt_chan_spread Channel delay spread measurement. Needed for selecting GI length 8 bits, unsigned. At 25 ns step. Can represent up to 6375 ns In units of cycles @ 40 MHz rtt_timing_backoff_sel Indicate which timing backoff value is used reserved_8 rx_location_info_valid */ /* Description RX_LOCATION_INFO_0_RTT_FAC_LEGACY For 20/40/80, this field shows the RTT first arrival correction value computed from L-LTF on the first selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from L-LTF on pri80 on the selected pri80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover pri80 and 32x FAC interpolation clock unit is 320MHz */ #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_OFFSET 0x00000000 #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_LSB 0 #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_MASK 0x0000ffff /* Description RX_LOCATION_INFO_0_RTT_FAC_LEGACY_EXT80 For 20/40/80, this field shows the RTT first arrival correction value computed from L-LTF on the second selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from L-LTF on ext80 on the selected ext80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover ext80 and 32x FAC interpolation clock unit is 320MHz */ #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_EXT80_OFFSET 0x00000000 #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_EXT80_LSB 16 #define RX_LOCATION_INFO_0_RTT_FAC_LEGACY_EXT80_MASK 0xffff0000 /* Description RX_LOCATION_INFO_1_RTT_FAC_VHT For 20/40/80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on the first selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on pri80 on the selected pri80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover pri80 and 32x FAC interpolation clock unit is 320MHz */ #define RX_LOCATION_INFO_1_RTT_FAC_VHT_OFFSET 0x00000004 #define RX_LOCATION_INFO_1_RTT_FAC_VHT_LSB 0 #define RX_LOCATION_INFO_1_RTT_FAC_VHT_MASK 0x0000ffff /* Description RX_LOCATION_INFO_1_RTT_FAC_VHT_EXT80 For 20/40/80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on the second selected Rx chain For 80+80, this field shows the RTT first arrival correction value computed from (V)HT/HE-LTF on ext80 on the selected ext80 Rx chain 16 bits, signed 12.4. 12 bits integer to cover -6.4us to 6.4us, and 4 bits fraction to cover ext80 and 32x FAC interpolation clock unit is 320MHz */ #define RX_LOCATION_INFO_1_RTT_FAC_VHT_EXT80_OFFSET 0x00000004 #define RX_LOCATION_INFO_1_RTT_FAC_VHT_EXT80_LSB 16 #define RX_LOCATION_INFO_1_RTT_FAC_VHT_EXT80_MASK 0xffff0000 /* Description RX_LOCATION_INFO_2_RTT_FAC_LEGACY_STATUS Status of rtt_fac_legacy */ #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_STATUS_LSB 0 #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_STATUS_MASK 0x00000001 /* Description RX_LOCATION_INFO_2_RTT_FAC_LEGACY_EXT80_STATUS Status of rtt_fac_legacy_ext80 */ #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_EXT80_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_EXT80_STATUS_LSB 1 #define RX_LOCATION_INFO_2_RTT_FAC_LEGACY_EXT80_STATUS_MASK 0x00000002 /* Description RX_LOCATION_INFO_2_RTT_FAC_VHT_STATUS Status of rtt_fac_vht */ #define RX_LOCATION_INFO_2_RTT_FAC_VHT_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_VHT_STATUS_LSB 2 #define RX_LOCATION_INFO_2_RTT_FAC_VHT_STATUS_MASK 0x00000004 /* Description RX_LOCATION_INFO_2_RTT_FAC_VHT_EXT80_STATUS Status of rtt_fac_vht_ext80 */ #define RX_LOCATION_INFO_2_RTT_FAC_VHT_EXT80_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_VHT_EXT80_STATUS_LSB 3 #define RX_LOCATION_INFO_2_RTT_FAC_VHT_EXT80_STATUS_MASK 0x00000008 /* Description RX_LOCATION_INFO_2_RTT_FAC_SIFS To support fine SIFS adjustment, need to provide FAC value @ integer number of 320 MHz clock cycles to MAC.  It is from L-LTF if it is a Legacy packet and from (V)HT/HE-LTF if it is a (V)HT/HE packet 12 bits, signed, no fractional part */ #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_LSB 4 #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_MASK 0x0000fff0 /* Description RX_LOCATION_INFO_2_RTT_FAC_SIFS_STATUS Status of rtt_fac_sifs 0: not valid 1: valid and from L-LTF 2: valid and from (V)HT/HE-LTF 3: reserved */ #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_STATUS_LSB 16 #define RX_LOCATION_INFO_2_RTT_FAC_SIFS_STATUS_MASK 0x00030000 /* Description RX_LOCATION_INFO_2_RTT_CFR_STATUS Status of channel frequency response dump */ #define RX_LOCATION_INFO_2_RTT_CFR_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_CFR_STATUS_LSB 18 #define RX_LOCATION_INFO_2_RTT_CFR_STATUS_MASK 0x00040000 /* Description RX_LOCATION_INFO_2_RTT_CIR_STATUS Status of channel impulse response dump */ #define RX_LOCATION_INFO_2_RTT_CIR_STATUS_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_CIR_STATUS_LSB 19 #define RX_LOCATION_INFO_2_RTT_CIR_STATUS_MASK 0x00080000 /* Description RX_LOCATION_INFO_2_RTT_CHANNEL_DUMP_SIZE Channel dump size.  It shows how many tones in CFR in one chain, for example, it will show 52 for Legacy20 and 484 for VHT160 */ #define RX_LOCATION_INFO_2_RTT_CHANNEL_DUMP_SIZE_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_CHANNEL_DUMP_SIZE_LSB 20 #define RX_LOCATION_INFO_2_RTT_CHANNEL_DUMP_SIZE_MASK 0x7ff00000 /* Description RX_LOCATION_INFO_2_RTT_HW_IFFT_MODE Indicator showing if HW IFFT mode or SW IFFT mode */ #define RX_LOCATION_INFO_2_RTT_HW_IFFT_MODE_OFFSET 0x00000008 #define RX_LOCATION_INFO_2_RTT_HW_IFFT_MODE_LSB 31 #define RX_LOCATION_INFO_2_RTT_HW_IFFT_MODE_MASK 0x80000000 /* Description RX_LOCATION_INFO_3_RTT_BTCF_STATUS Indicate if BTCF is used to capture the timestamps */ #define RX_LOCATION_INFO_3_RTT_BTCF_STATUS_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_BTCF_STATUS_LSB 0 #define RX_LOCATION_INFO_3_RTT_BTCF_STATUS_MASK 0x00000001 /* Description RX_LOCATION_INFO_3_RTT_PREAMBLE_TYPE Indicate preamble type */ #define RX_LOCATION_INFO_3_RTT_PREAMBLE_TYPE_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_PREAMBLE_TYPE_LSB 1 #define RX_LOCATION_INFO_3_RTT_PREAMBLE_TYPE_MASK 0x0000003e /* Description RX_LOCATION_INFO_3_RTT_PKT_BW_LEG Indicate the bandwidth of L-LTF */ #define RX_LOCATION_INFO_3_RTT_PKT_BW_LEG_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_PKT_BW_LEG_LSB 6 #define RX_LOCATION_INFO_3_RTT_PKT_BW_LEG_MASK 0x000000c0 /* Description RX_LOCATION_INFO_3_RTT_PKT_BW_VHT Indicate the bandwidth of (V)HT/HE-LTF */ #define RX_LOCATION_INFO_3_RTT_PKT_BW_VHT_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_PKT_BW_VHT_LSB 8 #define RX_LOCATION_INFO_3_RTT_PKT_BW_VHT_MASK 0x00000300 /* Description RX_LOCATION_INFO_3_RTT_GI_TYPE Indicate GI (guard interval) type HE related GI. Can also be used for HE HE related GI. Can also be used for HE HE related GI HE related GI */ #define RX_LOCATION_INFO_3_RTT_GI_TYPE_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_GI_TYPE_LSB 10 #define RX_LOCATION_INFO_3_RTT_GI_TYPE_MASK 0x00000c00 /* Description RX_LOCATION_INFO_3_RTT_MCS_RATE Bits 0~4 indicate MCS rate, if Legacy, 0: 48 Mbps, 1: 24 Mbps, 2: 12 Mbps, 3: 6 Mbps, 4: 54 Mbps, 5: 36 Mbps, 6: 18 Mbps, 7: 9 Mbps, if HT, 0-7: MCS0-MCS7, if VHT, 0-9: MCS0-MCS9, */ #define RX_LOCATION_INFO_3_RTT_MCS_RATE_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_MCS_RATE_LSB 12 #define RX_LOCATION_INFO_3_RTT_MCS_RATE_MASK 0x0001f000 /* Description RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN For 20/40/80, this field shows the first selected Rx chain that is used in HW IFFT mode For 80+80, this field shows the selected pri80 Rx chain that is used in HW IFFT mode */ #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_LSB 17 #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_MASK 0x000e0000 /* Description RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_EXT80 For 20/40/80, this field shows the second selected Rx chain that is used in HW IFFT mode For 80+80, this field shows the selected ext80 Rx chain that is used in HW IFFT mode */ #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_EXT80_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_EXT80_LSB 20 #define RX_LOCATION_INFO_3_RTT_STRONGEST_CHAIN_EXT80_MASK 0x00700000 /* Description RX_LOCATION_INFO_3_RTT_RX_CHAIN_MASK Rx chain mask, each bit is a Rx chain 0: the Rx chain is not used 1: the Rx chain is used Support up to 8 Rx chains */ #define RX_LOCATION_INFO_3_RTT_RX_CHAIN_MASK_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RTT_RX_CHAIN_MASK_LSB 23 #define RX_LOCATION_INFO_3_RTT_RX_CHAIN_MASK_MASK 0x7f800000 /* Description RX_LOCATION_INFO_3_RESERVED_3 */ #define RX_LOCATION_INFO_3_RESERVED_3_OFFSET 0x0000000c #define RX_LOCATION_INFO_3_RESERVED_3_LSB 31 #define RX_LOCATION_INFO_3_RESERVED_3_MASK 0x80000000 /* Description RX_LOCATION_INFO_4_RX_START_TS RX packet start timestamp It reports the time the first L-STF ADC sample arrived at RX antenna clock unit is 480MHz */ #define RX_LOCATION_INFO_4_RX_START_TS_OFFSET 0x00000010 #define RX_LOCATION_INFO_4_RX_START_TS_LSB 0 #define RX_LOCATION_INFO_4_RX_START_TS_MASK 0xffffffff /* Description RX_LOCATION_INFO_5_RX_END_TS RX packet end timestamp It reports the time the last symbol's last ADC sample arrived at RX antenna clock unit is 480MHz */ #define RX_LOCATION_INFO_5_RX_END_TS_OFFSET 0x00000014 #define RX_LOCATION_INFO_5_RX_END_TS_LSB 0 #define RX_LOCATION_INFO_5_RX_END_TS_MASK 0xffffffff /* Description RX_LOCATION_INFO_6_SFO_PHASE_PKT_START The phase of the SFO of the first symbol's first FFT input sample 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to 66.7ns, and 6 bits fraction to provide a resolution of 0.03ns clock unit is 480MHz */ #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_START_OFFSET 0x00000018 #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_START_LSB 0 #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_START_MASK 0x00000fff /* Description RX_LOCATION_INFO_6_SFO_PHASE_PKT_END The phase of the SFO of the last symbol's last FFT input sample 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to 66.7ns, and 6 bits fraction to provide a resolution of 0.03ns clock unit is 480MHz */ #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_END_OFFSET 0x00000018 #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_END_LSB 12 #define RX_LOCATION_INFO_6_SFO_PHASE_PKT_END_MASK 0x00fff000 /* Description RX_LOCATION_INFO_6_RTT_CHE_BUFFER_POINTER_HIGH8 The high 8 bits of the 40 bits pointer pointed to the external RTT channel information buffer 8 bits */ #define RX_LOCATION_INFO_6_RTT_CHE_BUFFER_POINTER_HIGH8_OFFSET 0x00000018 #define RX_LOCATION_INFO_6_RTT_CHE_BUFFER_POINTER_HIGH8_LSB 24 #define RX_LOCATION_INFO_6_RTT_CHE_BUFFER_POINTER_HIGH8_MASK 0xff000000 /* Description RX_LOCATION_INFO_7_RTT_CHE_BUFFER_POINTER_LOW32 The low 32 bits of the 40 bits pointer pointed to the external RTT channel information buffer 32 bits */ #define RX_LOCATION_INFO_7_RTT_CHE_BUFFER_POINTER_LOW32_OFFSET 0x0000001c #define RX_LOCATION_INFO_7_RTT_CHE_BUFFER_POINTER_LOW32_LSB 0 #define RX_LOCATION_INFO_7_RTT_CHE_BUFFER_POINTER_LOW32_MASK 0xffffffff /* Description RX_LOCATION_INFO_8_RTT_CFO_MEASUREMENT CFO measurement. Needed for passive locationing 14 bits, signed 1.13. 13 bits fraction to provide a resolution of 153 Hz In units of cycles/800 ns */ #define RX_LOCATION_INFO_8_RTT_CFO_MEASUREMENT_OFFSET 0x00000020 #define RX_LOCATION_INFO_8_RTT_CFO_MEASUREMENT_LSB 0 #define RX_LOCATION_INFO_8_RTT_CFO_MEASUREMENT_MASK 0x00003fff /* Description RX_LOCATION_INFO_8_RTT_CHAN_SPREAD Channel delay spread measurement. Needed for selecting GI length 8 bits, unsigned. At 25 ns step. Can represent up to 6375 ns In units of cycles @ 40 MHz */ #define RX_LOCATION_INFO_8_RTT_CHAN_SPREAD_OFFSET 0x00000020 #define RX_LOCATION_INFO_8_RTT_CHAN_SPREAD_LSB 14 #define RX_LOCATION_INFO_8_RTT_CHAN_SPREAD_MASK 0x003fc000 /* Description RX_LOCATION_INFO_8_RTT_TIMING_BACKOFF_SEL Indicate which timing backoff value is used */ #define RX_LOCATION_INFO_8_RTT_TIMING_BACKOFF_SEL_OFFSET 0x00000020 #define RX_LOCATION_INFO_8_RTT_TIMING_BACKOFF_SEL_LSB 22 #define RX_LOCATION_INFO_8_RTT_TIMING_BACKOFF_SEL_MASK 0x00c00000 /* Description RX_LOCATION_INFO_8_RESERVED_8 */ #define RX_LOCATION_INFO_8_RESERVED_8_OFFSET 0x00000020 #define RX_LOCATION_INFO_8_RESERVED_8_LSB 24 #define RX_LOCATION_INFO_8_RESERVED_8_MASK 0x7f000000 /* Description RX_LOCATION_INFO_8_RX_LOCATION_INFO_VALID */ #define RX_LOCATION_INFO_8_RX_LOCATION_INFO_VALID_OFFSET 0x00000020 #define RX_LOCATION_INFO_8_RX_LOCATION_INFO_VALID_LSB 31 #define RX_LOCATION_INFO_8_RX_LOCATION_INFO_VALID_MASK 0x80000000 #endif // _RX_LOCATION_INFO_H_