Synopsys DesignWare USB3 host controller driver.
Definition in file dwusb.c.
| static int dwusb_probe |
( |
struct dt_device * |
dt, |
|
|
unsigned int |
offset |
|
) |
| |
|
static |
Probe devicetree device.
- Parameters
-
| dt | Devicetree device |
| offset | Starting node offset |
- Return values
-
Definition at line 47 of file dwusb.c.
53 xhci =
zalloc (
sizeof ( *xhci ) );
84 DBGC ( xhci,
"XHCI %s could not register: %s\n",
struct arbelprm_rc_send_wqe rc
int xhci_register(struct xhci_device *xhci)
Register xHCI controller.
#define DWUSB_GCTL
Global core control register.
#define DWUSB_GCTL_PRTDIR_MASK
Port direction mask.
uint32_t readl(volatile uint32_t *io_addr)
Read 32-bit dword from memory-mapped device.
struct device * dev
Underlying hardware device.
struct device dev
Generic device.
#define ENOMEM
Not enough space.
void xhci_init(struct xhci_device *xhci)
Initialise device.
void writel(uint32_t data, volatile uint32_t *io_addr)
Write 32-bit dword to memory-mapped device.
#define DWUSB_GCTL_RESET
Core soft reset.
char * strerror(int errno)
Retrieve string representation of error number.
static void(* free)(struct refcnt *refcnt))
static void dt_set_drvdata(struct dt_device *dt, void *priv)
Set devicetree driver-private data.
void * zalloc(size_t size)
Allocate cleared memory.
#define ENODEV
No such device.
#define DWUSB_GCTL_PRTDIR_HOST
Operate as a host.
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
void * dt_ioremap(struct dt_device *dt, unsigned int offset, unsigned int index, size_t len)
Map devicetree range.
void iounmap(volatile const void *io_addr)
Unmap I/O address.
struct dma_device * dma
DMA device.
uint16_t offset
Offset to command line.
struct dma_device dma
DMA device.
void xhci_unregister(struct xhci_device *xhci)
Unregister xHCI controller.
References DBGC, dt_device::dev, xhci_device::dev, dt_device::dma, xhci_device::dma, dt_ioremap(), dt_set_drvdata(), DWUSB_GCTL, DWUSB_GCTL_PRTDIR_HOST, DWUSB_GCTL_PRTDIR_MASK, DWUSB_GCTL_RESET, ENODEV, ENOMEM, free, iounmap(), mdelay(), xhci_device::name, offset, rc, readl(), xhci_device::regs, strerror(), writel(), xhci_init(), xhci_register(), xhci_unregister(), and zalloc().