* Rework hal initialization
* Turn sw interrupt control into a virtual peripheral
* Return a tuple instead of a named struct
* Fix docs
* Remove SystemClockControl
* Move software interrupts under interrupt
* Re-document what's left in system
* Update time docs
* Update sw int docs
* Introduce Config
* Fix tests
* Remove redundant inits
* Doc
* Clean up examples&tests
* Update tests
* Add changelog entry
* Start migration guide
* Restore some convenience-imports
* Remove Config from prelude
Making these available straight from `gpio` aligns it with other Embassy
implementations (mainly nrf and stm32).
Signed-off-by: Priit Laes <plaes@plaes.org>
* implement async for lcd_cam i8080
* lcd_cam: implement InterruptConfigurable for blocking and improve async
* lcd_cam: use new async interrupt semantics from #1835
* lcd_cam: move interrupt handler binding into `new_async()`
* lcd_cam: Instance::is_listening_lcd_done not used
* i8080: no need for seperate `new_async()`
* i8080: don't use DmaTxFuture, just test for dma error after complete
* add HIL tests for LCD_CAM i8080 in blocking and async.
* lcd_cam_i8080: test channels configured for async as well since teh compiler can't prevent it for now
* fmt :-/
* lcd_cam fix comment
* changelog
* lcd_cam async: no need to enable interrupts until polled
* lcd_cam: i8080 update for ReadBuffer changes