xref: /wlan-driver/fw-api/hw/kiwi/v2/tx_fes_status_start_ppdu.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_PPDU_H_
21 #define _TX_FES_STATUS_START_PPDU_H_
22 #if !defined(__ASSEMBLER__)
23 #endif
24 
25 #define NUM_OF_DWORDS_TX_FES_STATUS_START_PPDU 4
26 
27 #define NUM_OF_QWORDS_TX_FES_STATUS_START_PPDU 2
28 
29 struct tx_fes_status_start_ppdu {
30 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
31              uint32_t ppdu_timestamp_lower_32                                 : 32;
32              uint32_t ppdu_timestamp_upper_32                                 : 32;
33              uint32_t subband_mask                                            : 16,
34                       ndp_frame                                               :  2,
35                       reserved_2b                                             :  2,
36                       coex_based_tx_bw                                        :  3,
37                       coex_based_ant_mask                                     :  8,
38                       reserved_2c                                             :  1;
39              uint32_t coex_based_tx_pwr_shared_ant                            :  8,
40                       coex_based_tx_pwr_ant                                   :  8,
41                       concurrent_bt_tx                                        :  1,
42                       concurrent_wlan_tx                                      :  1,
43                       concurrent_wan_tx                                       :  1,
44                       concurrent_wan_rx                                       :  1,
45                       coex_pwr_reduction_bt                                   :  1,
46                       coex_pwr_reduction_wlan                                 :  1,
47                       coex_pwr_reduction_wan                                  :  1,
48                       coex_result_alt_based                                   :  1,
49                       request_packet_bw                                       :  3,
50                       response_type                                           :  5;
51 #else
52              uint32_t ppdu_timestamp_lower_32                                 : 32;
53              uint32_t ppdu_timestamp_upper_32                                 : 32;
54              uint32_t reserved_2c                                             :  1,
55                       coex_based_ant_mask                                     :  8,
56                       coex_based_tx_bw                                        :  3,
57                       reserved_2b                                             :  2,
58                       ndp_frame                                               :  2,
59                       subband_mask                                            : 16;
60              uint32_t response_type                                           :  5,
61                       request_packet_bw                                       :  3,
62                       coex_result_alt_based                                   :  1,
63                       coex_pwr_reduction_wan                                  :  1,
64                       coex_pwr_reduction_wlan                                 :  1,
65                       coex_pwr_reduction_bt                                   :  1,
66                       concurrent_wan_rx                                       :  1,
67                       concurrent_wan_tx                                       :  1,
68                       concurrent_wlan_tx                                      :  1,
69                       concurrent_bt_tx                                        :  1,
70                       coex_based_tx_pwr_ant                                   :  8,
71                       coex_based_tx_pwr_shared_ant                            :  8;
72 #endif
73 };
74 
75 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_OFFSET                     0x0000000000000000
76 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_LSB                        0
77 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MSB                        31
78 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MASK                       0x00000000ffffffff
79 
80 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_OFFSET                     0x0000000000000000
81 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_LSB                        32
82 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MSB                        63
83 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MASK                       0xffffffff00000000
84 
85 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_OFFSET                                0x0000000000000008
86 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_LSB                                   0
87 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MSB                                   15
88 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MASK                                  0x000000000000ffff
89 
90 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_OFFSET                                   0x0000000000000008
91 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_LSB                                      16
92 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MSB                                      17
93 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MASK                                     0x0000000000030000
94 
95 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_OFFSET                                 0x0000000000000008
96 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_LSB                                    18
97 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MSB                                    19
98 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MASK                                   0x00000000000c0000
99 
100 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_OFFSET                            0x0000000000000008
101 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_LSB                               20
102 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MSB                               22
103 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MASK                              0x0000000000700000
104 
105 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_OFFSET                         0x0000000000000008
106 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_LSB                            23
107 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MSB                            30
108 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MASK                           0x000000007f800000
109 
110 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_OFFSET                                 0x0000000000000008
111 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_LSB                                    31
112 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MSB                                    31
113 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MASK                                   0x0000000080000000
114 
115 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_OFFSET                0x0000000000000008
116 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_LSB                   32
117 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MSB                   39
118 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MASK                  0x000000ff00000000
119 
120 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_OFFSET                       0x0000000000000008
121 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_LSB                          40
122 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MSB                          47
123 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MASK                         0x0000ff0000000000
124 
125 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_OFFSET                            0x0000000000000008
126 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_LSB                               48
127 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MSB                               48
128 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MASK                              0x0001000000000000
129 
130 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_OFFSET                          0x0000000000000008
131 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_LSB                             49
132 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MSB                             49
133 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MASK                            0x0002000000000000
134 
135 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_OFFSET                           0x0000000000000008
136 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_LSB                              50
137 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MSB                              50
138 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MASK                             0x0004000000000000
139 
140 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_OFFSET                           0x0000000000000008
141 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_LSB                              51
142 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MSB                              51
143 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MASK                             0x0008000000000000
144 
145 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_OFFSET                       0x0000000000000008
146 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_LSB                          52
147 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MSB                          52
148 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MASK                         0x0010000000000000
149 
150 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_OFFSET                     0x0000000000000008
151 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_LSB                        53
152 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MSB                        53
153 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MASK                       0x0020000000000000
154 
155 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_OFFSET                      0x0000000000000008
156 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_LSB                         54
157 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MSB                         54
158 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MASK                        0x0040000000000000
159 
160 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_OFFSET                       0x0000000000000008
161 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_LSB                          55
162 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MSB                          55
163 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MASK                         0x0080000000000000
164 
165 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_OFFSET                           0x0000000000000008
166 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_LSB                              56
167 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MSB                              58
168 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MASK                             0x0700000000000000
169 
170 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_OFFSET                               0x0000000000000008
171 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_LSB                                  59
172 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MSB                                  63
173 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MASK                                 0xf800000000000000
174 
175 #endif
176