diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-02-27 16:00:53 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-03-26 08:36:25 +0100 |
commit | 105b2eabd55aa0d6f548ce29e487c9dd98836ec5 (patch) | |
tree | 32a172f241aabebc485207a0412c80a6a5c1e886 /include/usb | |
parent | fddd1c7c51a82bf8b8e04ce6c24fee49a1d89272 (diff) | |
download | barebox-105b2eabd55aa0d6f548ce29e487c9dd98836ec5.tar.gz barebox-105b2eabd55aa0d6f548ce29e487c9dd98836ec5.tar.xz |
usb: Add U-Boot xhci driver
This adds the xhci driver from U-Boot-2020.04-rc2. The usual things
like adjusting to the barebox driver model and using dev_* instead of
printf/puts/debug messages are made.
The previously existing PCI support is not present in this driver
currently. XHCI PCI support was not enabled in any defconfig, so we
boldly assume it was unused. It shouldn't be much effort though to
add it again.
The memory handling has been changed for barebox. The various
descriptor rings and descriptors are allocated with dma_alloc_coherent()
which makes the cache flushing/invalidating unnecessary. They are left
in the driver in case we want to change that.
The XHCI has a nasty limitation in that the TRBs may not cross a 64KiB
boundary. This limitation has been handled in the U-Boot driver, but the
handling seems to be broken. We help ourselves with using a bounce
buffer which is sufficiently aligned, but this limits the maximum bulk
transfer size to 64KiB.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/usb')
-rw-r--r-- | include/usb/xhci.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/include/usb/xhci.h b/include/usb/xhci.h index 1a3138b132..b1ad0185b9 100644 --- a/include/usb/xhci.h +++ b/include/usb/xhci.h @@ -24,10 +24,4 @@ #ifndef __XHCI_HCD_H #define __XHCI_HCD_H -struct xhci_data { - void __iomem *regs; -}; - -int xhci_register(struct device_d *dev, struct xhci_data *data); - #endif |