feat: implement application for receiving images
feat: implement dsi, ltdc, otm8009 display
chore: remove test sdram allocation
feat: vos0, system clock at 480 MHz
chore: split main functions
fix: ability to change pll vcosel, disable pll outputs
feat: implement fmc sdram control
feat: implement clocks enabling
feat: implement cdc application layer, fix enumeration
fix: usb should not rewrite DIEPCTL bits
feat: add rx data callback, increase tx fifo size
fix: make queue thread safe
fix: ensure register access are inline
fix: correctly send functional descriptor
The functional descriptor was not sent correctly,
specifically, it was pointed to its address,
instead of the pointer itself. That meant bunch
of irrelevant stuff was sent instead.
feat: use task_result to indicate blocking
There should be no spin loops inside of the
interrupts, so this change removes them,
and instead uses a result system that has
WOULD_BLOCK result. When this result is returned,
it is expected there was no side-effect and the
function can safely be reran later.
feat: implement enumeration fully
chore: update pin, exti, delay