1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2017 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * The full GNU General Public License is included in this distribution in the 15 * file called LICENSE. 16 * 17 * Contact Information: 18 * wlanfae <wlanfae@realtek.com> 19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 * Hsinchu 300, Taiwan. 21 * 22 * Larry Finger <Larry.Finger@lwfinger.net> 23 * 24 *****************************************************************************/ 25 26 #ifndef __PHYDM_MP_H__ 27 #define __PHYDM_MP_H__ 28 29 /*2020.04.27 Refine single tone Tx flow*/ 30 #define MP_VERSION "1.5" 31 32 /* @1 ============================================================ 33 * 1 Definition 34 * 1 ============================================================ 35 */ 36 /* @1 ============================================================ 37 * 1 structure 38 * 1 ============================================================ 39 */ 40 struct phydm_mp { 41 /*Rx OK count, statistics used in Mass Production Test.*/ 42 u64 tx_phy_ok_cnt; 43 u64 rx_phy_ok_cnt; 44 /*Rx CRC32 error count, statistics used in Mass Production Test.*/ 45 u64 rx_phy_crc_err_cnt; 46 /*The Value of IO operation is depend of MptActType.*/ 47 u32 io_value; 48 u32 rf0[RF_PATH_MEM_SIZE]; 49 #if (RTL8814B_SUPPORT) 50 u32 rf0_syn[2]; 51 #endif 52 u32 rf1[RF_PATH_MEM_SIZE]; 53 }; 54 55 /* @1 ============================================================ 56 * 1 enumeration 57 * 1 ============================================================ 58 */ 59 enum TX_MODE_OFDM { 60 OFDM_OFF = 0, 61 OFDM_CONT_TX = 1, 62 OFDM_SINGLE_CARRIER = 2, 63 OFDM_SINGLE_TONE = 4, 64 }; 65 /* @1 ============================================================ 66 * 1 function prototype 67 * 1 ============================================================ 68 */ 69 void phydm_mp_set_crystal_cap(void *dm_void, u8 crystal_cap); 70 71 void phydm_mp_set_single_tone(void *dm_void, boolean is_single_tone, u8 path); 72 73 void phydm_mp_set_carrier_supp(void *dm_void, boolean is_carrier_supp, 74 u32 rate_index); 75 76 void phydm_mp_set_single_carrier(void *dm_void, boolean is_single_carrier); 77 78 void phydm_mp_reset_rx_counters_phy(void *dm_void); 79 80 void phydm_mp_get_tx_ok(void *dm_void, u32 rate_index); 81 82 void phydm_mp_get_rx_ok(void *dm_void); 83 #endif 84