linux/drivers/usb/host/ehci-orion.c

// SPDX-License-Identifier: GPL-2.0
/*
 * drivers/usb/host/ehci-orion.c
 *
 * Tzachi Perelstein <[email protected]>
 */

#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

/* BAWR = BARD = 3 : Align read/write bursts packets larger than 128 bytes */
#define USB_SBUSCFG_BAWR_ALIGN_128B
#define USB_SBUSCFG_BARD_ALIGN_128B
/* AHBBRST = 3	   : Align AHB Burst to INCR16 (64 bytes) */
#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;

/*
 * Legacy DMA mask is 32 bit.
 * AC5 has the DDR starting at 8GB, hence it requires
 * a larger (34-bit) DMA mask, in order for DMA allocations
 * to succeed:
 */
static const u64 dma_mask_orion =;
static const u64 dma_mask_ac5 =;

/*
 * Implement Orion USB controller specification guidelines
 */
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();