On 04/06/13 22:50, Oleksandr Tymoshenko wrote:
Hello,

This is first iteration of Host Mode support for Mentor Graphics
OTG USB controller. I tested it by building kernel with USB memory
stick mounted as /usr/obj, resulting kernel was bootable and worked fine.
I reused some ideas (mostly for channel-management) from
DWT OTG driver.

Some pieces are still missing:
- Support for SPLIT transactions, I don not have high speed hub
     right now to test it, but implementing it should be really
straighforward.
- Isochronous transfers. I do not have hardware to test this. Does
     anybody have any suggestion about simple use case?
- Control Data OUT transaction
- Wrapper for atmel HW has not ben synced with new core logic requirements
     yet

Please review and test. I tested it only with gcc-built kernel/world.
Now when
first iteration is finished I'm going to update all my boards to new
world order
(clang/EABI) and re-test this stuff.

Patch:
http://people.freebsd.org/~gonzo/arm/patches/beaglebone-musb.diff

Hi,

Supporting split transactions is required:

+
+               /* SPLIT transaction */
+               MUSB2_WRITE_1(sc, MUSB2_REG_RXHADDR(0), 0);
+               MUSB2_WRITE_1(sc, MUSB2_REG_RXHUBPORT(0), 0);
+

See EHCI driver:

            EHCI_QH_SET_HUBA(xfer->xroot->udev->hs_hub_addr) |
            EHCI_QH_SET_PORT(xfer->xroot->udev->hs_port_no));

This feature should be enabled when:

Connected root HUB port is running HIGH speed, and the connected device is LOW or FULL speed. Try connecting a USB keyboard through any high speed USB HUB.

--HPS
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to