/* 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
