linux/drivers/usb/dwc3/dwc3-imx8mp.c

// SPDX-License-Identifier: GPL-2.0
/*
 * dwc3-imx8mp.c - NXP imx8mp Specific Glue layer
 *
 * Copyright (c) 2020 NXP.
 */

#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>

#include "core.h"

/* USB wakeup registers */
#define USB_WAKEUP_CTRL

/* Global wakeup interrupt enable, also used to clear interrupt */
#define USB_WAKEUP_EN
/* Wakeup from connect or disconnect, only for superspeed */
#define USB_WAKEUP_SS_CONN
/* 0 select vbus_valid, 1 select sessvld */
#define USB_WAKEUP_VBUS_SRC_SESS_VAL
/* Enable signal for wake up from u3 state */
#define USB_WAKEUP_U3_EN
/* Enable signal for wake up from id change */
#define USB_WAKEUP_ID_EN
/* Enable signal for wake up from vbus change */
#define USB_WAKEUP_VBUS_EN
/* Enable signal for wake up from dp/dm change */
#define USB_WAKEUP_DPDM_EN

#define USB_WAKEUP_EN_MASK

/* USB glue registers */
#define USB_CTRL0
#define USB_CTRL1

#define USB_CTRL0_PORTPWR_EN
#define USB_CTRL0_USB3_FIXED
#define USB_CTRL0_USB2_FIXED

#define USB_CTRL1_OC_POLARITY
#define USB_CTRL1_PWR_POLARITY

struct dwc3_imx8mp {};

static void imx8mp_configure_glue(struct dwc3_imx8mp *dwc3_imx)
{}

static void dwc3_imx8mp_wakeup_enable(struct dwc3_imx8mp *dwc3_imx)
{}

static void dwc3_imx8mp_wakeup_disable(struct dwc3_imx8mp *dwc3_imx)
{}

static irqreturn_t dwc3_imx8mp_interrupt(int irq, void *_dwc3_imx)
{}

static int dwc3_imx8mp_probe(struct platform_device *pdev)
{}

static void dwc3_imx8mp_remove(struct platform_device *pdev)
{}

static int __maybe_unused dwc3_imx8mp_suspend(struct dwc3_imx8mp *dwc3_imx,
					      pm_message_t msg)
{}

static int __maybe_unused dwc3_imx8mp_resume(struct dwc3_imx8mp *dwc3_imx,
					     pm_message_t msg)
{}

static int __maybe_unused dwc3_imx8mp_pm_suspend(struct device *dev)
{}

static int __maybe_unused dwc3_imx8mp_pm_resume(struct device *dev)
{}

static int __maybe_unused dwc3_imx8mp_runtime_suspend(struct device *dev)
{}

static int __maybe_unused dwc3_imx8mp_runtime_resume(struct device *dev)
{}

static const struct dev_pm_ops dwc3_imx8mp_dev_pm_ops =;

static const struct of_device_id dwc3_imx8mp_of_match[] =;
MODULE_DEVICE_TABLE(of, dwc3_imx8mp_of_match);

static struct platform_driver dwc3_imx8mp_driver =;

module_platform_driver();

MODULE_ALIAS();
MODULE_AUTHOR();
MODULE_LICENSE();
MODULE_DESCRIPTION();