* Add pico_i2c_pio example
* Update pico_i2c_pio's main function documentation
* Update bootloader reference.
* Implement uart output for the pico_i2c_pio example.
* pin to a specific rev of i2c-pio
* Bump i2c-pio to get the fix for write_read
Implement usb_device for rp2040
Limitations
- RP2040-E5 (Device enumeration workaround) is not implemented
- Suspend/resume is not implemented
- VBus detection is not tested and may not be fully implemented
* Improve clock frequency stuff for uninitialized clocks
- Made clocks singletons so the frequency handling actually works as expected
- Added initial frequencies
- Improved the docs
- Added a Clock trait
* Add pico examples.
These have the benefit of knowing which external crystal is attached.
Even though it always should be a 12 MHz crystal.
Thus we can setup the clocks properly
I also changed the rp2040 examples to work out of the box for pico boards since that will probably be used most of the time