linux/drivers/net/wireless/mediatek/mt76/mt76x02_mcu.h

/* SPDX-License-Identifier: ISC */
/*
 * Copyright (C) 2018 Lorenzo Bianconi <[email protected]>
 */

#ifndef __MT76x02_MCU_H
#define __MT76x02_MCU_H

#include "mt76x02.h"

#define MT_MCU_RESET_CTL
#define MT_MCU_INT_LEVEL
#define MT_MCU_COM_REG0
#define MT_MCU_COM_REG1
#define MT_MCU_COM_REG2
#define MT_MCU_COM_REG3

#define MT_INBAND_PACKET_MAX_LEN
#define MT_MCU_MEMMAP_WLAN

#define MT_MCU_PCIE_REMAP_BASE4

#define MT_MCU_SEMAPHORE_00
#define MT_MCU_SEMAPHORE_01
#define MT_MCU_SEMAPHORE_02
#define MT_MCU_SEMAPHORE_03

#define MT_MCU_ILM_ADDR

enum mcu_cmd {};

enum mcu_power_mode {};

enum mcu_function {};

struct mt76x02_fw_header {};

struct mt76x02_patch_header {};

int mt76x02_mcu_cleanup(struct mt76x02_dev *dev);
int mt76x02_mcu_calibrate(struct mt76x02_dev *dev, int type, u32 param);
int mt76x02_mcu_msg_send(struct mt76_dev *mdev, int cmd, const void *data,
			 int len, bool wait_resp);
int mt76x02_mcu_parse_response(struct mt76_dev *mdev, int cmd,
			       struct sk_buff *skb, int seq);
int mt76x02_mcu_function_select(struct mt76x02_dev *dev, enum mcu_function func,
				u32 val);
int mt76x02_mcu_set_radio_state(struct mt76x02_dev *dev, bool on);
void mt76x02_set_ethtool_fwver(struct mt76x02_dev *dev,
			       const struct mt76x02_fw_header *h);

#endif /* __MT76x02_MCU_H */