1 /* 2 * Copyright (c) 2021 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 // $ATH_LICENSE_HW_HDR_C$ 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 and given to the 79 MAC in PHYRX_RSSI_LEGACY.ppdu_start_timestamp 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 and given to the 127 MAC in PHYRX_RSSI_LEGACY.ppdu_start_timestamp 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