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