Date: Tue, 5 Jan 2016 08:00:14 +0100 From: Sebastian Huber <sebastian.huber@embedded-brains.de> To: freebsd-usb@freebsd.org Subject: dwc_otg: Problem with directly connected full/low speed devices Message-ID: <568B69FE.5030307@embedded-brains.de>
next in thread | raw e-mail | index | archive | help
Hello, I use an Altera Cyclone V development kit which the dwc_otg driver from=20 FreeBSD. The device enumeration of full/low speed devices directly=20 connected to the root hub fails since split transactions are used. If I=20 connect them via a hub it works fine. I used the following hack to get=20 them working with a direct connection: diff --git a/sys/dev/usb/controller/dwc_otg.c=20 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 !=3D NULL) { + if (xfer->xroot->udev->parent_hs_hub !=3D NULL &&= 0) { hcsplt =3D 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=20 the Altera Cyclone V board or is this problem also present on other=20 boards e.g. RPI2? --=20 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@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine gesch=C3=A4ftliche Mitteilung im Sinne des EHUG= .
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?568B69FE.5030307>