1 /* 2 * Copyright (c) 2020 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