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 // DO NOT EDIT!  This file is automatically generated
20 //               These definitions are tied to a particular hardware layout
21 
22 
23 #ifndef _RX_PPDU_START_H_
24 #define _RX_PPDU_START_H_
25 #if !defined(__ASSEMBLER__)
26 #endif
27 
28 
29 // ################ START SUMMARY #################
30 //
31 //	Dword	Fields
32 //	0	phy_ppdu_id[15:0], reserved_15[31:16]
33 //	1	sw_phy_meta_data[31:0]
34 //	2	ppdu_start_timestamp[31:0]
35 //
36 // ################ END SUMMARY #################
37 
38 #define NUM_OF_DWORDS_RX_PPDU_START 3
39 
40 struct rx_ppdu_start {
41              uint32_t phy_ppdu_id                     : 16, //[15:0]
42                       reserved_15                     : 16; //[31:16]
43              uint32_t sw_phy_meta_data                : 32; //[31:0]
44              uint32_t ppdu_start_timestamp            : 32; //[31:0]
45 };
46 
47 /*
48 
49 phy_ppdu_id
50 
51 			A ppdu counter value that PHY increments for every PPDU
52 			received. The counter value wraps around
53 
54 			<legal all>
55 
56 reserved_15
57 
58 			Reserved
59 
60 			<legal 0>
61 
62 sw_phy_meta_data
63 
64 			SW programmed Meta data provided by the PHY.
65 
66 
67 
68 			Can be used for SW to indicate the channel the device is
69 			on.
70 
71 ppdu_start_timestamp
72 
73 			Timestamp that indicates when the PPDU that contained
74 			this MPDU started on the medium.
75 
76 
77 
78 			The timestamp is captured by the PHY ????TODO: Is this
79 			comment correct ?
80 
81 			<legal all>
82 */
83 
84 
85 /* Description		RX_PPDU_START_0_PHY_PPDU_ID
86 
87 			A ppdu counter value that PHY increments for every PPDU
88 			received. The counter value wraps around
89 
90 			<legal all>
91 */
92 #define RX_PPDU_START_0_PHY_PPDU_ID_OFFSET                           0x00000000
93 #define RX_PPDU_START_0_PHY_PPDU_ID_LSB                              0
94 #define RX_PPDU_START_0_PHY_PPDU_ID_MASK                             0x0000ffff
95 
96 /* Description		RX_PPDU_START_0_RESERVED_15
97 
98 			Reserved
99 
100 			<legal 0>
101 */
102 #define RX_PPDU_START_0_RESERVED_15_OFFSET                           0x00000000
103 #define RX_PPDU_START_0_RESERVED_15_LSB                              16
104 #define RX_PPDU_START_0_RESERVED_15_MASK                             0xffff0000
105 
106 /* Description		RX_PPDU_START_1_SW_PHY_META_DATA
107 
108 			SW programmed Meta data provided by the PHY.
109 
110 
111 
112 			Can be used for SW to indicate the channel the device is
113 			on.
114 */
115 #define RX_PPDU_START_1_SW_PHY_META_DATA_OFFSET                      0x00000004
116 #define RX_PPDU_START_1_SW_PHY_META_DATA_LSB                         0
117 #define RX_PPDU_START_1_SW_PHY_META_DATA_MASK                        0xffffffff
118 
119 /* Description		RX_PPDU_START_2_PPDU_START_TIMESTAMP
120 
121 			Timestamp that indicates when the PPDU that contained
122 			this MPDU started on the medium.
123 
124 
125 
126 			The timestamp is captured by the PHY ????TODO: Is this
127 			comment correct ?
128 
129 			<legal all>
130 */
131 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_OFFSET                  0x00000008
132 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_LSB                     0
133 #define RX_PPDU_START_2_PPDU_START_TIMESTAMP_MASK                    0xffffffff
134 
135 
136 #endif // _RX_PPDU_START_H_
137