#include <linux/clk.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/regmap.h>
#include "mtu3.h"
#include "mtu3_dr.h"
#define PERI_WK_CTRL1 …
#define WC1_IS_C(x) …
#define WC1_IS_EN …
#define WC1_IS_P …
#define PERI_WK_CTRL0 …
#define WC0_IS_C(x) …
#define WC0_IS_P …
#define WC0_IS_EN …
#define WC0_SSUSB0_CDEN …
#define WC0_IS_SPM_EN …
#define PERI_WK_CTRL0_8195 …
#define WC0_IS_P_95 …
#define WC0_IS_C_95(x) …
#define WC0_IS_EN_P3_95 …
#define WC0_IS_EN_P2_95 …
#define PERI_WK_CTRL1_8195 …
#define WC1_IS_C_95(x) …
#define WC1_IS_P_95 …
#define WC1_IS_EN_P0_95 …
#define PERI_SSUSB_SPM_CTRL …
#define SSC_IP_SLEEP_EN …
#define SSC_SPM_INT_EN …
enum ssusb_uwk_vers { … };
static void ssusb_wakeup_ip_sleep_set(struct ssusb_mtk *ssusb, bool enable)
{ … }
int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb,
struct device_node *dn)
{ … }
void ssusb_wakeup_set(struct ssusb_mtk *ssusb, bool enable)
{ … }
static void host_ports_num_get(struct ssusb_mtk *ssusb)
{ … }
static int ssusb_host_enable(struct ssusb_mtk *ssusb)
{ … }
static int ssusb_host_disable(struct ssusb_mtk *ssusb)
{ … }
int ssusb_host_resume(struct ssusb_mtk *ssusb, bool p0_skipped)
{ … }
int ssusb_host_suspend(struct ssusb_mtk *ssusb)
{ … }
static void ssusb_host_setup(struct ssusb_mtk *ssusb)
{ … }
static void ssusb_host_cleanup(struct ssusb_mtk *ssusb)
{ … }
int ssusb_host_init(struct ssusb_mtk *ssusb, struct device_node *parent_dn)
{ … }
void ssusb_host_exit(struct ssusb_mtk *ssusb)
{ … }