* Platform updates
- Add PICO_RP2040=1 to rp2040 builds
- Add new PICO_RP2040_B0/1/2_SUPPORTED macros and retailer chip specific code to use
- Add doxygen to platform.h
- Make pico.h includable from assembly (because header order is important and tricky) - split out platform_asm.h
- Switch to using PICO_RP2040_B0_SUPPORTED in board headers
mutex_t and mutex_ are reverted to non recursive versions (pre SDK1.2.0) and new recursive_mutex_t and recursive_mutex_ functions have been added
PICO_MUTEX_ENABLE_SDK120_COMPATIBILITY flag has been added to allow old SDK1.2.0 compatibility (i.e. mutex_t can be used recursively or not) but this is slower (and is will be removed in a future version)
add watchdog_enable_caused_reboot. Note there is a small backwards incompatibility in so far as watchdog_enable sets scratch[4] to a magic value not 0 now, however this behavior was not documented before.
* add stdio_usb_connected() method
* add PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS to allow waiting for CDC connection during init(*
* add puts_raw and putchar_raw to skip any CR/LF translation
Fixes build when pico_stdlib isn't included in the target libraries:
pico-sdk/src/rp2_common/pico_divider/divider.S:8:10: fatal error: hardware/divider_helper.S: No such file or directory
Also fixes the same error in pico_double, though I'm not sure how/why:
pico-sdk/src/rp2_common/pico_double/double_aeabi.S:9:10: fatal error: hardware/divider_helper.S: No such file or directory
* use PICO_DISABLE_SHARED_IRQ_HANDLERS exclusively as config for no shared handler support (rather than also PICO_MAX_SHARED_IRQ_HANDLERS == 0)
additionally make irq_add_shared_irq_handler() call irq_set_exclusive_handler() so that single usage of an IRQ still works
* Comment typo
Co-authored-by: Luke Wren <wren6991@gmail.com>
* Add missing DREQ_s
* store actual clock frequency in clock_configure (fixes#368)
* use dma DREQ values defined in dreqs/dma.h
* Fix hw_is_claimed, and add xxx_is_claimed APIs
* Add some PIO irq helper methods
* Add DMA channel IRQ status getter and clear methods
* Implement the correct PIO IRQ status/clear methods (good to have methods here as the h/w interrupt registers are super confusing)
* fix pico_multicore dependencies
* add missing wrapper func __aeabi_f2d
* Further DMA/PIO IRQ API cleanup (and review fixes)
* add PICO_INT64_OPS_IN_RAM flag
Most build related items have moved into <tinyusb>/hw/bsp/rp2040/family.cmake which is now the source of truth
force merging as same code save submodule was already reviewed