33 lines
1 KiB
C
33 lines
1 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
/*
|
||
|
* Copyright (C) 2017 MediaTek Inc.
|
||
|
*/
|
||
|
|
||
|
#ifndef _MUSB_QMU_H_
|
||
|
#define _MUSB_QMU_H_
|
||
|
|
||
|
#ifdef CONFIG_MTK_MUSB_QMU_SUPPORT
|
||
|
#include "musb_core.h" /* for struct musb */
|
||
|
|
||
|
extern int musb_qmu_init(struct musb *musb);
|
||
|
extern void musb_qmu_exit(struct musb *musb);
|
||
|
extern void musb_kick_D_CmdQ(struct musb *musb, struct musb_request *request);
|
||
|
extern void musb_disable_q_all(struct musb *musb);
|
||
|
extern irqreturn_t musb_q_irq(struct musb *musb);
|
||
|
extern void musb_flush_qmu(u32 ep_num, u8 isRx);
|
||
|
extern void musb_restart_qmu(struct musb *musb, u32 ep_num, u8 isRx);
|
||
|
extern bool musb_is_qmu_stop(u32 ep_num, u8 isRx);
|
||
|
|
||
|
#ifndef CONFIG_MTK_MUSB_QMU_PURE_ZLP_SUPPORT
|
||
|
extern void musb_tx_zlp_qmu(struct musb *musb, u32 ep_num);
|
||
|
#endif
|
||
|
|
||
|
/*FIXME, not good layer present */
|
||
|
extern void mtk_qmu_enable(struct musb *musb, u8 EP_Num, u8 isRx);
|
||
|
extern void __iomem *qmu_base;
|
||
|
extern int mtk_kick_CmdQ(struct musb *musb,
|
||
|
int isRx, struct musb_qh *qh, struct urb *urb);
|
||
|
extern void musb_host_active_dev_add(unsigned int addr);
|
||
|
#endif
|
||
|
#endif
|