Path: blob/main/sys/contrib/dev/mediatek/mt76/mt76x2/mt76x2u.h
48525 views
/* SPDX-License-Identifier: ISC */1/*2* Copyright (C) 2018 Lorenzo Bianconi <[email protected]>3*/45#ifndef __MT76x2U_H6#define __MT76x2U_H78#include <linux/device.h>910#include "mt76x2.h"11#include "mcu.h"1213#define MT7612U_EEPROM_SIZE 5121415#define MT_USB_AGGR_SIZE_LIMIT 21 /* 1024B unit */16#define MT_USB_AGGR_TIMEOUT 0x80 /* 33ns unit */1718extern const struct ieee80211_ops mt76x2u_ops;1920int mt76x2u_register_device(struct mt76x02_dev *dev);21int mt76x2u_init_hardware(struct mt76x02_dev *dev);22void mt76x2u_cleanup(struct mt76x02_dev *dev);23void mt76x2u_stop_hw(struct mt76x02_dev *dev);2425int mt76x2u_mac_reset(struct mt76x02_dev *dev);26int mt76x2u_mac_stop(struct mt76x02_dev *dev);2728int mt76x2u_phy_set_channel(struct mt76x02_dev *dev,29struct cfg80211_chan_def *chandef);30void mt76x2u_phy_calibrate(struct work_struct *work);3132void mt76x2u_mcu_complete_urb(struct urb *urb);33int mt76x2u_mcu_init(struct mt76x02_dev *dev);34int mt76x2u_mcu_fw_init(struct mt76x02_dev *dev);3536int mt76x2u_alloc_queues(struct mt76x02_dev *dev);37void mt76x2u_queues_deinit(struct mt76x02_dev *dev);38void mt76x2u_stop_queues(struct mt76x02_dev *dev);39int mt76x2u_skb_dma_info(struct sk_buff *skb, enum dma_msg_port port,40u32 flags);4142#endif /* __MT76x2U_H */434445