12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376 |
- /*
- * Copyright (c) 2019 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.
- */
- //
- // DO NOT EDIT! This file is automatically generated
- // These definitions are tied to a particular hardware layout
- #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
- <legal all>
- 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
- <legal all>
- 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
- <legal all>
- 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
- <legal all>
- rtt_fac_legacy_status
- Status of rtt_fac_legacy
- <enum 0 location_fac_legacy_status_not_valid>
- <enum 1 location_fac_legacy_status_valid>
- <legal all>
- rtt_fac_legacy_ext80_status
- Status of rtt_fac_legacy_ext80
- <enum 0 location_fac_legacy_ext80_status_not_valid>
- <enum 1 location_fac_legacy_ext80_status_valid>
- <legal all>
- rtt_fac_vht_status
- Status of rtt_fac_vht
- <enum 0 location_fac_vht_status_not_valid>
- <enum 1 location_fac_vht_status_valid>
- <legal all>
- rtt_fac_vht_ext80_status
- Status of rtt_fac_vht_ext80
- <enum 0 location_fac_vht_ext80_status_not_valid>
- <enum 1 location_fac_vht_ext80_status_valid>
- <legal all>
- 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
- <legal all>
- 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
- <legal 0-2>
- rtt_cfr_status
- Status of channel frequency response dump
- <enum 0 location_CFR_dump_not_valid>
- <enum 1 location_CFR_dump_valid>
- <legal all>
- rtt_cir_status
- Status of channel impulse response dump
- <enum 0 location_CIR_dump_not_valid>
- <enum 1 location_CIR_dump_valid>
- <legal all>
- 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
- <legal all>
- rtt_hw_ifft_mode
- Indicator showing if HW IFFT mode or SW IFFT mode
- <enum 0 location_sw_ifft_mode>
- <enum 1 location_hw_ifft_mode>
- <legal all>
- rtt_btcf_status
- Indicate if BTCF is used to capture the timestamps
- <enum 0 location_not_BTCF_based_ts>
- <enum 1 location_BTCF_based_ts>
- <legal all>
- rtt_preamble_type
- Indicate preamble type
- <enum 0 location_preamble_type_legacy>
- <enum 1 location_preamble_type_ht>
- <enum 2 location_preamble_type_vht>
- <enum 3 location_preamble_type_he_su_4xltf>
- <enum 4 location_preamble_type_he_su_2xltf>
- <enum 5 location_preamble_type_he_su_1xltf>
- <enum 6
- location_preamble_type_he_trigger_based_ul_4xltf>
- <enum 7
- location_preamble_type_he_trigger_based_ul_2xltf>
- <enum 8
- location_preamble_type_he_trigger_based_ul_1xltf>
- <enum 9 location_preamble_type_he_mu_4xltf>
- <enum 10 location_preamble_type_he_mu_2xltf>
- <enum 11 location_preamble_type_he_mu_1xltf>
- <enum 12
- location_preamble_type_he_extended_range_su_4xltf>
- <enum 13
- location_preamble_type_he_extended_range_su_2xltf>
- <enum 14
- location_preamble_type_he_extended_range_su_1xltf>
- <legal 0-14>
- rtt_pkt_bw_leg
- Indicate the bandwidth of L-LTF
- <enum 0 location_pkt_bw_20MHz>
- <enum 1 location_pkt_bw_40MHz>
- <enum 2 location_pkt_bw_80MHz>
- <enum 3 location_pkt_bw_160MHz>
- <legal all>
- rtt_pkt_bw_vht
- Indicate the bandwidth of (V)HT/HE-LTF
- <enum 0 location_pkt_bw_20MHz>
- <enum 1 location_pkt_bw_40MHz>
- <enum 2 location_pkt_bw_80MHz>
- <enum 3 location_pkt_bw_160MHz>
- <legal all>
- rtt_gi_type
- Indicate GI (guard interval) type
- <enum 0 gi_0_8_us > HE related GI. Can also be used
- for HE
- <enum 1 gi_0_4_us > HE related GI. Can also be used
- for HE
- <enum 2 gi_1_6_us > HE related GI
- <enum 3 gi_3_2_us > HE related GI
- <legal 0 - 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,
- <legal all>
- 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
- <enum 0 location_strongest_chain_is_0>
- <enum 1 location_strongest_chain_is_1>
- <enum 2 location_strongest_chain_is_2>
- <enum 3 location_strongest_chain_is_3>
- <enum 4 location_strongest_chain_is_4>
- <enum 5 location_strongest_chain_is_5>
- <enum 6 location_strongest_chain_is_6>
- <enum 7 location_strongest_chain_is_7>
- <legal all>
- 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
- <enum 0 location_strongest_chain_is_0>
- <enum 1 location_strongest_chain_is_1>
- <enum 2 location_strongest_chain_is_2>
- <enum 3 location_strongest_chain_is_3>
- <enum 4 location_strongest_chain_is_4>
- <enum 5 location_strongest_chain_is_5>
- <enum 6 location_strongest_chain_is_6>
- <enum 7 location_strongest_chain_is_7>
- <legal all>
- 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
- <legal all>
- reserved_3
- <legal 0>
- 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
- <legal all>
- 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
- <legal all>
- 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
- <legal all>
- 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
- <legal all>
- rtt_che_buffer_pointer_high8
- The high 8 bits of the 40 bits pointer pointed to the
- external RTT channel information buffer
- 8 bits
- <legal all>
- rtt_che_buffer_pointer_low32
- The low 32 bits of the 40 bits pointer pointed to the
- external RTT channel information buffer
- 32 bits
- <legal all>
- 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
- <legal all>
- 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
- <legal all>
- rtt_timing_backoff_sel
- Indicate which timing backoff value is used
- <enum 0 timing_backoff_low_rssi>
- <enum 1 timing_backoff_mid_rssi>
- <enum 2 timing_backoff_high_rssi>
- <enum 3 reserved>
- <legal all>
- reserved_8
- <legal 0>
- rx_location_info_valid
- <enum 0 rx_location_info_is_not_valid>
- <enum 1 rx_location_info_is_valid>
- <legal all>
- */
- /* 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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <enum 0 location_fac_legacy_status_not_valid>
- <enum 1 location_fac_legacy_status_valid>
- <legal all>
- */
- #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
- <enum 0 location_fac_legacy_ext80_status_not_valid>
- <enum 1 location_fac_legacy_ext80_status_valid>
- <legal all>
- */
- #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
- <enum 0 location_fac_vht_status_not_valid>
- <enum 1 location_fac_vht_status_valid>
- <legal all>
- */
- #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
- <enum 0 location_fac_vht_ext80_status_not_valid>
- <enum 1 location_fac_vht_ext80_status_valid>
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal 0-2>
- */
- #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
- <enum 0 location_CFR_dump_not_valid>
- <enum 1 location_CFR_dump_valid>
- <legal all>
- */
- #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
- <enum 0 location_CIR_dump_not_valid>
- <enum 1 location_CIR_dump_valid>
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <enum 0 location_sw_ifft_mode>
- <enum 1 location_hw_ifft_mode>
- <legal all>
- */
- #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
- <enum 0 location_not_BTCF_based_ts>
- <enum 1 location_BTCF_based_ts>
- <legal all>
- */
- #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
- <enum 0 location_preamble_type_legacy>
- <enum 1 location_preamble_type_ht>
- <enum 2 location_preamble_type_vht>
- <enum 3 location_preamble_type_he_su_4xltf>
- <enum 4 location_preamble_type_he_su_2xltf>
- <enum 5 location_preamble_type_he_su_1xltf>
- <enum 6
- location_preamble_type_he_trigger_based_ul_4xltf>
- <enum 7
- location_preamble_type_he_trigger_based_ul_2xltf>
- <enum 8
- location_preamble_type_he_trigger_based_ul_1xltf>
- <enum 9 location_preamble_type_he_mu_4xltf>
- <enum 10 location_preamble_type_he_mu_2xltf>
- <enum 11 location_preamble_type_he_mu_1xltf>
- <enum 12
- location_preamble_type_he_extended_range_su_4xltf>
- <enum 13
- location_preamble_type_he_extended_range_su_2xltf>
- <enum 14
- location_preamble_type_he_extended_range_su_1xltf>
- <legal 0-14>
- */
- #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
- <enum 0 location_pkt_bw_20MHz>
- <enum 1 location_pkt_bw_40MHz>
- <enum 2 location_pkt_bw_80MHz>
- <enum 3 location_pkt_bw_160MHz>
- <legal all>
- */
- #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
- <enum 0 location_pkt_bw_20MHz>
- <enum 1 location_pkt_bw_40MHz>
- <enum 2 location_pkt_bw_80MHz>
- <enum 3 location_pkt_bw_160MHz>
- <legal all>
- */
- #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
- <enum 0 gi_0_8_us > HE related GI. Can also be used
- for HE
- <enum 1 gi_0_4_us > HE related GI. Can also be used
- for HE
- <enum 2 gi_1_6_us > HE related GI
- <enum 3 gi_3_2_us > HE related GI
- <legal 0 - 3>
- */
- #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,
- <legal all>
- */
- #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
- <enum 0 location_strongest_chain_is_0>
- <enum 1 location_strongest_chain_is_1>
- <enum 2 location_strongest_chain_is_2>
- <enum 3 location_strongest_chain_is_3>
- <enum 4 location_strongest_chain_is_4>
- <enum 5 location_strongest_chain_is_5>
- <enum 6 location_strongest_chain_is_6>
- <enum 7 location_strongest_chain_is_7>
- <legal all>
- */
- #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
- <enum 0 location_strongest_chain_is_0>
- <enum 1 location_strongest_chain_is_1>
- <enum 2 location_strongest_chain_is_2>
- <enum 3 location_strongest_chain_is_3>
- <enum 4 location_strongest_chain_is_4>
- <enum 5 location_strongest_chain_is_5>
- <enum 6 location_strongest_chain_is_6>
- <enum 7 location_strongest_chain_is_7>
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal 0>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <legal all>
- */
- #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
- <enum 0 timing_backoff_low_rssi>
- <enum 1 timing_backoff_mid_rssi>
- <enum 2 timing_backoff_high_rssi>
- <enum 3 reserved>
- <legal all>
- */
- #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
- <legal 0>
- */
- #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
- <enum 0 rx_location_info_is_not_valid>
- <enum 1 rx_location_info_is_valid>
- <legal all>
- */
- #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_
|