xref: /wlan-driver/fw-api/hw/qca5332/rx_location_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name 
2*5113495bSYour Name /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name  *
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name 
18*5113495bSYour Name 
19*5113495bSYour Name 
20*5113495bSYour Name 
21*5113495bSYour Name 
22*5113495bSYour Name 
23*5113495bSYour Name 
24*5113495bSYour Name 
25*5113495bSYour Name 
26*5113495bSYour Name #ifndef _RX_LOCATION_INFO_H_
27*5113495bSYour Name #define _RX_LOCATION_INFO_H_
28*5113495bSYour Name #if !defined(__ASSEMBLER__)
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #define NUM_OF_DWORDS_RX_LOCATION_INFO 28
32*5113495bSYour Name 
33*5113495bSYour Name 
34*5113495bSYour Name struct rx_location_info {
35*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
36*5113495bSYour Name              uint32_t rx_location_info_valid                                  :  1, // [0:0]
37*5113495bSYour Name                       rtt_hw_ifft_mode                                        :  1, // [1:1]
38*5113495bSYour Name                       rtt_11az_mode                                           :  2, // [3:2]
39*5113495bSYour Name                       reserved_0                                              :  4, // [7:4]
40*5113495bSYour Name                       rtt_num_fac                                             :  8, // [15:8]
41*5113495bSYour Name                       rtt_rx_chain_mask                                       :  8, // [23:16]
42*5113495bSYour Name                       rtt_num_streams                                         :  8; // [31:24]
43*5113495bSYour Name              uint32_t rtt_first_selected_chain                                :  8, // [7:0]
44*5113495bSYour Name                       rtt_second_selected_chain                               :  8, // [15:8]
45*5113495bSYour Name                       rtt_cfr_status                                          :  8, // [23:16]
46*5113495bSYour Name                       rtt_cir_status                                          :  8; // [31:24]
47*5113495bSYour Name              uint32_t rtt_che_buffer_pointer_low32                            : 32; // [31:0]
48*5113495bSYour Name              uint32_t rtt_che_buffer_pointer_high8                            :  8, // [7:0]
49*5113495bSYour Name                       reserved_3                                              :  8, // [15:8]
50*5113495bSYour Name                       rtt_pkt_bw_vht                                          :  4, // [19:16]
51*5113495bSYour Name                       rtt_pkt_bw_leg                                          :  4, // [23:20]
52*5113495bSYour Name                       rtt_mcs_rate                                            :  8; // [31:24]
53*5113495bSYour Name              uint32_t rtt_cfo_measurement                                     : 16, // [15:0]
54*5113495bSYour Name                       rtt_preamble_type                                       :  8, // [23:16]
55*5113495bSYour Name                       rtt_gi_type                                             :  8; // [31:24]
56*5113495bSYour Name              uint32_t rx_start_ts                                             : 32; // [31:0]
57*5113495bSYour Name              uint32_t rx_start_ts_upper                                       : 32; // [31:0]
58*5113495bSYour Name              uint32_t rx_end_ts                                               : 32; // [31:0]
59*5113495bSYour Name              uint32_t gain_chain0                                             : 16, // [15:0]
60*5113495bSYour Name                       gain_chain1                                             : 16; // [31:16]
61*5113495bSYour Name              uint32_t gain_chain2                                             : 16, // [15:0]
62*5113495bSYour Name                       gain_chain3                                             : 16; // [31:16]
63*5113495bSYour Name              uint32_t gain_report_status                                      :  8, // [7:0]
64*5113495bSYour Name                       rtt_timing_backoff_sel                                  :  8, // [15:8]
65*5113495bSYour Name                       rtt_fac_combined                                        : 16; // [31:16]
66*5113495bSYour Name              uint32_t rtt_fac_0                                               : 16, // [15:0]
67*5113495bSYour Name                       rtt_fac_1                                               : 16; // [31:16]
68*5113495bSYour Name              uint32_t rtt_fac_2                                               : 16, // [15:0]
69*5113495bSYour Name                       rtt_fac_3                                               : 16; // [31:16]
70*5113495bSYour Name              uint32_t rtt_fac_4                                               : 16, // [15:0]
71*5113495bSYour Name                       rtt_fac_5                                               : 16; // [31:16]
72*5113495bSYour Name              uint32_t rtt_fac_6                                               : 16, // [15:0]
73*5113495bSYour Name                       rtt_fac_7                                               : 16; // [31:16]
74*5113495bSYour Name              uint32_t rtt_fac_8                                               : 16, // [15:0]
75*5113495bSYour Name                       rtt_fac_9                                               : 16; // [31:16]
76*5113495bSYour Name              uint32_t rtt_fac_10                                              : 16, // [15:0]
77*5113495bSYour Name                       rtt_fac_11                                              : 16; // [31:16]
78*5113495bSYour Name              uint32_t rtt_fac_12                                              : 16, // [15:0]
79*5113495bSYour Name                       rtt_fac_13                                              : 16; // [31:16]
80*5113495bSYour Name              uint32_t rtt_fac_14                                              : 16, // [15:0]
81*5113495bSYour Name                       rtt_fac_15                                              : 16; // [31:16]
82*5113495bSYour Name              uint32_t rtt_fac_16                                              : 16, // [15:0]
83*5113495bSYour Name                       rtt_fac_17                                              : 16; // [31:16]
84*5113495bSYour Name              uint32_t rtt_fac_18                                              : 16, // [15:0]
85*5113495bSYour Name                       rtt_fac_19                                              : 16; // [31:16]
86*5113495bSYour Name              uint32_t rtt_fac_20                                              : 16, // [15:0]
87*5113495bSYour Name                       rtt_fac_21                                              : 16; // [31:16]
88*5113495bSYour Name              uint32_t rtt_fac_22                                              : 16, // [15:0]
89*5113495bSYour Name                       rtt_fac_23                                              : 16; // [31:16]
90*5113495bSYour Name              uint32_t rtt_fac_24                                              : 16, // [15:0]
91*5113495bSYour Name                       rtt_fac_25                                              : 16; // [31:16]
92*5113495bSYour Name              uint32_t rtt_fac_26                                              : 16, // [15:0]
93*5113495bSYour Name                       rtt_fac_27                                              : 16; // [31:16]
94*5113495bSYour Name              uint32_t rtt_fac_28                                              : 16, // [15:0]
95*5113495bSYour Name                       rtt_fac_29                                              : 16; // [31:16]
96*5113495bSYour Name              uint32_t rtt_fac_30                                              : 16, // [15:0]
97*5113495bSYour Name                       rtt_fac_31                                              : 16; // [31:16]
98*5113495bSYour Name              uint32_t reserved_27a                                            : 32; // [31:0]
99*5113495bSYour Name #else
100*5113495bSYour Name              uint32_t rtt_num_streams                                         :  8, // [31:24]
101*5113495bSYour Name                       rtt_rx_chain_mask                                       :  8, // [23:16]
102*5113495bSYour Name                       rtt_num_fac                                             :  8, // [15:8]
103*5113495bSYour Name                       reserved_0                                              :  4, // [7:4]
104*5113495bSYour Name                       rtt_11az_mode                                           :  2, // [3:2]
105*5113495bSYour Name                       rtt_hw_ifft_mode                                        :  1, // [1:1]
106*5113495bSYour Name                       rx_location_info_valid                                  :  1; // [0:0]
107*5113495bSYour Name              uint32_t rtt_cir_status                                          :  8, // [31:24]
108*5113495bSYour Name                       rtt_cfr_status                                          :  8, // [23:16]
109*5113495bSYour Name                       rtt_second_selected_chain                               :  8, // [15:8]
110*5113495bSYour Name                       rtt_first_selected_chain                                :  8; // [7:0]
111*5113495bSYour Name              uint32_t rtt_che_buffer_pointer_low32                            : 32; // [31:0]
112*5113495bSYour Name              uint32_t rtt_mcs_rate                                            :  8, // [31:24]
113*5113495bSYour Name                       rtt_pkt_bw_leg                                          :  4, // [23:20]
114*5113495bSYour Name                       rtt_pkt_bw_vht                                          :  4, // [19:16]
115*5113495bSYour Name                       reserved_3                                              :  8, // [15:8]
116*5113495bSYour Name                       rtt_che_buffer_pointer_high8                            :  8; // [7:0]
117*5113495bSYour Name              uint32_t rtt_gi_type                                             :  8, // [31:24]
118*5113495bSYour Name                       rtt_preamble_type                                       :  8, // [23:16]
119*5113495bSYour Name                       rtt_cfo_measurement                                     : 16; // [15:0]
120*5113495bSYour Name              uint32_t rx_start_ts                                             : 32; // [31:0]
121*5113495bSYour Name              uint32_t rx_start_ts_upper                                       : 32; // [31:0]
122*5113495bSYour Name              uint32_t rx_end_ts                                               : 32; // [31:0]
123*5113495bSYour Name              uint32_t gain_chain1                                             : 16, // [31:16]
124*5113495bSYour Name                       gain_chain0                                             : 16; // [15:0]
125*5113495bSYour Name              uint32_t gain_chain3                                             : 16, // [31:16]
126*5113495bSYour Name                       gain_chain2                                             : 16; // [15:0]
127*5113495bSYour Name              uint32_t rtt_fac_combined                                        : 16, // [31:16]
128*5113495bSYour Name                       rtt_timing_backoff_sel                                  :  8, // [15:8]
129*5113495bSYour Name                       gain_report_status                                      :  8; // [7:0]
130*5113495bSYour Name              uint32_t rtt_fac_1                                               : 16, // [31:16]
131*5113495bSYour Name                       rtt_fac_0                                               : 16; // [15:0]
132*5113495bSYour Name              uint32_t rtt_fac_3                                               : 16, // [31:16]
133*5113495bSYour Name                       rtt_fac_2                                               : 16; // [15:0]
134*5113495bSYour Name              uint32_t rtt_fac_5                                               : 16, // [31:16]
135*5113495bSYour Name                       rtt_fac_4                                               : 16; // [15:0]
136*5113495bSYour Name              uint32_t rtt_fac_7                                               : 16, // [31:16]
137*5113495bSYour Name                       rtt_fac_6                                               : 16; // [15:0]
138*5113495bSYour Name              uint32_t rtt_fac_9                                               : 16, // [31:16]
139*5113495bSYour Name                       rtt_fac_8                                               : 16; // [15:0]
140*5113495bSYour Name              uint32_t rtt_fac_11                                              : 16, // [31:16]
141*5113495bSYour Name                       rtt_fac_10                                              : 16; // [15:0]
142*5113495bSYour Name              uint32_t rtt_fac_13                                              : 16, // [31:16]
143*5113495bSYour Name                       rtt_fac_12                                              : 16; // [15:0]
144*5113495bSYour Name              uint32_t rtt_fac_15                                              : 16, // [31:16]
145*5113495bSYour Name                       rtt_fac_14                                              : 16; // [15:0]
146*5113495bSYour Name              uint32_t rtt_fac_17                                              : 16, // [31:16]
147*5113495bSYour Name                       rtt_fac_16                                              : 16; // [15:0]
148*5113495bSYour Name              uint32_t rtt_fac_19                                              : 16, // [31:16]
149*5113495bSYour Name                       rtt_fac_18                                              : 16; // [15:0]
150*5113495bSYour Name              uint32_t rtt_fac_21                                              : 16, // [31:16]
151*5113495bSYour Name                       rtt_fac_20                                              : 16; // [15:0]
152*5113495bSYour Name              uint32_t rtt_fac_23                                              : 16, // [31:16]
153*5113495bSYour Name                       rtt_fac_22                                              : 16; // [15:0]
154*5113495bSYour Name              uint32_t rtt_fac_25                                              : 16, // [31:16]
155*5113495bSYour Name                       rtt_fac_24                                              : 16; // [15:0]
156*5113495bSYour Name              uint32_t rtt_fac_27                                              : 16, // [31:16]
157*5113495bSYour Name                       rtt_fac_26                                              : 16; // [15:0]
158*5113495bSYour Name              uint32_t rtt_fac_29                                              : 16, // [31:16]
159*5113495bSYour Name                       rtt_fac_28                                              : 16; // [15:0]
160*5113495bSYour Name              uint32_t rtt_fac_31                                              : 16, // [31:16]
161*5113495bSYour Name                       rtt_fac_30                                              : 16; // [15:0]
162*5113495bSYour Name              uint32_t reserved_27a                                            : 32; // [31:0]
163*5113495bSYour Name #endif
164*5113495bSYour Name };
165*5113495bSYour Name 
166*5113495bSYour Name 
167*5113495bSYour Name /* Description		RX_LOCATION_INFO_VALID
168*5113495bSYour Name 
169*5113495bSYour Name 			<enum 0 rx_location_info_is_not_valid>
170*5113495bSYour Name 			<enum 1 rx_location_info_is_valid>
171*5113495bSYour Name 			<legal all>
172*5113495bSYour Name */
173*5113495bSYour Name 
174*5113495bSYour Name #define RX_LOCATION_INFO_RX_LOCATION_INFO_VALID_OFFSET                              0x00000000
175*5113495bSYour Name #define RX_LOCATION_INFO_RX_LOCATION_INFO_VALID_LSB                                 0
176*5113495bSYour Name #define RX_LOCATION_INFO_RX_LOCATION_INFO_VALID_MSB                                 0
177*5113495bSYour Name #define RX_LOCATION_INFO_RX_LOCATION_INFO_VALID_MASK                                0x00000001
178*5113495bSYour Name 
179*5113495bSYour Name 
180*5113495bSYour Name /* Description		RTT_HW_IFFT_MODE
181*5113495bSYour Name 
182*5113495bSYour Name 			Indicator showing if HW IFFT mode or SW IFFT mode
183*5113495bSYour Name 
184*5113495bSYour Name 			<enum 0 location_sw_ifft_mode>
185*5113495bSYour Name 			<enum 1 location_hw_ifft_mode>
186*5113495bSYour Name 			<legal all>
187*5113495bSYour Name */
188*5113495bSYour Name 
189*5113495bSYour Name #define RX_LOCATION_INFO_RTT_HW_IFFT_MODE_OFFSET                                    0x00000000
190*5113495bSYour Name #define RX_LOCATION_INFO_RTT_HW_IFFT_MODE_LSB                                       1
191*5113495bSYour Name #define RX_LOCATION_INFO_RTT_HW_IFFT_MODE_MSB                                       1
192*5113495bSYour Name #define RX_LOCATION_INFO_RTT_HW_IFFT_MODE_MASK                                      0x00000002
193*5113495bSYour Name 
194*5113495bSYour Name 
195*5113495bSYour Name /* Description		RTT_11AZ_MODE
196*5113495bSYour Name 
197*5113495bSYour Name 			Indicator showing RTT5/.11mc or .11az mode for debug
198*5113495bSYour Name 
199*5113495bSYour Name 			<enum 0 location_rtt5_mode> legacy RTT5/.11mc mode
200*5113495bSYour Name 			<enum 1 location_11az_ISTA> .11az ISTA location info. sent
201*5113495bSYour Name 			 on Rx path after receiving R2I LMR
202*5113495bSYour Name 			<enum 2 location_RSVD>
203*5113495bSYour Name 			<enum 3 location_11az_RSTA> .11az RSTA location info. sent
204*5113495bSYour Name 			 on Tx path after transmitting R2I LMR
205*5113495bSYour Name 			<legal all>
206*5113495bSYour Name */
207*5113495bSYour Name 
208*5113495bSYour Name #define RX_LOCATION_INFO_RTT_11AZ_MODE_OFFSET                                       0x00000000
209*5113495bSYour Name #define RX_LOCATION_INFO_RTT_11AZ_MODE_LSB                                          2
210*5113495bSYour Name #define RX_LOCATION_INFO_RTT_11AZ_MODE_MSB                                          3
211*5113495bSYour Name #define RX_LOCATION_INFO_RTT_11AZ_MODE_MASK                                         0x0000000c
212*5113495bSYour Name 
213*5113495bSYour Name 
214*5113495bSYour Name /* Description		RESERVED_0
215*5113495bSYour Name 
216*5113495bSYour Name 			<legal 0>
217*5113495bSYour Name */
218*5113495bSYour Name 
219*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_0_OFFSET                                          0x00000000
220*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_0_LSB                                             4
221*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_0_MSB                                             7
222*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_0_MASK                                            0x000000f0
223*5113495bSYour Name 
224*5113495bSYour Name 
225*5113495bSYour Name /* Description		RTT_NUM_FAC
226*5113495bSYour Name 
227*5113495bSYour Name 			Number of valid first arrival correction (FAC) values (in
228*5113495bSYour Name 			 fields rtt_fac_0 - rtt_fac_31)
229*5113495bSYour Name 			<legal 0-32>
230*5113495bSYour Name */
231*5113495bSYour Name 
232*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_FAC_OFFSET                                         0x00000000
233*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_FAC_LSB                                            8
234*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_FAC_MSB                                            15
235*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_FAC_MASK                                           0x0000ff00
236*5113495bSYour Name 
237*5113495bSYour Name 
238*5113495bSYour Name /* Description		RTT_RX_CHAIN_MASK
239*5113495bSYour Name 
240*5113495bSYour Name 			Rx chain mask, each bit is a Rx chain
241*5113495bSYour Name 			0: the Rx chain is not used
242*5113495bSYour Name 			1: the Rx chain is used
243*5113495bSYour Name 
244*5113495bSYour Name 			Up to 4 Rx chains are supported.
245*5113495bSYour Name 
246*5113495bSYour Name 			<legal all>
247*5113495bSYour Name */
248*5113495bSYour Name 
249*5113495bSYour Name #define RX_LOCATION_INFO_RTT_RX_CHAIN_MASK_OFFSET                                   0x00000000
250*5113495bSYour Name #define RX_LOCATION_INFO_RTT_RX_CHAIN_MASK_LSB                                      16
251*5113495bSYour Name #define RX_LOCATION_INFO_RTT_RX_CHAIN_MASK_MSB                                      23
252*5113495bSYour Name #define RX_LOCATION_INFO_RTT_RX_CHAIN_MASK_MASK                                     0x00ff0000
253*5113495bSYour Name 
254*5113495bSYour Name 
255*5113495bSYour Name /* Description		RTT_NUM_STREAMS
256*5113495bSYour Name 
257*5113495bSYour Name 			Number of streams used
258*5113495bSYour Name 
259*5113495bSYour Name 			Up to 8 streams are supported.
260*5113495bSYour Name 
261*5113495bSYour Name 			<legal 0-8>
262*5113495bSYour Name */
263*5113495bSYour Name 
264*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_STREAMS_OFFSET                                     0x00000000
265*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_STREAMS_LSB                                        24
266*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_STREAMS_MSB                                        31
267*5113495bSYour Name #define RX_LOCATION_INFO_RTT_NUM_STREAMS_MASK                                       0xff000000
268*5113495bSYour Name 
269*5113495bSYour Name 
270*5113495bSYour Name /* Description		RTT_FIRST_SELECTED_CHAIN
271*5113495bSYour Name 
272*5113495bSYour Name 			For legacy RTT5/.11mc mode, this field shows the first selected
273*5113495bSYour Name 			 Rx chain that is used for FAC calculations, when forced
274*5113495bSYour Name 			 by a virtual register.
275*5113495bSYour Name 
276*5113495bSYour Name 			<enum 0 location_selected_chain_is_0>
277*5113495bSYour Name 			<enum 1 location_selected_chain_is_1>
278*5113495bSYour Name 			<enum 2 location_selected_chain_is_2>
279*5113495bSYour Name 			<enum 3 location_selected_chain_is_3>
280*5113495bSYour Name 			<legal 0-3>
281*5113495bSYour Name */
282*5113495bSYour Name 
283*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FIRST_SELECTED_CHAIN_OFFSET                            0x00000004
284*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FIRST_SELECTED_CHAIN_LSB                               0
285*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FIRST_SELECTED_CHAIN_MSB                               7
286*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FIRST_SELECTED_CHAIN_MASK                              0x000000ff
287*5113495bSYour Name 
288*5113495bSYour Name 
289*5113495bSYour Name /* Description		RTT_SECOND_SELECTED_CHAIN
290*5113495bSYour Name 
291*5113495bSYour Name 			For legacy RTT5/.11mc mode, this field shows the second
292*5113495bSYour Name 			selected Rx chain that is used for FAC calculations, when
293*5113495bSYour Name 			 forced by a virtual register.
294*5113495bSYour Name 
295*5113495bSYour Name 			<enum 0 location_selected_chain_is_0>
296*5113495bSYour Name 			<enum 1 location_selected_chain_is_1>
297*5113495bSYour Name 			<enum 2 location_selected_chain_is_2>
298*5113495bSYour Name 			<enum 3 location_selected_chain_is_3>
299*5113495bSYour Name 			<legal 0-3>
300*5113495bSYour Name */
301*5113495bSYour Name 
302*5113495bSYour Name #define RX_LOCATION_INFO_RTT_SECOND_SELECTED_CHAIN_OFFSET                           0x00000004
303*5113495bSYour Name #define RX_LOCATION_INFO_RTT_SECOND_SELECTED_CHAIN_LSB                              8
304*5113495bSYour Name #define RX_LOCATION_INFO_RTT_SECOND_SELECTED_CHAIN_MSB                              15
305*5113495bSYour Name #define RX_LOCATION_INFO_RTT_SECOND_SELECTED_CHAIN_MASK                             0x0000ff00
306*5113495bSYour Name 
307*5113495bSYour Name 
308*5113495bSYour Name /* Description		RTT_CFR_STATUS
309*5113495bSYour Name 
310*5113495bSYour Name 			Status of channel frequency response dump
311*5113495bSYour Name 
312*5113495bSYour Name 			<enum 0 location_CFR_dump_not_valid>
313*5113495bSYour Name 			<enum 1 location_CFR_dump_valid>
314*5113495bSYour Name 			<legal 0-1>
315*5113495bSYour Name */
316*5113495bSYour Name 
317*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFR_STATUS_OFFSET                                      0x00000004
318*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFR_STATUS_LSB                                         16
319*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFR_STATUS_MSB                                         23
320*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFR_STATUS_MASK                                        0x00ff0000
321*5113495bSYour Name 
322*5113495bSYour Name 
323*5113495bSYour Name /* Description		RTT_CIR_STATUS
324*5113495bSYour Name 
325*5113495bSYour Name 			Status of channel impulse response dump
326*5113495bSYour Name 
327*5113495bSYour Name 			<enum 0 location_CIR_dump_not_valid>
328*5113495bSYour Name 			<enum 1 location_CIR_dump_valid>
329*5113495bSYour Name 			<legal 0-1>
330*5113495bSYour Name */
331*5113495bSYour Name 
332*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CIR_STATUS_OFFSET                                      0x00000004
333*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CIR_STATUS_LSB                                         24
334*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CIR_STATUS_MSB                                         31
335*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CIR_STATUS_MASK                                        0xff000000
336*5113495bSYour Name 
337*5113495bSYour Name 
338*5113495bSYour Name /* Description		RTT_CHE_BUFFER_POINTER_LOW32
339*5113495bSYour Name 
340*5113495bSYour Name 			The low 32 bits of the 40 bits pointer pointed to the external
341*5113495bSYour Name 			 RTT channel information buffer
342*5113495bSYour Name 			<legal all>
343*5113495bSYour Name */
344*5113495bSYour Name 
345*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_LOW32_OFFSET                        0x00000008
346*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_LOW32_LSB                           0
347*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_LOW32_MSB                           31
348*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_LOW32_MASK                          0xffffffff
349*5113495bSYour Name 
350*5113495bSYour Name 
351*5113495bSYour Name /* Description		RTT_CHE_BUFFER_POINTER_HIGH8
352*5113495bSYour Name 
353*5113495bSYour Name 			The high 8 bits of the 40 bits pointer pointed to the external
354*5113495bSYour Name 			 RTT channel information buffer
355*5113495bSYour Name 			<legal all>
356*5113495bSYour Name */
357*5113495bSYour Name 
358*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_HIGH8_OFFSET                        0x0000000c
359*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_HIGH8_LSB                           0
360*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_HIGH8_MSB                           7
361*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CHE_BUFFER_POINTER_HIGH8_MASK                          0x000000ff
362*5113495bSYour Name 
363*5113495bSYour Name 
364*5113495bSYour Name /* Description		RESERVED_3
365*5113495bSYour Name 
366*5113495bSYour Name 			<legal 0>
367*5113495bSYour Name */
368*5113495bSYour Name 
369*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_3_OFFSET                                          0x0000000c
370*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_3_LSB                                             8
371*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_3_MSB                                             15
372*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_3_MASK                                            0x0000ff00
373*5113495bSYour Name 
374*5113495bSYour Name 
375*5113495bSYour Name /* Description		RTT_PKT_BW_VHT
376*5113495bSYour Name 
377*5113495bSYour Name 			Indicate the bandwidth of (V)HT/HE-LTF
378*5113495bSYour Name 
379*5113495bSYour Name 			<enum 0 location_pkt_bw_20MHz>
380*5113495bSYour Name 			<enum 1 location_pkt_bw_40MHz>
381*5113495bSYour Name 			<enum 2 location_pkt_bw_80MHz>
382*5113495bSYour Name 			<enum 3 location_pkt_bw_160MHz>
383*5113495bSYour Name 			<enum 4 location_pkt_bw_240MHz> Only valid for CFR, FAC
384*5113495bSYour Name 			calculations are not PoR for 240 MHz.
385*5113495bSYour Name 			<enum 5 location_pkt_bw_320MHz> Only valid for CFR, FAC
386*5113495bSYour Name 			calculations are not PoR for 320 MHz.
387*5113495bSYour Name 			<legal 0-5>
388*5113495bSYour Name */
389*5113495bSYour Name 
390*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_VHT_OFFSET                                      0x0000000c
391*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_VHT_LSB                                         16
392*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_VHT_MSB                                         19
393*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_VHT_MASK                                        0x000f0000
394*5113495bSYour Name 
395*5113495bSYour Name 
396*5113495bSYour Name /* Description		RTT_PKT_BW_LEG
397*5113495bSYour Name 
398*5113495bSYour Name 			Indicate the bandwidth of L-LTF
399*5113495bSYour Name 
400*5113495bSYour Name 			<enum 0 location_pkt_bw_20MHz>
401*5113495bSYour Name 			<enum 1 location_pkt_bw_40MHz>
402*5113495bSYour Name 			<enum 2 location_pkt_bw_80MHz>
403*5113495bSYour Name 			<enum 3 location_pkt_bw_160MHz>
404*5113495bSYour Name 			<enum 4 location_pkt_bw_240MHz> Only valid for CFR, FAC
405*5113495bSYour Name 			calculations are not PoR for 240 MHz.
406*5113495bSYour Name 			<enum 5 location_pkt_bw_320MHz> Only valid for CFR, FAC
407*5113495bSYour Name 			calculations are not PoR for 320 MHz.
408*5113495bSYour Name 			<legal 0-5>
409*5113495bSYour Name */
410*5113495bSYour Name 
411*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_LEG_OFFSET                                      0x0000000c
412*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_LEG_LSB                                         20
413*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_LEG_MSB                                         23
414*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PKT_BW_LEG_MASK                                        0x00f00000
415*5113495bSYour Name 
416*5113495bSYour Name 
417*5113495bSYour Name /* Description		RTT_MCS_RATE
418*5113495bSYour Name 
419*5113495bSYour Name 			Bits 0~4 indicate MCS rate, if Legacy,
420*5113495bSYour Name 			0: 48 Mbps,
421*5113495bSYour Name 			1: 24 Mbps,
422*5113495bSYour Name 			2: 12 Mbps,
423*5113495bSYour Name 			3: 6 Mbps,
424*5113495bSYour Name 			4: 54 Mbps,
425*5113495bSYour Name 			5: 36 Mbps,
426*5113495bSYour Name 			6: 18 Mbps,
427*5113495bSYour Name 			7: 9 Mbps,
428*5113495bSYour Name 			8-15: reserved
429*5113495bSYour Name 
430*5113495bSYour Name 			if HT, 0-7: MCS0-MCS7, 8-15: reserved,
431*5113495bSYour Name 			if VHT, 0-9: MCS0-MCS9, 10-15: reserved,
432*5113495bSYour Name 			if HE or EHT, 0-11: MCS0-MCS11, 12-13: 4096QAM, 14-15: reserved
433*5113495bSYour Name 
434*5113495bSYour Name 			<legal all>
435*5113495bSYour Name */
436*5113495bSYour Name 
437*5113495bSYour Name #define RX_LOCATION_INFO_RTT_MCS_RATE_OFFSET                                        0x0000000c
438*5113495bSYour Name #define RX_LOCATION_INFO_RTT_MCS_RATE_LSB                                           24
439*5113495bSYour Name #define RX_LOCATION_INFO_RTT_MCS_RATE_MSB                                           31
440*5113495bSYour Name #define RX_LOCATION_INFO_RTT_MCS_RATE_MASK                                          0xff000000
441*5113495bSYour Name 
442*5113495bSYour Name 
443*5113495bSYour Name /* Description		RTT_CFO_MEASUREMENT
444*5113495bSYour Name 
445*5113495bSYour Name 			CFO measurement. Needed for passive locationing
446*5113495bSYour Name 
447*5113495bSYour Name 			14 bits, signed 1.13. 13 bits fraction to provide a resolution
448*5113495bSYour Name 			 of 153 Hz
449*5113495bSYour Name 
450*5113495bSYour Name 			In units of cycles/800 ns
451*5113495bSYour Name 			<legal 0-16383>
452*5113495bSYour Name */
453*5113495bSYour Name 
454*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFO_MEASUREMENT_OFFSET                                 0x00000010
455*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFO_MEASUREMENT_LSB                                    0
456*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFO_MEASUREMENT_MSB                                    15
457*5113495bSYour Name #define RX_LOCATION_INFO_RTT_CFO_MEASUREMENT_MASK                                   0x0000ffff
458*5113495bSYour Name 
459*5113495bSYour Name 
460*5113495bSYour Name /* Description		RTT_PREAMBLE_TYPE
461*5113495bSYour Name 
462*5113495bSYour Name 			Indicate preamble type
463*5113495bSYour Name 
464*5113495bSYour Name 			<enum 0 location_preamble_type_legacy>
465*5113495bSYour Name 			<enum 1 location_preamble_type_ht>
466*5113495bSYour Name 			<enum 2 location_preamble_type_vht>
467*5113495bSYour Name 			<enum 3 location_preamble_type_he_su_4xltf>
468*5113495bSYour Name 			<enum 4 location_preamble_type_he_su_2xltf>
469*5113495bSYour Name 			<enum 5 location_preamble_type_he_su_1xltf>
470*5113495bSYour Name 			<enum 6 location_preamble_type_he_trigger_based_ul_4xltf>
471*5113495bSYour Name 
472*5113495bSYour Name 			<enum 7 location_preamble_type_he_trigger_based_ul_2xltf>
473*5113495bSYour Name 
474*5113495bSYour Name 			<enum 8 location_preamble_type_he_trigger_based_ul_1xltf>
475*5113495bSYour Name 
476*5113495bSYour Name 			<enum 9 location_preamble_type_he_mu_4xltf>
477*5113495bSYour Name 			<enum 10 location_preamble_type_he_mu_2xltf>
478*5113495bSYour Name 			<enum 11 location_preamble_type_he_mu_1xltf>
479*5113495bSYour Name 			<enum 12 location_preamble_type_he_extended_range_su_4xltf>
480*5113495bSYour Name 
481*5113495bSYour Name 			<enum 13 location_preamble_type_he_extended_range_su_2xltf>
482*5113495bSYour Name 
483*5113495bSYour Name 			<enum 14 location_preamble_type_he_extended_range_su_1xltf>
484*5113495bSYour Name 
485*5113495bSYour Name 			<legal 0-14>
486*5113495bSYour Name */
487*5113495bSYour Name 
488*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PREAMBLE_TYPE_OFFSET                                   0x00000010
489*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PREAMBLE_TYPE_LSB                                      16
490*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PREAMBLE_TYPE_MSB                                      23
491*5113495bSYour Name #define RX_LOCATION_INFO_RTT_PREAMBLE_TYPE_MASK                                     0x00ff0000
492*5113495bSYour Name 
493*5113495bSYour Name 
494*5113495bSYour Name /* Description		RTT_GI_TYPE
495*5113495bSYour Name 
496*5113495bSYour Name 			Indicate GI (guard interval) type
497*5113495bSYour Name 
498*5113495bSYour Name 			<enum 0 location_gi_0_8_us > HE related GI. Can also be
499*5113495bSYour Name 			used for HE
500*5113495bSYour Name 			<enum 1 location_gi_0_4_us > HE related GI. Can also be
501*5113495bSYour Name 			used for HE
502*5113495bSYour Name 			<enum 2 location_gi_1_6_us > HE related GI
503*5113495bSYour Name 			<enum 3 location_gi_3_2_us > HE related GI
504*5113495bSYour Name 			<legal 0 - 3>
505*5113495bSYour Name */
506*5113495bSYour Name 
507*5113495bSYour Name #define RX_LOCATION_INFO_RTT_GI_TYPE_OFFSET                                         0x00000010
508*5113495bSYour Name #define RX_LOCATION_INFO_RTT_GI_TYPE_LSB                                            24
509*5113495bSYour Name #define RX_LOCATION_INFO_RTT_GI_TYPE_MSB                                            31
510*5113495bSYour Name #define RX_LOCATION_INFO_RTT_GI_TYPE_MASK                                           0xff000000
511*5113495bSYour Name 
512*5113495bSYour Name 
513*5113495bSYour Name /* Description		RX_START_TS
514*5113495bSYour Name 
515*5113495bSYour Name 			RX packet start timestamp lower 32 bits
516*5113495bSYour Name 
517*5113495bSYour Name 			It reports the time the first L-STF ADC sample arrived at
518*5113495bSYour Name 			 RX antenna.
519*5113495bSYour Name 
520*5113495bSYour Name 			The clock unit is 960MHz.
521*5113495bSYour Name 			<legal all>
522*5113495bSYour Name */
523*5113495bSYour Name 
524*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_OFFSET                                         0x00000014
525*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_LSB                                            0
526*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_MSB                                            31
527*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_MASK                                           0xffffffff
528*5113495bSYour Name 
529*5113495bSYour Name 
530*5113495bSYour Name /* Description		RX_START_TS_UPPER
531*5113495bSYour Name 
532*5113495bSYour Name 			RX packet start timestamp upper 32 bits
533*5113495bSYour Name 
534*5113495bSYour Name 			It reports the time the first L-STF ADC sample arrived at
535*5113495bSYour Name 			 RX antenna.
536*5113495bSYour Name 
537*5113495bSYour Name 			The clock unit is 960MHz.
538*5113495bSYour Name 			<legal all>
539*5113495bSYour Name */
540*5113495bSYour Name 
541*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_UPPER_OFFSET                                   0x00000018
542*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_UPPER_LSB                                      0
543*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_UPPER_MSB                                      31
544*5113495bSYour Name #define RX_LOCATION_INFO_RX_START_TS_UPPER_MASK                                     0xffffffff
545*5113495bSYour Name 
546*5113495bSYour Name 
547*5113495bSYour Name /* Description		RX_END_TS
548*5113495bSYour Name 
549*5113495bSYour Name 			RX packet end timestamp lower 32 bits
550*5113495bSYour Name 
551*5113495bSYour Name 			It reports the time the last symbol's last ADC sample arrived
552*5113495bSYour Name 			 at RX antenna.
553*5113495bSYour Name 
554*5113495bSYour Name 			The clock unit is 960MHz. Only 32 bits are reported.
555*5113495bSYour Name 			<legal all>
556*5113495bSYour Name */
557*5113495bSYour Name 
558*5113495bSYour Name #define RX_LOCATION_INFO_RX_END_TS_OFFSET                                           0x0000001c
559*5113495bSYour Name #define RX_LOCATION_INFO_RX_END_TS_LSB                                              0
560*5113495bSYour Name #define RX_LOCATION_INFO_RX_END_TS_MSB                                              31
561*5113495bSYour Name #define RX_LOCATION_INFO_RX_END_TS_MASK                                             0xffffffff
562*5113495bSYour Name 
563*5113495bSYour Name 
564*5113495bSYour Name /* Description		GAIN_CHAIN0
565*5113495bSYour Name 
566*5113495bSYour Name 			Reports the total gain in dB and the gain table index to
567*5113495bSYour Name 			 support angle of arrival for chain0
568*5113495bSYour Name */
569*5113495bSYour Name 
570*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN0_OFFSET                                         0x00000020
571*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN0_LSB                                            0
572*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN0_MSB                                            15
573*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN0_MASK                                           0x0000ffff
574*5113495bSYour Name 
575*5113495bSYour Name 
576*5113495bSYour Name /* Description		GAIN_CHAIN1
577*5113495bSYour Name 
578*5113495bSYour Name 			Reports the total gain in dB and the gain table index to
579*5113495bSYour Name 			 support angle of arrival for chain1
580*5113495bSYour Name */
581*5113495bSYour Name 
582*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN1_OFFSET                                         0x00000020
583*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN1_LSB                                            16
584*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN1_MSB                                            31
585*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN1_MASK                                           0xffff0000
586*5113495bSYour Name 
587*5113495bSYour Name 
588*5113495bSYour Name /* Description		GAIN_CHAIN2
589*5113495bSYour Name 
590*5113495bSYour Name 			Reports the total gain in dB and the gain table index to
591*5113495bSYour Name 			 support angle of arrival for chain2
592*5113495bSYour Name */
593*5113495bSYour Name 
594*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN2_OFFSET                                         0x00000024
595*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN2_LSB                                            0
596*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN2_MSB                                            15
597*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN2_MASK                                           0x0000ffff
598*5113495bSYour Name 
599*5113495bSYour Name 
600*5113495bSYour Name /* Description		GAIN_CHAIN3
601*5113495bSYour Name 
602*5113495bSYour Name 			Reports the total gain in dB and the gain table index to
603*5113495bSYour Name 			 support angle of arrival for chain3
604*5113495bSYour Name */
605*5113495bSYour Name 
606*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN3_OFFSET                                         0x00000024
607*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN3_LSB                                            16
608*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN3_MSB                                            31
609*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_CHAIN3_MASK                                           0xffff0000
610*5113495bSYour Name 
611*5113495bSYour Name 
612*5113495bSYour Name /* Description		GAIN_REPORT_STATUS
613*5113495bSYour Name 
614*5113495bSYour Name 			Number of valid gain reports (in fields gain_chain0 - gain_chain_3)
615*5113495bSYour Name 
616*5113495bSYour Name 			<legal 0-4>
617*5113495bSYour Name */
618*5113495bSYour Name 
619*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_REPORT_STATUS_OFFSET                                  0x00000028
620*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_REPORT_STATUS_LSB                                     0
621*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_REPORT_STATUS_MSB                                     7
622*5113495bSYour Name #define RX_LOCATION_INFO_GAIN_REPORT_STATUS_MASK                                    0x000000ff
623*5113495bSYour Name 
624*5113495bSYour Name 
625*5113495bSYour Name /* Description		RTT_TIMING_BACKOFF_SEL
626*5113495bSYour Name 
627*5113495bSYour Name 			Indicate which timing backoff value is used
628*5113495bSYour Name 
629*5113495bSYour Name 			<enum 0 timing_backoff_low_rssi>
630*5113495bSYour Name 			<enum 1 timing_backoff_mid_rssi>
631*5113495bSYour Name 			<enum 2 timing_backoff_high_rssi>
632*5113495bSYour Name 			<enum 3 reserved>
633*5113495bSYour Name 			<legal 0-3>
634*5113495bSYour Name */
635*5113495bSYour Name 
636*5113495bSYour Name #define RX_LOCATION_INFO_RTT_TIMING_BACKOFF_SEL_OFFSET                              0x00000028
637*5113495bSYour Name #define RX_LOCATION_INFO_RTT_TIMING_BACKOFF_SEL_LSB                                 8
638*5113495bSYour Name #define RX_LOCATION_INFO_RTT_TIMING_BACKOFF_SEL_MSB                                 15
639*5113495bSYour Name #define RX_LOCATION_INFO_RTT_TIMING_BACKOFF_SEL_MASK                                0x0000ff00
640*5113495bSYour Name 
641*5113495bSYour Name 
642*5113495bSYour Name /* Description		RTT_FAC_COMBINED
643*5113495bSYour Name 
644*5113495bSYour Name 			Final adjusted and combined first arrival correction value
645*5113495bSYour Name 
646*5113495bSYour Name 			<legal all>
647*5113495bSYour Name */
648*5113495bSYour Name 
649*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_COMBINED_OFFSET                                    0x00000028
650*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_COMBINED_LSB                                       16
651*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_COMBINED_MSB                                       31
652*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_COMBINED_MASK                                      0xffff0000
653*5113495bSYour Name 
654*5113495bSYour Name 
655*5113495bSYour Name /* Description		RTT_FAC_0
656*5113495bSYour Name 
657*5113495bSYour Name 			The fields 'rtt_fac_0' - 'rtt_fac_31' show the RTT first
658*5113495bSYour Name 			 arrival correction (FAC) value computed from the LTFs on
659*5113495bSYour Name 			 the selected Rx chains.
660*5113495bSYour Name 
661*5113495bSYour Name 			16 bits, signed 11.5. 11 integer bits to cover -3.2us to
662*5113495bSYour Name 			 3.2us, and 5 fraction bits to cover 160 MHz with 32x FAC
663*5113495bSYour Name 			 interpolation.
664*5113495bSYour Name 
665*5113495bSYour Name 			The clock unit is 320MHz.
666*5113495bSYour Name 
667*5113495bSYour Name 			For .11az/MIMO, the FACs will be stored in spatial stream
668*5113495bSYour Name 			 order with multiple chains reported together for each stream. [ss0-ch0,
669*5113495bSYour Name 			ss0-ch1, ..., ss1-ch0, ss1-ch1, ...]
670*5113495bSYour Name 
671*5113495bSYour Name 			For legacy RTT5/.11mc, the FACs will be stored in preamble
672*5113495bSYour Name 			 order with multiple chains reported together for each LTF. [legacy-ch0,
673*5113495bSYour Name 			legacy-ch1, ..., (v)ht/he-ch0, (v)ht/he-ch1, ...]
674*5113495bSYour Name */
675*5113495bSYour Name 
676*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_0_OFFSET                                           0x0000002c
677*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_0_LSB                                              0
678*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_0_MSB                                              15
679*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_0_MASK                                             0x0000ffff
680*5113495bSYour Name 
681*5113495bSYour Name 
682*5113495bSYour Name /* Description		RTT_FAC_1
683*5113495bSYour Name 
684*5113495bSYour Name 			See 'rtt_fac_0' description
685*5113495bSYour Name */
686*5113495bSYour Name 
687*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_1_OFFSET                                           0x0000002c
688*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_1_LSB                                              16
689*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_1_MSB                                              31
690*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_1_MASK                                             0xffff0000
691*5113495bSYour Name 
692*5113495bSYour Name 
693*5113495bSYour Name /* Description		RTT_FAC_2
694*5113495bSYour Name 
695*5113495bSYour Name 			See 'rtt_fac_0' description
696*5113495bSYour Name */
697*5113495bSYour Name 
698*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_2_OFFSET                                           0x00000030
699*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_2_LSB                                              0
700*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_2_MSB                                              15
701*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_2_MASK                                             0x0000ffff
702*5113495bSYour Name 
703*5113495bSYour Name 
704*5113495bSYour Name /* Description		RTT_FAC_3
705*5113495bSYour Name 
706*5113495bSYour Name 			See 'rtt_fac_0' description
707*5113495bSYour Name */
708*5113495bSYour Name 
709*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_3_OFFSET                                           0x00000030
710*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_3_LSB                                              16
711*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_3_MSB                                              31
712*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_3_MASK                                             0xffff0000
713*5113495bSYour Name 
714*5113495bSYour Name 
715*5113495bSYour Name /* Description		RTT_FAC_4
716*5113495bSYour Name 
717*5113495bSYour Name 			See 'rtt_fac_0' description
718*5113495bSYour Name */
719*5113495bSYour Name 
720*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_4_OFFSET                                           0x00000034
721*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_4_LSB                                              0
722*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_4_MSB                                              15
723*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_4_MASK                                             0x0000ffff
724*5113495bSYour Name 
725*5113495bSYour Name 
726*5113495bSYour Name /* Description		RTT_FAC_5
727*5113495bSYour Name 
728*5113495bSYour Name 			See 'rtt_fac_0' description
729*5113495bSYour Name */
730*5113495bSYour Name 
731*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_5_OFFSET                                           0x00000034
732*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_5_LSB                                              16
733*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_5_MSB                                              31
734*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_5_MASK                                             0xffff0000
735*5113495bSYour Name 
736*5113495bSYour Name 
737*5113495bSYour Name /* Description		RTT_FAC_6
738*5113495bSYour Name 
739*5113495bSYour Name 			See 'rtt_fac_0' description
740*5113495bSYour Name */
741*5113495bSYour Name 
742*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_6_OFFSET                                           0x00000038
743*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_6_LSB                                              0
744*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_6_MSB                                              15
745*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_6_MASK                                             0x0000ffff
746*5113495bSYour Name 
747*5113495bSYour Name 
748*5113495bSYour Name /* Description		RTT_FAC_7
749*5113495bSYour Name 
750*5113495bSYour Name 			See 'rtt_fac_0' description
751*5113495bSYour Name */
752*5113495bSYour Name 
753*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_7_OFFSET                                           0x00000038
754*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_7_LSB                                              16
755*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_7_MSB                                              31
756*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_7_MASK                                             0xffff0000
757*5113495bSYour Name 
758*5113495bSYour Name 
759*5113495bSYour Name /* Description		RTT_FAC_8
760*5113495bSYour Name 
761*5113495bSYour Name 			See 'rtt_fac_0' description
762*5113495bSYour Name */
763*5113495bSYour Name 
764*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_8_OFFSET                                           0x0000003c
765*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_8_LSB                                              0
766*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_8_MSB                                              15
767*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_8_MASK                                             0x0000ffff
768*5113495bSYour Name 
769*5113495bSYour Name 
770*5113495bSYour Name /* Description		RTT_FAC_9
771*5113495bSYour Name 
772*5113495bSYour Name 			See 'rtt_fac_0' description
773*5113495bSYour Name */
774*5113495bSYour Name 
775*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_9_OFFSET                                           0x0000003c
776*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_9_LSB                                              16
777*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_9_MSB                                              31
778*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_9_MASK                                             0xffff0000
779*5113495bSYour Name 
780*5113495bSYour Name 
781*5113495bSYour Name /* Description		RTT_FAC_10
782*5113495bSYour Name 
783*5113495bSYour Name 			See 'rtt_fac_0' description
784*5113495bSYour Name */
785*5113495bSYour Name 
786*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_10_OFFSET                                          0x00000040
787*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_10_LSB                                             0
788*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_10_MSB                                             15
789*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_10_MASK                                            0x0000ffff
790*5113495bSYour Name 
791*5113495bSYour Name 
792*5113495bSYour Name /* Description		RTT_FAC_11
793*5113495bSYour Name 
794*5113495bSYour Name 			See 'rtt_fac_0' description
795*5113495bSYour Name */
796*5113495bSYour Name 
797*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_11_OFFSET                                          0x00000040
798*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_11_LSB                                             16
799*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_11_MSB                                             31
800*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_11_MASK                                            0xffff0000
801*5113495bSYour Name 
802*5113495bSYour Name 
803*5113495bSYour Name /* Description		RTT_FAC_12
804*5113495bSYour Name 
805*5113495bSYour Name 			See 'rtt_fac_0' description
806*5113495bSYour Name */
807*5113495bSYour Name 
808*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_12_OFFSET                                          0x00000044
809*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_12_LSB                                             0
810*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_12_MSB                                             15
811*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_12_MASK                                            0x0000ffff
812*5113495bSYour Name 
813*5113495bSYour Name 
814*5113495bSYour Name /* Description		RTT_FAC_13
815*5113495bSYour Name 
816*5113495bSYour Name 			See 'rtt_fac_0' description
817*5113495bSYour Name */
818*5113495bSYour Name 
819*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_13_OFFSET                                          0x00000044
820*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_13_LSB                                             16
821*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_13_MSB                                             31
822*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_13_MASK                                            0xffff0000
823*5113495bSYour Name 
824*5113495bSYour Name 
825*5113495bSYour Name /* Description		RTT_FAC_14
826*5113495bSYour Name 
827*5113495bSYour Name 			See 'rtt_fac_0' description
828*5113495bSYour Name */
829*5113495bSYour Name 
830*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_14_OFFSET                                          0x00000048
831*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_14_LSB                                             0
832*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_14_MSB                                             15
833*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_14_MASK                                            0x0000ffff
834*5113495bSYour Name 
835*5113495bSYour Name 
836*5113495bSYour Name /* Description		RTT_FAC_15
837*5113495bSYour Name 
838*5113495bSYour Name 			See 'rtt_fac_0' description
839*5113495bSYour Name */
840*5113495bSYour Name 
841*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_15_OFFSET                                          0x00000048
842*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_15_LSB                                             16
843*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_15_MSB                                             31
844*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_15_MASK                                            0xffff0000
845*5113495bSYour Name 
846*5113495bSYour Name 
847*5113495bSYour Name /* Description		RTT_FAC_16
848*5113495bSYour Name 
849*5113495bSYour Name 			See 'rtt_fac_0' description
850*5113495bSYour Name */
851*5113495bSYour Name 
852*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_16_OFFSET                                          0x0000004c
853*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_16_LSB                                             0
854*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_16_MSB                                             15
855*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_16_MASK                                            0x0000ffff
856*5113495bSYour Name 
857*5113495bSYour Name 
858*5113495bSYour Name /* Description		RTT_FAC_17
859*5113495bSYour Name 
860*5113495bSYour Name 			See 'rtt_fac_0' description
861*5113495bSYour Name */
862*5113495bSYour Name 
863*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_17_OFFSET                                          0x0000004c
864*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_17_LSB                                             16
865*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_17_MSB                                             31
866*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_17_MASK                                            0xffff0000
867*5113495bSYour Name 
868*5113495bSYour Name 
869*5113495bSYour Name /* Description		RTT_FAC_18
870*5113495bSYour Name 
871*5113495bSYour Name 			See 'rtt_fac_0' description
872*5113495bSYour Name */
873*5113495bSYour Name 
874*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_18_OFFSET                                          0x00000050
875*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_18_LSB                                             0
876*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_18_MSB                                             15
877*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_18_MASK                                            0x0000ffff
878*5113495bSYour Name 
879*5113495bSYour Name 
880*5113495bSYour Name /* Description		RTT_FAC_19
881*5113495bSYour Name 
882*5113495bSYour Name 			See 'rtt_fac_0' description
883*5113495bSYour Name */
884*5113495bSYour Name 
885*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_19_OFFSET                                          0x00000050
886*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_19_LSB                                             16
887*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_19_MSB                                             31
888*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_19_MASK                                            0xffff0000
889*5113495bSYour Name 
890*5113495bSYour Name 
891*5113495bSYour Name /* Description		RTT_FAC_20
892*5113495bSYour Name 
893*5113495bSYour Name 			See 'rtt_fac_0' description
894*5113495bSYour Name */
895*5113495bSYour Name 
896*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_20_OFFSET                                          0x00000054
897*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_20_LSB                                             0
898*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_20_MSB                                             15
899*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_20_MASK                                            0x0000ffff
900*5113495bSYour Name 
901*5113495bSYour Name 
902*5113495bSYour Name /* Description		RTT_FAC_21
903*5113495bSYour Name 
904*5113495bSYour Name 			See 'rtt_fac_0' description
905*5113495bSYour Name */
906*5113495bSYour Name 
907*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_21_OFFSET                                          0x00000054
908*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_21_LSB                                             16
909*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_21_MSB                                             31
910*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_21_MASK                                            0xffff0000
911*5113495bSYour Name 
912*5113495bSYour Name 
913*5113495bSYour Name /* Description		RTT_FAC_22
914*5113495bSYour Name 
915*5113495bSYour Name 			See 'rtt_fac_0' description
916*5113495bSYour Name */
917*5113495bSYour Name 
918*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_22_OFFSET                                          0x00000058
919*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_22_LSB                                             0
920*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_22_MSB                                             15
921*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_22_MASK                                            0x0000ffff
922*5113495bSYour Name 
923*5113495bSYour Name 
924*5113495bSYour Name /* Description		RTT_FAC_23
925*5113495bSYour Name 
926*5113495bSYour Name 			See 'rtt_fac_0' description
927*5113495bSYour Name */
928*5113495bSYour Name 
929*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_23_OFFSET                                          0x00000058
930*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_23_LSB                                             16
931*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_23_MSB                                             31
932*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_23_MASK                                            0xffff0000
933*5113495bSYour Name 
934*5113495bSYour Name 
935*5113495bSYour Name /* Description		RTT_FAC_24
936*5113495bSYour Name 
937*5113495bSYour Name 			See 'rtt_fac_0' description
938*5113495bSYour Name */
939*5113495bSYour Name 
940*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_24_OFFSET                                          0x0000005c
941*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_24_LSB                                             0
942*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_24_MSB                                             15
943*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_24_MASK                                            0x0000ffff
944*5113495bSYour Name 
945*5113495bSYour Name 
946*5113495bSYour Name /* Description		RTT_FAC_25
947*5113495bSYour Name 
948*5113495bSYour Name 			See 'rtt_fac_0' description
949*5113495bSYour Name */
950*5113495bSYour Name 
951*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_25_OFFSET                                          0x0000005c
952*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_25_LSB                                             16
953*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_25_MSB                                             31
954*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_25_MASK                                            0xffff0000
955*5113495bSYour Name 
956*5113495bSYour Name 
957*5113495bSYour Name /* Description		RTT_FAC_26
958*5113495bSYour Name 
959*5113495bSYour Name 			See 'rtt_fac_0' description
960*5113495bSYour Name */
961*5113495bSYour Name 
962*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_26_OFFSET                                          0x00000060
963*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_26_LSB                                             0
964*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_26_MSB                                             15
965*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_26_MASK                                            0x0000ffff
966*5113495bSYour Name 
967*5113495bSYour Name 
968*5113495bSYour Name /* Description		RTT_FAC_27
969*5113495bSYour Name 
970*5113495bSYour Name 			See 'rtt_fac_0' description
971*5113495bSYour Name */
972*5113495bSYour Name 
973*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_27_OFFSET                                          0x00000060
974*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_27_LSB                                             16
975*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_27_MSB                                             31
976*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_27_MASK                                            0xffff0000
977*5113495bSYour Name 
978*5113495bSYour Name 
979*5113495bSYour Name /* Description		RTT_FAC_28
980*5113495bSYour Name 
981*5113495bSYour Name 			See 'rtt_fac_0' description
982*5113495bSYour Name */
983*5113495bSYour Name 
984*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_28_OFFSET                                          0x00000064
985*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_28_LSB                                             0
986*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_28_MSB                                             15
987*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_28_MASK                                            0x0000ffff
988*5113495bSYour Name 
989*5113495bSYour Name 
990*5113495bSYour Name /* Description		RTT_FAC_29
991*5113495bSYour Name 
992*5113495bSYour Name 			See 'rtt_fac_0' description
993*5113495bSYour Name */
994*5113495bSYour Name 
995*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_29_OFFSET                                          0x00000064
996*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_29_LSB                                             16
997*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_29_MSB                                             31
998*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_29_MASK                                            0xffff0000
999*5113495bSYour Name 
1000*5113495bSYour Name 
1001*5113495bSYour Name /* Description		RTT_FAC_30
1002*5113495bSYour Name 
1003*5113495bSYour Name 			See 'rtt_fac_0' description
1004*5113495bSYour Name */
1005*5113495bSYour Name 
1006*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_30_OFFSET                                          0x00000068
1007*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_30_LSB                                             0
1008*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_30_MSB                                             15
1009*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_30_MASK                                            0x0000ffff
1010*5113495bSYour Name 
1011*5113495bSYour Name 
1012*5113495bSYour Name /* Description		RTT_FAC_31
1013*5113495bSYour Name 
1014*5113495bSYour Name 			See 'rtt_fac_0' description
1015*5113495bSYour Name */
1016*5113495bSYour Name 
1017*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_31_OFFSET                                          0x00000068
1018*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_31_LSB                                             16
1019*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_31_MSB                                             31
1020*5113495bSYour Name #define RX_LOCATION_INFO_RTT_FAC_31_MASK                                            0xffff0000
1021*5113495bSYour Name 
1022*5113495bSYour Name 
1023*5113495bSYour Name /* Description		RESERVED_27A
1024*5113495bSYour Name 
1025*5113495bSYour Name 			<legal 0>
1026*5113495bSYour Name */
1027*5113495bSYour Name 
1028*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_27A_OFFSET                                        0x0000006c
1029*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_27A_LSB                                           0
1030*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_27A_MSB                                           31
1031*5113495bSYour Name #define RX_LOCATION_INFO_RESERVED_27A_MASK                                          0xffffffff
1032*5113495bSYour Name 
1033*5113495bSYour Name 
1034*5113495bSYour Name 
1035*5113495bSYour Name #endif   // RX_LOCATION_INFO
1036