forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.4 KiB
103 lines
2.4 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* |
|
* mtu3_dr.h - dual role switch and host glue layer header |
|
* |
|
* Copyright (C) 2016 MediaTek Inc. |
|
* |
|
* Author: Chunfeng Yun <[email protected]> |
|
*/ |
|
|
|
#ifndef _MTU3_DR_H_ |
|
#define _MTU3_DR_H_ |
|
|
|
#if IS_ENABLED(CONFIG_USB_MTU3_HOST) || IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE) |
|
|
|
int ssusb_host_init(struct ssusb_mtk *ssusb, struct device_node *parent_dn); |
|
void ssusb_host_exit(struct ssusb_mtk *ssusb); |
|
int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb, |
|
struct device_node *dn); |
|
int ssusb_host_enable(struct ssusb_mtk *ssusb); |
|
int ssusb_host_disable(struct ssusb_mtk *ssusb, bool suspend); |
|
void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable); |
|
|
|
#else |
|
|
|
static inline int ssusb_host_init(struct ssusb_mtk *ssusb, |
|
|
|
struct device_node *parent_dn) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void ssusb_host_exit(struct ssusb_mtk *ssusb) |
|
{} |
|
|
|
static inline int ssusb_wakeup_of_property_parse( |
|
struct ssusb_mtk *ssusb, struct device_node *dn) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline int ssusb_host_enable(struct ssusb_mtk *ssusb) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline int ssusb_host_disable(struct ssusb_mtk *ssusb, bool suspend) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable) |
|
{} |
|
|
|
#endif |
|
|
|
|
|
#if IS_ENABLED(CONFIG_USB_MTU3_GADGET) || IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE) |
|
int ssusb_gadget_init(struct ssusb_mtk *ssusb); |
|
void ssusb_gadget_exit(struct ssusb_mtk *ssusb); |
|
#else |
|
static inline int ssusb_gadget_init(struct ssusb_mtk *ssusb) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void ssusb_gadget_exit(struct ssusb_mtk *ssusb) |
|
{} |
|
#endif |
|
|
|
|
|
#if IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE) |
|
int ssusb_otg_switch_init(struct ssusb_mtk *ssusb); |
|
void ssusb_otg_switch_exit(struct ssusb_mtk *ssusb); |
|
void ssusb_mode_switch(struct ssusb_mtk *ssusb, int to_host); |
|
int ssusb_set_vbus(struct otg_switch_mtk *otg_sx, int is_on); |
|
void ssusb_set_force_mode(struct ssusb_mtk *ssusb, |
|
enum mtu3_dr_force_mode mode); |
|
|
|
#else |
|
|
|
static inline int ssusb_otg_switch_init(struct ssusb_mtk *ssusb) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void ssusb_otg_switch_exit(struct ssusb_mtk *ssusb) |
|
{} |
|
|
|
static inline void ssusb_mode_switch(struct ssusb_mtk *ssusb, int to_host) |
|
{} |
|
|
|
static inline int ssusb_set_vbus(struct otg_switch_mtk *otg_sx, int is_on) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void |
|
ssusb_set_force_mode(struct ssusb_mtk *ssusb, enum mtu3_dr_force_mode mode) |
|
{} |
|
|
|
#endif |
|
|
|
#endif /* _MTU3_DR_H_ */
|
|
|