libopencm3/libopencm3 — pull request #373 by H2OBrain (2014-12-05 14:17:32+00:00)
Title: LTDC initial work, USB multiple package trx (proof of concept), sync (added try_lock)

I don't know how to split stuff in this pull..

SYNC
- Should be ready to accept (mutex_try_lock()), maybe change return type

LTDC
- Initial work
- Some definitions belong in different header files
- All the helper functions and names are open for discussion

USB
- Fix for <16 word fifo buffer definition
- Definition for packet count mask (OTG_FS_DIEPSIZ_PKTMSK)
- Proof of concept for multi packet transmission
- Would need some changes in usb to work, so bad :(
- Would it be possible to add a private data void-pointer or something to each function and the driver definition?
- For some reason max 7 packets à 64 bytes can be transmitted
- I still don't get the meaning of INEPTXSA desctription in ref. manual RM0090,Rev.8
- "The address must be aligned with a 32-bit memory location"
- This comment sounds like it's an address in bytes but in every library I saw the address is set in words.