Hi,

I've written an USB Video Class Driver (UVC) to use the DaVinci EVM (1.10) as a video class device (camera). It works fine with a configured in-endpoint (isochronous) which sends only one packet per micro frame or rather the transfer mode is set to "high speed" (max 64Mbit/s). But I need to transfer three packets per micro frame with a maximum payload size of 1024 byte [1]. To do so, I set the wMaxPacketSize to 0x1400 [2] in the iso endpoint descriptor. That seems to break the "rules" for high bandwidth periodic transfers as defined in the musb_gadget.c file.

e.g. this check:
/* REVISIT this rules out high bandwidth periodic transfers */
   tmp = le16_to_cpu(desc->wMaxPacketSize);
   if (tmp & ~0x07ff)
       goto fail;

Is it possible to setup an isochronous high speed high bandwidth endpoint (max 192Mbit/s)? In case it is, what needs to be changed?

Thanks in advance!
Patrik


[1] should be possible according to the SPRUE35-PDF chapter 4.57
[2] see table 9-14 "Allowed wMaxPacketSize Values for Different Numbers of Transactions per Microframe" in the USB 2.0 specification




_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to