| /* SPDX-License-Identifier: ISC */ |
| /* Copyright (C) 2020 MediaTek Inc. */ |
| |
| #ifndef __MT7915_TESTMODE_H |
| #define __MT7915_TESTMODE_H |
| |
| struct mt7915_tm_trx { |
| u8 type; |
| u8 enable; |
| u8 band; |
| u8 rsv; |
| }; |
| |
| struct mt7915_tm_freq_offset { |
| u8 band; |
| __le32 freq_offset; |
| }; |
| |
| struct mt7915_tm_slot_time { |
| u8 slot_time; |
| u8 sifs; |
| u8 rifs; |
| u8 _rsv; |
| __le16 eifs; |
| u8 band; |
| u8 _rsv1[5]; |
| }; |
| |
| struct mt7915_tm_clean_txq { |
| bool sta_pause; |
| u8 wcid; /* 256 sta */ |
| u8 band; |
| u8 rsv; |
| }; |
| |
| struct mt7915_tm_cmd { |
| u8 testmode_en; |
| u8 param_idx; |
| u8 _rsv[2]; |
| union { |
| __le32 data; |
| struct mt7915_tm_trx trx; |
| struct mt7915_tm_freq_offset freq; |
| struct mt7915_tm_slot_time slot; |
| struct mt7915_tm_clean_txq clean; |
| u8 test[72]; |
| } param; |
| } __packed; |
| |
| enum { |
| TM_MAC_TX = 1, |
| TM_MAC_RX, |
| TM_MAC_TXRX, |
| TM_MAC_TXRX_RXV, |
| TM_MAC_RXV, |
| TM_MAC_RX_RXV, |
| }; |
| |
| struct tm_tx_cont { |
| u8 control_ch; |
| u8 center_ch; |
| u8 bw; |
| u8 tx_ant; |
| __le16 rateval; |
| u8 band; |
| u8 txfd_mode; |
| }; |
| |
| struct mt7915_tm_rf_test { |
| u8 action; |
| u8 icap_len; |
| u8 _rsv[2]; |
| union { |
| __le32 op_mode; |
| __le32 freq; |
| |
| struct { |
| __le32 func_idx; |
| union { |
| __le32 func_data; |
| __le32 cal_dump; |
| |
| struct tm_tx_cont tx_cont; |
| |
| u8 _pad[80]; |
| } param; |
| } rf; |
| } op; |
| } __packed; |
| |
| enum { |
| RF_OPER_NORMAL, |
| RF_OPER_RF_TEST, |
| RF_OPER_ICAP, |
| RF_OPER_ICAP_OVERLAP, |
| RF_OPER_WIFI_SPECTRUM, |
| }; |
| |
| enum { |
| TAM_ARB_OP_MODE_NORMAL = 1, |
| TAM_ARB_OP_MODE_TEST, |
| TAM_ARB_OP_MODE_FORCE_SU = 5, |
| }; |
| |
| #endif |