cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mtu3_dr.h (2901B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * mtu3_dr.h - dual role switch and host glue layer header
      4 *
      5 * Copyright (C) 2016 MediaTek Inc.
      6 *
      7 * Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
      8 */
      9
     10#ifndef _MTU3_DR_H_
     11#define _MTU3_DR_H_
     12
     13#if IS_ENABLED(CONFIG_USB_MTU3_HOST) || IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE)
     14
     15int ssusb_host_init(struct ssusb_mtk *ssusb, struct device_node *parent_dn);
     16void ssusb_host_exit(struct ssusb_mtk *ssusb);
     17int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb,
     18				struct device_node *dn);
     19int ssusb_host_resume(struct ssusb_mtk *ssusb, bool p0_skipped);
     20int ssusb_host_suspend(struct ssusb_mtk *ssusb);
     21void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable);
     22
     23#else
     24
     25static inline int ssusb_host_init(struct ssusb_mtk *ssusb,
     26
     27	struct device_node *parent_dn)
     28{
     29	return 0;
     30}
     31
     32static inline void ssusb_host_exit(struct ssusb_mtk *ssusb)
     33{}
     34
     35static inline int ssusb_wakeup_of_property_parse(
     36	struct ssusb_mtk *ssusb, struct device_node *dn)
     37{
     38	return 0;
     39}
     40
     41static inline int ssusb_host_resume(struct ssusb_mtk *ssusb, bool p0_skipped)
     42{
     43	return 0;
     44}
     45
     46static inline int ssusb_host_suspend(struct ssusb_mtk *ssusb)
     47{
     48	return 0;
     49}
     50
     51static inline void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable)
     52{}
     53
     54#endif
     55
     56
     57#if IS_ENABLED(CONFIG_USB_MTU3_GADGET) || IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE)
     58int ssusb_gadget_init(struct ssusb_mtk *ssusb);
     59void ssusb_gadget_exit(struct ssusb_mtk *ssusb);
     60int ssusb_gadget_suspend(struct ssusb_mtk *ssusb, pm_message_t msg);
     61int ssusb_gadget_resume(struct ssusb_mtk *ssusb, pm_message_t msg);
     62bool ssusb_gadget_ip_sleep_check(struct ssusb_mtk *ssusb);
     63
     64#else
     65static inline int ssusb_gadget_init(struct ssusb_mtk *ssusb)
     66{
     67	return 0;
     68}
     69
     70static inline void ssusb_gadget_exit(struct ssusb_mtk *ssusb)
     71{}
     72
     73static inline int
     74ssusb_gadget_suspend(struct ssusb_mtk *ssusb, pm_message_t msg)
     75{
     76	return 0;
     77}
     78
     79static inline int
     80ssusb_gadget_resume(struct ssusb_mtk *ssusb, pm_message_t msg)
     81{
     82	return 0;
     83}
     84
     85static inline bool ssusb_gadget_ip_sleep_check(struct ssusb_mtk *ssusb)
     86{
     87	return true;
     88}
     89
     90#endif
     91
     92
     93#if IS_ENABLED(CONFIG_USB_MTU3_DUAL_ROLE)
     94int ssusb_otg_switch_init(struct ssusb_mtk *ssusb);
     95void ssusb_otg_switch_exit(struct ssusb_mtk *ssusb);
     96void ssusb_mode_switch(struct ssusb_mtk *ssusb, int to_host);
     97int ssusb_set_vbus(struct otg_switch_mtk *otg_sx, int is_on);
     98void ssusb_set_force_mode(struct ssusb_mtk *ssusb,
     99			  enum mtu3_dr_force_mode mode);
    100
    101#else
    102
    103static inline int ssusb_otg_switch_init(struct ssusb_mtk *ssusb)
    104{
    105	return 0;
    106}
    107
    108static inline void ssusb_otg_switch_exit(struct ssusb_mtk *ssusb)
    109{}
    110
    111static inline void ssusb_mode_switch(struct ssusb_mtk *ssusb, int to_host)
    112{}
    113
    114static inline int ssusb_set_vbus(struct otg_switch_mtk *otg_sx, int is_on)
    115{
    116	return 0;
    117}
    118
    119static inline void
    120ssusb_set_force_mode(struct ssusb_mtk *ssusb, enum mtu3_dr_force_mode mode)
    121{}
    122
    123#endif
    124
    125#endif		/* _MTU3_DR_H_ */