16 Jun 2014

Daily snippet

  • Was trying to implement the endpoint changes in the FX2LP firmware but I have a bad news that Cypress FX1/2 let's you access only endpoints no 1,2,4,6,8 where endpoint 1 is a regular endpoint of int/bulk transfer type and 2,4,6,8 are large endpoints with double/triple/quad buffering. No other endpoints!
  • With endpoints 1, 2, 4, 6 already in use, this puts most of our plans about including UVC A/B preview and HDMI audio in trouble.
  • Here is an excerpt from EZ-USB® Technical Reference Manual, pg 87.

  • Don't know whether the other end-points are being used internally to implement multi-buffering or if they had decided to remove them for simplicity. The C code we have is mostly about initialization and USB descriptors other than that its all binary blobs and there's nothing to play with.
  • Here is another diagram from pg 99 to support this

  • If more curious, go though Chapter 8 - Access to endpoint buffers of that document.
  • Linux serial driver does not natively support DTR/DSR flow control but supports RTS/CTS flow control as described here. We can have DPDT switch to connect DTR/DSR to RTS/CTS as a workaround as explained in that article.

No comments:

Post a Comment