Synopsys DesignWare USB3 host controller driver.
Definition in file dwusb.c.
| 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.
47 {
51
52
53 xhci =
zalloc (
sizeof ( *xhci ) );
54 if ( ! xhci ) {
56 goto err_alloc;
57 }
60
61
65 goto err_ioremap;
66 }
67
68
73
74
78
79
81
82
84 DBGC ( xhci,
"XHCI %s could not register: %s\n",
86 goto err_register;
87 }
88
90 return 0;
91
93 err_register:
95 err_ioremap:
97 err_alloc:
99}
struct arbelprm_rc_send_wqe rc
uint16_t offset
Offset to command line.
void * dt_ioremap(struct dt_device *dt, unsigned int offset, unsigned int index, size_t len)
Map devicetree range.
static void dt_set_drvdata(struct dt_device *dt, void *priv)
Set devicetree driver-private data.
#define DWUSB_GCTL
Global core control register.
#define DWUSB_GCTL_PRTDIR_HOST
Operate as a host.
#define DWUSB_GCTL_RESET
Core soft reset.
#define DWUSB_GCTL_PRTDIR_MASK
Port direction mask.
#define ENOMEM
Not enough space.
#define ENODEV
No such device.
void iounmap(volatile const void *io_addr)
Unmap I/O address.
void * zalloc(size_t size)
Allocate cleared memory.
static void(* free)(struct refcnt *refcnt))
char * strerror(int errno)
Retrieve string representation of error number.
struct dma_device dma
DMA device.
struct device dev
Generic device.
struct device * dev
Underlying hardware device.
struct dma_device * dma
DMA device.
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
void xhci_unregister(struct xhci_device *xhci)
Unregister xHCI controller.
int xhci_register(struct xhci_device *xhci)
Register xHCI controller.
void xhci_init(struct xhci_device *xhci)
Initialise device.
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().