Linux Audio

Check our new training course

Loading...
v6.8
  1/* SPDX-License-Identifier: ISC */
  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
 77enum {
 78	TM_SWITCH_MODE,
 79	TM_SET_AT_CMD,
 80	TM_QUERY_AT_CMD,
 81};
 82
 83enum {
 84	MT7921_TM_NORMAL,
 85	MT7921_TM_TESTMODE,
 86	MT7921_TM_ICAP,
 87	MT7921_TM_ICAP_OVERLAP,
 88	MT7921_TM_WIFISPECTRUM,
 89};
 90
 91struct mt7921_rftest_cmd {
 92	u8 action;
 93	u8 rsv[3];
 94	__le32 param0;
 95	__le32 param1;
 96} __packed;
 97
 98struct mt7921_rftest_evt {
 99	__le32 param0;
100	__le32 param1;
101} __packed;
102
103struct mt7921_clc_info_tlv {
104	__le16 tag;
105	__le16 len;
106
107	u8 chan_conf; /* BIT(0) : Enable UNII-4
108		       * BIT(1) : Enable UNII-5
109		       * BIT(2) : Enable UNII-6
110		       * BIT(3) : Enable UNII-7
111		       * BIT(4) : Enable UNII-8
112		       */
113	u8 rsv[63];
114} __packed;
115#endif
v6.2
  1/* SPDX-License-Identifier: ISC */
  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
 53struct mt7921_mcu_uni_event {
 54	u8 cid;
 55	u8 pad[3];
 56	__le32 status; /* 0: success, others: fail */
 57} __packed;
 58
 59enum {
 60	MT_EBF = BIT(0),	/* explicit beamforming */
 61	MT_IBF = BIT(1)		/* implicit beamforming */
 62};
 63
 64struct mt7921_mcu_reg_event {
 65	__le32 reg;
 66	__le32 val;
 67} __packed;
 68
 69struct mt7921_mcu_ant_id_config {
 70	u8 ant_id[4];
 71} __packed;
 72
 73struct mt7921_txpwr_req {
 74	u8 ver;
 75	u8 action;
 76	__le16 len;
 77	u8 dbdc_idx;
 78	u8 rsv[3];
 79} __packed;
 80
 81struct mt7921_txpwr_event {
 82	u8 ver;
 83	u8 action;
 84	__le16 len;
 85	struct mt7921_txpwr txpwr;
 86} __packed;
 87
 88enum {
 89	TM_SWITCH_MODE,
 90	TM_SET_AT_CMD,
 91	TM_QUERY_AT_CMD,
 92};
 93
 94enum {
 95	MT7921_TM_NORMAL,
 96	MT7921_TM_TESTMODE,
 97	MT7921_TM_ICAP,
 98	MT7921_TM_ICAP_OVERLAP,
 99	MT7921_TM_WIFISPECTRUM,
100};
101
102struct mt7921_rftest_cmd {
103	u8 action;
104	u8 rsv[3];
105	__le32 param0;
106	__le32 param1;
107} __packed;
108
109struct mt7921_rftest_evt {
110	__le32 param0;
111	__le32 param1;
 
 
 
 
 
 
 
 
 
 
 
 
 
112} __packed;
113#endif