Skip site navigation (1)Skip section navigation (2)
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>