0001
0002
0003
0004
0005
0006 #ifndef __MT76x2U_H
0007 #define __MT76x2U_H
0008
0009 #include <linux/device.h>
0010
0011 #include "mt76x2.h"
0012 #include "mcu.h"
0013
0014 #define MT7612U_EEPROM_SIZE 512
0015
0016 #define MT_USB_AGGR_SIZE_LIMIT 21
0017 #define MT_USB_AGGR_TIMEOUT 0x80
0018
0019 extern const struct ieee80211_ops mt76x2u_ops;
0020
0021 int mt76x2u_register_device(struct mt76x02_dev *dev);
0022 int mt76x2u_init_hardware(struct mt76x02_dev *dev);
0023 void mt76x2u_cleanup(struct mt76x02_dev *dev);
0024 void mt76x2u_stop_hw(struct mt76x02_dev *dev);
0025
0026 int mt76x2u_mac_reset(struct mt76x02_dev *dev);
0027 int mt76x2u_mac_stop(struct mt76x02_dev *dev);
0028
0029 int mt76x2u_phy_set_channel(struct mt76x02_dev *dev,
0030 struct cfg80211_chan_def *chandef);
0031 void mt76x2u_phy_calibrate(struct work_struct *work);
0032
0033 void mt76x2u_mcu_complete_urb(struct urb *urb);
0034 int mt76x2u_mcu_init(struct mt76x02_dev *dev);
0035 int mt76x2u_mcu_fw_init(struct mt76x02_dev *dev);
0036
0037 int mt76x2u_alloc_queues(struct mt76x02_dev *dev);
0038 void mt76x2u_queues_deinit(struct mt76x02_dev *dev);
0039 void mt76x2u_stop_queues(struct mt76x02_dev *dev);
0040 int mt76x2u_skb_dma_info(struct sk_buff *skb, enum dma_msg_port port,
0041 u32 flags);
0042
0043 #endif