dwc_otg: Problem with directly connected full/low speed devices
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Jan 5 07:07:01 UTC 2016
Hello,
I use an Altera Cyclone V development kit which the dwc_otg driver from
FreeBSD. The device enumeration of full/low speed devices directly
connected to the root hub fails since split transactions are used. If I
connect them via a hub it works fine. I used the following hack to get
them working with a direct connection:
diff --git a/sys/dev/usb/controller/dwc_otg.c
b/sys/dev/usb/controller/dwc_otg.c
index 2110b94..37cca8e 100644
--- a/sys/dev/usb/controller/dwc_otg.c
+++ b/sys/dev/usb/controller/dwc_otg.c
@@ -3340,7 +3340,7 @@ dwc_otg_setup_standard_chain(struct usb_xfer *xfer)
case USB_SPEED_FULL:
case USB_SPEED_LOW:
/* check if root HUB port is running High Speed */
- if (xfer->xroot->udev->parent_hs_hub != NULL) {
+ if (xfer->xroot->udev->parent_hs_hub != NULL && 0) {
hcsplt = HCSPLT_SPLTENA |
(xfer->xroot->udev->hs_port_no <<
HCSPLT_PRTADDR_SHIFT) |
I am not sure how to fix this properly. Is this a specific problem with
the Altera Cyclone V board or is this problem also present on other
boards e.g. RPI2?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the freebsd-usb
mailing list