developer | 0f312e8 | 2022-11-01 12:31:52 +0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: ISC */ |
| 2 | /* Copyright (C) 2020 MediaTek Inc. */ |
| 3 | |
| 4 | #ifndef __MT7915_TESTMODE_H |
| 5 | #define __MT7915_TESTMODE_H |
| 6 | |
| 7 | struct mt7915_tm_trx { |
| 8 | u8 type; |
| 9 | u8 enable; |
| 10 | u8 band; |
| 11 | u8 rsv; |
| 12 | }; |
| 13 | |
| 14 | struct mt7915_tm_freq_offset { |
| 15 | u8 band; |
| 16 | __le32 freq_offset; |
| 17 | }; |
| 18 | |
| 19 | struct mt7915_tm_slot_time { |
| 20 | u8 slot_time; |
| 21 | u8 sifs; |
| 22 | u8 rifs; |
| 23 | u8 _rsv; |
| 24 | __le16 eifs; |
| 25 | u8 band; |
| 26 | u8 _rsv1[5]; |
| 27 | }; |
| 28 | |
| 29 | struct mt7915_tm_clean_txq { |
| 30 | bool sta_pause; |
| 31 | u8 wcid; /* 256 sta */ |
| 32 | u8 band; |
| 33 | u8 rsv; |
| 34 | }; |
| 35 | |
| 36 | struct mt7915_tm_cmd { |
| 37 | u8 testmode_en; |
| 38 | u8 param_idx; |
| 39 | u8 _rsv[2]; |
| 40 | union { |
| 41 | __le32 data; |
| 42 | struct mt7915_tm_trx trx; |
| 43 | struct mt7915_tm_freq_offset freq; |
| 44 | struct mt7915_tm_slot_time slot; |
| 45 | struct mt7915_tm_clean_txq clean; |
| 46 | u8 test[72]; |
| 47 | } param; |
| 48 | } __packed; |
| 49 | |
| 50 | enum { |
| 51 | TM_MAC_TX = 1, |
| 52 | TM_MAC_RX, |
| 53 | TM_MAC_TXRX, |
| 54 | TM_MAC_TXRX_RXV, |
| 55 | TM_MAC_RXV, |
| 56 | TM_MAC_RX_RXV, |
| 57 | }; |
| 58 | |
| 59 | struct tm_tx_cont { |
| 60 | u8 control_ch; |
| 61 | u8 center_ch; |
| 62 | u8 bw; |
| 63 | u8 tx_ant; |
| 64 | __le16 rateval; |
| 65 | u8 band; |
| 66 | u8 txfd_mode; |
| 67 | }; |
| 68 | |
| 69 | struct mt7915_tm_rf_test { |
| 70 | u8 action; |
| 71 | u8 icap_len; |
| 72 | u8 _rsv[2]; |
| 73 | union { |
| 74 | __le32 op_mode; |
| 75 | __le32 freq; |
| 76 | |
| 77 | struct { |
| 78 | __le32 func_idx; |
| 79 | union { |
| 80 | __le32 func_data; |
| 81 | __le32 cal_dump; |
| 82 | |
| 83 | struct tm_tx_cont tx_cont; |
| 84 | |
| 85 | u8 _pad[80]; |
| 86 | } param; |
| 87 | } rf; |
| 88 | } op; |
| 89 | } __packed; |
| 90 | |
| 91 | enum { |
| 92 | RF_OPER_NORMAL, |
| 93 | RF_OPER_RF_TEST, |
| 94 | RF_OPER_ICAP, |
| 95 | RF_OPER_ICAP_OVERLAP, |
| 96 | RF_OPER_WIFI_SPECTRUM, |
| 97 | }; |
| 98 | |
| 99 | enum { |
| 100 | TAM_ARB_OP_MODE_NORMAL = 1, |
| 101 | TAM_ARB_OP_MODE_TEST, |
| 102 | TAM_ARB_OP_MODE_FORCE_SU = 5, |
| 103 | }; |
| 104 | |
| 105 | #endif |