xref: /wlan-driver/fw-api/hw/qca6290/v2/rx_ppdu_start.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 //
20 // DO NOT EDIT!  This file is automatically generated
21 //               These definitions are tied to a particular hardware layout
22 
23 
24 #ifndef _RX_PPDU_START_H_
25 #define _RX_PPDU_START_H_
26 #if !defined(__ASSEMBLER__)
27 #endif
28 
29 
30 // ################ START SUMMARY #################
31 //
32 //	Dword	Fields
33 //	0	phy_ppdu_id[15:0], reserved_15[31:16]
34 //	1	sw_phy_meta_data[31:0]
35 //	2	ppdu_start_timestamp[31:0]
36 //
37 // ################ END SUMMARY #################
38 
39 #define NUM_OF_DWORDS_RX_PPDU_START 3
40 
41 struct rx_ppdu_start {
42              uint32_t phy_ppdu_id                     : 16, //[15:0]
43                       reserved_15                     : 16; //[31:16]
44              uint32_t sw_phy_meta_data                : 32; //[31:0]
45              uint32_t ppdu_start_timestamp            : 32; //[31:0]
46 };
47 
48 /*
49 
50 phy_ppdu_id
51 
52 			A ppdu counter value that PHY increments for every PPDU
53 			received. The counter value wraps around
54 
55 			<legal all>
56 
57 reserved_15
58 
59 			Reserved
60 
61 			<legal 0>
62 
63 sw_phy_meta_data
64 
65 			SW programmed Meta data provided by the PHY.
66 
67 
68 
69 			Can be used for SW to indicate the channel the device is
70 			on.
71 
72 ppdu_start_timestamp
73 
74 			Timestamp that indicates when the PPDU that contained
75 			this MPDU started on the medium.
76 
77 
78 
79 			The timestamp is captured by the PHY and given to the
80 			MAC in PHYRX_RSSI_LEGACY.ppdu_start_timestamp
81 
82 			<legal all>
83 */
84 
85 
86 /* Description		RX_PPDU_START_0_PHY_PPDU_ID
87 
88 			A ppdu counter value that PHY increments for every PPDU
89 			received. The counter value wraps around
90 
91 			<legal all>
92 */
93 #define RX_PPDU_START_0_PHY_PPDU_ID_OFFSET                           0x00000000
94 #define RX_PPDU_START_0_PHY_PPDU_ID_LSB                              0
95 #define RX_PPDU_START_0_PHY_PPDU_ID_MASK                             0x0000ffff
96 
97 /* Description		RX_PPDU_START_0_RESERVED_15
98 
99 			Reserved
100 
101 			<legal 0>
102 */
103 #define RX_PPDU_START_0_RESERVED_15_OFFSET                           0x00000000
104 #define RX_PPDU_START_0_RESERVED_15_LSB                              16
105 #define RX_PPDU_START_0_RESERVED_15_MASK                             0xffff0000
106 
107 /* Description		RX_PPDU_START_1_SW_PHY_META_DATA
108 
109 			SW programmed Meta data provided by the PHY.
110 
111 
112 
113 			Can be used for SW to indicate the channel the device is
114 			on.
115 */
116 #define RX_PPDU_START_1_SW_PHY_META_DATA_OFFSET                      0x00000004
117 #define RX_PPDU_START_1_SW_PHY_META_DATA_LSB                         0
118 #define RX_PPDU_START_1_SW_PHY_META_DATA_MASK                        0xffffffff
119 
120 /* Description		RX_PPDU_START_2_PPDU_START_TIMESTAMP
121 
122 			Timestamp that indicates when the PPDU that contained
123 			this MPDU started on the medium.
124 
125 
126 
127 			The timestamp is captured by the PHY and given to the
128 			MAC in PHYRX_RSSI_LEGACY.ppdu_start_timestamp
129 
130 			<legal all>
131 */
132 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_OFFSET                  0x00000008
133 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_LSB                     0
134 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_MASK                    0xffffffff
135 
136 
137 #endif // _RX_PPDU_START_H_
138