File Index
Files and directories
Sign in
FILE

mcu.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/mediatek/mt76/mt7921/mcu.h C
  1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
  2/* Copyright (C) 2020 MediaTek Inc. */
  3
  4#ifndef __MT7921_MCU_H
  5#define __MT7921_MCU_H
  6
  7#include "../mt76_connac_mcu.h"
  8
  9struct mt7921_mcu_tx_done_event {
 10	u8 pid;
 11	u8 status;
 12	__le16 seq;
 13
 14	u8 wlan_idx;
 15	u8 tx_cnt;
 16	__le16 tx_rate;
 17
 18	u8 flag;
 19	u8 tid;
 20	u8 rsp_rate;
 21	u8 mcs;
 22
 23	u8 bw;
 24	u8 tx_pwr;
 25	u8 reason;
 26	u8 rsv0[1];
 27
 28	__le32 delay;
 29	__le32 timestamp;
 30	__le32 applied_flag;
 31	u8 txs[28];
 32
 33	u8 rsv1[32];
 34} __packed;
 35
 36/* ext event table */
 37enum {
 38	MCU_EXT_EVENT_RATE_REPORT = 0x87,
 39};
 40
 41struct mt7921_mcu_eeprom_info {
 42	__le32 addr;
 43	__le32 valid;
 44	u8 data[MT7921_EEPROM_BLOCK_SIZE];
 45} __packed;
 46
 47#define MT_RA_RATE_NSS			GENMASK(8, 6)
 48#define MT_RA_RATE_MCS			GENMASK(3, 0)
 49#define MT_RA_RATE_TX_MODE		GENMASK(12, 9)
 50#define MT_RA_RATE_DCM_EN		BIT(4)
 51#define MT_RA_RATE_BW			GENMASK(14, 13)
 52
 53enum {
 54	MT_EBF = BIT(0),	/* explicit beamforming */
 55	MT_IBF = BIT(1)		/* implicit beamforming */
 56};
 57
 58struct mt7921_mcu_ant_id_config {
 59	u8 ant_id[4];
 60} __packed;
 61
 62struct mt7921_txpwr_req {
 63	u8 ver;
 64	u8 action;
 65	__le16 len;
 66	u8 dbdc_idx;
 67	u8 rsv[3];
 68} __packed;
 69
 70struct mt7921_txpwr_event {
 71	u8 ver;
 72	u8 action;
 73	__le16 len;
 74	struct mt7921_txpwr txpwr;
 75} __packed;
 76
 77struct mt7921_wf_rf_pin_ctrl_event {
 78	u8 result;
 79	u8 value;
 80} __packed;
 81
 82enum {
 83	TM_SWITCH_MODE,
 84	TM_SET_AT_CMD,
 85	TM_QUERY_AT_CMD,
 86};
 87
 88enum {
 89	MT7921_TM_NORMAL,
 90	MT7921_TM_TESTMODE,
 91	MT7921_TM_ICAP,
 92	MT7921_TM_ICAP_OVERLAP,
 93	MT7921_TM_WIFISPECTRUM,
 94};
 95
 96struct mt7921_rftest_cmd {
 97	u8 action;
 98	u8 rsv[3];
 99	__le32 param0;
100	__le32 param1;
101} __packed;
102
103struct mt7921_rftest_evt {
104	__le32 param0;
105	__le32 param1;
106} __packed;
107
108struct mt7921_clc_info_tlv {
109	__le16 tag;
110	__le16 len;
111
112	u8 chan_conf; /* BIT(0) : Enable UNII-4
113		       * BIT(1) : Enable UNII-5
114		       * BIT(2) : Enable UNII-6
115		       * BIT(3) : Enable UNII-7
116		       * BIT(4) : Enable UNII-8
117		       */
118	u8 rsv[63];
119} __packed;
120#endif
~/ Read-only file preview.