xref: /wlan-driver/fw-api/hw/qcn9224/v1/tx_fes_status_start_prot.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 
2 /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 #ifndef _TX_FES_STATUS_START_PROT_H_
27 #define _TX_FES_STATUS_START_PROT_H_
28 #if !defined(__ASSEMBLER__)
29 #endif
30 
31 #define NUM_OF_DWORDS_TX_FES_STATUS_START_PROT 4
32 
33 #define NUM_OF_QWORDS_TX_FES_STATUS_START_PROT 2
34 
35 
36 struct tx_fes_status_start_prot {
37 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
38              uint32_t prot_timestamp_lower_32                                 : 32;
39              uint32_t prot_timestamp_upper_32                                 : 32;
40              uint32_t subband_mask                                            : 16,
41                       reserved_2b                                             :  4,
42                       prot_coex_based_tx_bw                                   :  3,
43                       prot_coex_based_ant_mask                                :  8,
44                       prot_coex_result_alt_based                              :  1;
45              uint32_t prot_coex_tx_pwr_shared_ant                             :  8,
46                       prot_coex_tx_pwr_ant                                    :  8,
47                       prot_concurrent_bt_tx                                   :  1,
48                       prot_concurrent_wlan_tx                                 :  1,
49                       prot_concurrent_wan_tx                                  :  1,
50                       prot_concurrent_wan_rx                                  :  1,
51                       prot_coex_pwr_reduction_bt                              :  1,
52                       prot_coex_pwr_reduction_wlan                            :  1,
53                       prot_coex_pwr_reduction_wan                             :  1,
54                       prot_request_packet_bw                                  :  3,
55                       response_type                                           :  5,
56                       reserved_3a                                             :  1;
57 #else
58              uint32_t prot_timestamp_lower_32                                 : 32;
59              uint32_t prot_timestamp_upper_32                                 : 32;
60              uint32_t prot_coex_result_alt_based                              :  1,
61                       prot_coex_based_ant_mask                                :  8,
62                       prot_coex_based_tx_bw                                   :  3,
63                       reserved_2b                                             :  4,
64                       subband_mask                                            : 16;
65              uint32_t reserved_3a                                             :  1,
66                       response_type                                           :  5,
67                       prot_request_packet_bw                                  :  3,
68                       prot_coex_pwr_reduction_wan                             :  1,
69                       prot_coex_pwr_reduction_wlan                            :  1,
70                       prot_coex_pwr_reduction_bt                              :  1,
71                       prot_concurrent_wan_rx                                  :  1,
72                       prot_concurrent_wan_tx                                  :  1,
73                       prot_concurrent_wlan_tx                                 :  1,
74                       prot_concurrent_bt_tx                                   :  1,
75                       prot_coex_tx_pwr_ant                                    :  8,
76                       prot_coex_tx_pwr_shared_ant                             :  8;
77 #endif
78 };
79 
80 
81 
82 
83 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_OFFSET                     0x0000000000000000
84 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_LSB                        0
85 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_MSB                        31
86 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_MASK                       0x00000000ffffffff
87 
88 
89 
90 
91 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_OFFSET                     0x0000000000000000
92 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_LSB                        32
93 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_MSB                        63
94 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_MASK                       0xffffffff00000000
95 
96 
97 
98 
99 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_OFFSET                                0x0000000000000008
100 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_LSB                                   0
101 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_MSB                                   15
102 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_MASK                                  0x000000000000ffff
103 
104 
105 
106 
107 #define TX_FES_STATUS_START_PROT_RESERVED_2B_OFFSET                                 0x0000000000000008
108 #define TX_FES_STATUS_START_PROT_RESERVED_2B_LSB                                    16
109 #define TX_FES_STATUS_START_PROT_RESERVED_2B_MSB                                    19
110 #define TX_FES_STATUS_START_PROT_RESERVED_2B_MASK                                   0x00000000000f0000
111 
112 
113 
114 
115 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_OFFSET                       0x0000000000000008
116 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_LSB                          20
117 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_MSB                          22
118 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_MASK                         0x0000000000700000
119 
120 
121 
122 
123 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_OFFSET                    0x0000000000000008
124 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_LSB                       23
125 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_MSB                       30
126 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_MASK                      0x000000007f800000
127 
128 
129 
130 
131 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_OFFSET                  0x0000000000000008
132 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_LSB                     31
133 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_MSB                     31
134 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_MASK                    0x0000000080000000
135 
136 
137 
138 
139 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_OFFSET                 0x0000000000000008
140 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_LSB                    32
141 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_MSB                    39
142 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_MASK                   0x000000ff00000000
143 
144 
145 
146 
147 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_OFFSET                        0x0000000000000008
148 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_LSB                           40
149 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_MSB                           47
150 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_MASK                          0x0000ff0000000000
151 
152 
153 
154 
155 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_OFFSET                       0x0000000000000008
156 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_LSB                          48
157 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_MSB                          48
158 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_MASK                         0x0001000000000000
159 
160 
161 
162 
163 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_OFFSET                     0x0000000000000008
164 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_LSB                        49
165 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_MSB                        49
166 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_MASK                       0x0002000000000000
167 
168 
169 
170 
171 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_OFFSET                      0x0000000000000008
172 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_LSB                         50
173 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_MSB                         50
174 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_MASK                        0x0004000000000000
175 
176 
177 
178 
179 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_OFFSET                      0x0000000000000008
180 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_LSB                         51
181 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_MSB                         51
182 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_MASK                        0x0008000000000000
183 
184 
185 
186 
187 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_OFFSET                  0x0000000000000008
188 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_LSB                     52
189 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_MSB                     52
190 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_MASK                    0x0010000000000000
191 
192 
193 
194 
195 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_OFFSET                0x0000000000000008
196 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_LSB                   53
197 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_MSB                   53
198 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_MASK                  0x0020000000000000
199 
200 
201 
202 
203 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_OFFSET                 0x0000000000000008
204 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_LSB                    54
205 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_MSB                    54
206 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_MASK                   0x0040000000000000
207 
208 
209 
210 
211 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_OFFSET                      0x0000000000000008
212 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_LSB                         55
213 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_MSB                         57
214 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_MASK                        0x0380000000000000
215 
216 
217 
218 
219 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_OFFSET                               0x0000000000000008
220 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_LSB                                  58
221 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_MSB                                  62
222 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_MASK                                 0x7c00000000000000
223 
224 
225 
226 
227 #define TX_FES_STATUS_START_PROT_RESERVED_3A_OFFSET                                 0x0000000000000008
228 #define TX_FES_STATUS_START_PROT_RESERVED_3A_LSB                                    63
229 #define TX_FES_STATUS_START_PROT_RESERVED_3A_MSB                                    63
230 #define TX_FES_STATUS_START_PROT_RESERVED_3A_MASK                                   0x8000000000000000
231 
232 
233 
234 #endif
235