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.
struct dt_driver dwusb_driver __dt_driver
DesignWare USB3 devicetree driver.
#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.
static const char * dwusb_ids[]
DesignWare USB3 compatible model identifiers.
struct device dev
Generic device.
int(* probe)(struct dt_device *dt, unsigned int offset)
Probe device.
#define ENOMEM
Not enough space.
Synopsys DesignWare USB3 host controller driver.
void xhci_init(struct xhci_device *xhci)
Initialise device.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
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.
static int dwusb_probe(struct dt_device *dt, unsigned int offset)
Probe devicetree device.
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.
static void dwusb_remove(struct dt_device *dt)
Remove devicetree device.
#define ENODEV
No such device.
#define DWUSB_GCTL_PRTDIR_HOST
Operate as a host.
static struct xen_remove_from_physmap * remove
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
const char * name
Driver name.
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.
static void * dt_get_drvdata(struct dt_device *dt)
Get devicetree driver-private data.