xref: /openbmc/linux/drivers/net/wireless/mediatek/mt76/mt76x02_usb.h (revision cbecf716ca618fd44feda6bd9a64a8179d031fc5)
10e3d6777SRyder Lee /* SPDX-License-Identifier: ISC */
2905db747SLorenzo Bianconi /*
3905db747SLorenzo Bianconi  * Copyright (C) 2018 Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
4905db747SLorenzo Bianconi  */
5905db747SLorenzo Bianconi 
6905db747SLorenzo Bianconi #ifndef __MT76x02_USB_H
7e3469c5eSColin Ian King #define __MT76x02_USB_H
8905db747SLorenzo Bianconi 
995c3e451SLorenzo Bianconi #include "mt76x02.h"
10905db747SLorenzo Bianconi 
11fdb96b06SLorenzo Bianconi int mt76x02u_mac_start(struct mt76x02_dev *dev);
12905db747SLorenzo Bianconi void mt76x02u_init_mcu(struct mt76_dev *dev);
1395c3e451SLorenzo Bianconi void mt76x02u_mcu_fw_reset(struct mt76x02_dev *dev);
1495c3e451SLorenzo Bianconi int mt76x02u_mcu_fw_send_data(struct mt76x02_dev *dev, const void *data,
15905db747SLorenzo Bianconi 			      int data_len, u32 max_payload, u32 offset);
16905db747SLorenzo Bianconi 
17c2db13acSLorenzo Bianconi int mt76x02u_skb_dma_info(struct sk_buff *skb, int port, u32 flags);
188d66af49SLorenzo Bianconi int mt76x02u_tx_prepare_skb(struct mt76_dev *mdev, void *data,
19cfaae9e6SLorenzo Bianconi 			    enum mt76_txq_id qid, struct mt76_wcid *wcid,
20cfaae9e6SLorenzo Bianconi 			    struct ieee80211_sta *sta,
21b5903c47SLorenzo Bianconi 			    struct mt76_tx_info *tx_info);
22*d80e52c7SFelix Fietkau void mt76x02u_tx_complete_skb(struct mt76_dev *mdev, struct mt76_queue_entry *e);
238d71aef9SStanislaw Gruszka void mt76x02u_init_beacon_config(struct mt76x02_dev *dev);
24c6ad1febSStanislaw Gruszka void mt76x02u_exit_beacon_config(struct mt76x02_dev *dev);
25905db747SLorenzo Bianconi #endif /* __MT76x02_USB_H */
26