#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/mbus.h>
#include <linux/clk.h>
#include <linux/platform_data/usb-ehci-orion.h>
#include <linux/of.h>
#include <linux/phy/phy.h>
#include <linux/usb.h>
#include <linux/usb/hcd.h>
#include <linux/io.h>
#include <linux/dma-mapping.h>
#include "ehci.h"
#define rdl(off) …
#define wrl(off, val) …
#define USB_CMD …
#define USB_CMD_RUN …
#define USB_CMD_RESET …
#define USB_MODE …
#define USB_MODE_MASK …
#define USB_MODE_DEVICE …
#define USB_MODE_HOST …
#define USB_MODE_SDIS …
#define USB_CAUSE …
#define USB_MASK …
#define USB_WINDOW_CTRL(i) …
#define USB_WINDOW_BASE(i) …
#define USB_IPG …
#define USB_PHY_PWR_CTRL …
#define USB_PHY_TX_CTRL …
#define USB_PHY_RX_CTRL …
#define USB_PHY_IVREF_CTRL …
#define USB_PHY_TST_GRP_CTRL …
#define USB_SBUSCFG …
#define USB_SBUSCFG_BAWR_ALIGN_128B …
#define USB_SBUSCFG_BARD_ALIGN_128B …
#define USB_SBUSCFG_AHBBRST_INCR16 …
#define USB_SBUSCFG_DEF_VAL …
#define DRIVER_DESC …
#define hcd_to_orion_priv(h) …
struct orion_ehci_hcd { … };
static struct hc_driver __read_mostly ehci_orion_hc_driver;
static const u64 dma_mask_orion = …;
static const u64 dma_mask_ac5 = …;
static void orion_usb_phy_v1_setup(struct usb_hcd *hcd)
{ … }
static void
ehci_orion_conf_mbus_windows(struct usb_hcd *hcd,
const struct mbus_dram_target_info *dram)
{ … }
static int ehci_orion_drv_reset(struct usb_hcd *hcd)
{ … }
static int __maybe_unused ehci_orion_drv_suspend(struct device *dev)
{ … }
static int __maybe_unused ehci_orion_drv_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(ehci_orion_pm_ops, ehci_orion_drv_suspend,
ehci_orion_drv_resume);
static const struct ehci_driver_overrides orion_overrides __initconst = …;
static int ehci_orion_drv_probe(struct platform_device *pdev)
{ … }
static void ehci_orion_drv_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id ehci_orion_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, ehci_orion_dt_ids);
static struct platform_driver ehci_orion_driver = …;
static int __init ehci_orion_init(void)
{ … }
module_init(…) …;
static void __exit ehci_orion_cleanup(void)
{ … }
module_exit(ehci_orion_cleanup);
MODULE_DESCRIPTION(…);
MODULE_ALIAS(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;