* Use rp2040-hal in all example (possibly through their bsp)
Some of the examples were using the cortex_m_rt::entry method which
misses the device specific spinlock re-initialisation.
This commits makes the usage more consistent by using rp2040_hal exported
macro as the only `entry` method used across examples.
* 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
Bring in line with atsamd-hal GPIO v2
Copied as much as possible. Docs lifted mostly as-is.
Also add sample BSP for the Feather RP2040 in boards/feather_rp2040
May include a few random fixes from currently futile attempt to get doctests working.
Sorry this is a large commit :(
This adds support for input pins, including pulling them high or low.
It also adds two examples: the start of a classic blinky LED example, and an example for reading input.