Commit graph

1269 commits

Author SHA1 Message Date
Hardy Griech
b32df0796e must use ld for clang build. lld optimizes at least for rp2040 too much away 2026-02-11 12:17:02 +01:00
Hardy Griech
d9802304ac Merge remote-tracking branch 'origin/develop' into clang-corrections 2026-02-08 18:38:35 +01:00
Andrew Kohlsmith
a1e9cf05b2
fix panic message in multicore_doorbell_claim_unused
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2026-02-07 20:17:23 -06:00
Andy Lin
abd7c9ad2a
Fix RP2040 crash with PICO_*_IN_RAM and NaN propagation (#2772)
``__check_nan<f|d><1|2>`` is hard-coded into ``.text`` instead
of being wrapped with ``<double|float>_section`` like other
``__aeabi*`` functions. When those functions are moved to SRAM,
this leaves ``__check_nan*`` in flash, causing GCC to emit a veneer
call that clobbers ip and corrupts the saved ``lr`` in
``wrapper_func_<d|f><1|2>``.

Fixes #2771

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-02-07 20:15:48 -06:00
Andrew Scheller
dc4be9c54e
ADC FIFO depth is the same on both RP2040 and RP2350 (#2806)
Both chips have "8 element receive sample FIFO"
2026-02-07 20:12:11 -06:00
Graham Sanderson
218603253b
make host hardware_ libraries depend on hardware_claim too as it was moved to common in 2.0.0 (#2786) 2026-02-07 20:02:16 -06:00
FLyrfors-MI
e7aed3261b
Correct printf format in pheap.c (#2814)
See #2813
2026-02-07 15:26:00 -06:00
will-v-pi
1ed42558a5
Fix Risc-V binaries when pico_float_none is set (#2800)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2026-02-03 17:38:34 -06:00
Hardy Griech
33fbf867dd Merge remote-tracking branch 'origin/develop' into clang-corrections 2026-02-02 21:33:46 +01:00
Jaylon Gowie
9c6713a8ed
Change PICO_SD_DAT3_PIN from 8 to 9 (#2769)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Board Headers / check-board-headers (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Pin 8 is for PSRAM Chip Select, not SD card. This seems to be an oversight
2026-01-07 17:05:13 -06:00
Andy Lin
6ec9ea0657
Add WeAct RP2350A core board V10 (#2777)
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-01-07 17:04:36 -06:00
Romain
e316b9b6f9
Fix typo in gpio.h (#2705)
Align the comments and documentation with the correct constant name
2026-01-07 16:29:17 -06:00
Disappear9
9437573186
Add board definition for nologo RP2350 USB (#2767)
* Add header for nologo_rp2350_usb board configuration

* Remove PICO_SMPS_MODE_PIN definition

Removed definition for PICO_SMPS_MODE_PIN.

* Update nologo_rp2350_usb.h
2026-01-07 16:27:45 -06:00
Richard Hulme
52d3592d41
Add missing dependency to hardware_timer in host-mode pico-platform (#2734)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Fixes #2733
2026-01-05 17:11:12 -06:00
Petr Hosek
1cc19a2130
Omit semicolons after _Pragma directives (#2780)
These are not statements and shouldn't be terminated by semicolons; in
newer versions of Clang separating these by semicolons results in a
build error.

We can also further simplify `remove_volatile_cast` by using the comma
operator and avoiding the reliance on non-standard GNU extensions.
2026-01-05 16:56:29 -06:00
madh4tter
9ecafe71d1
Multicore documentation fix (#2703)
* Multicore documentation fix

* Update src/rp2_common/pico_multicore/include/pico/multicore.h

Co-authored-by: Andrew Scheller <lurch@durge.org>

---------

Co-authored-by: TITLEY\adam.nelson <adam.nelson@titley-scientific.com>
Co-authored-by: Andrew Scheller <lurch@durge.org>
2026-01-05 16:55:13 -06:00
graham sanderson
578dabb60b fix host build error of pico_stdlib_test caused by recent host changes 2026-01-05 16:23:09 -06:00
Petr Hosek
f600a5bd9e
Update the localtime_r declaration for LLVM libc (#2775)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Waiting to run
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Waiting to run
Bazel presubmit checks / other-bazel-checks (push) Waiting to run
Check Configs / check-configs (push) Waiting to run
CMake / build (push) Waiting to run
Build on macOS / build (push) Waiting to run
Build on Windows / build (push) Waiting to run
Check Board Headers / check-board-headers (push) Has been cancelled
This is to match upstream declaration and avoid conflicting declaration
error. This declaration will be removed after the next Clang update
since LLVM libc now implements localtime_r but we keep the declaration
for now to allow soft transition for SDK users.
2026-01-05 12:09:55 -06:00
BlockListed
a3dbebb184
correct reference to rp2350 (#2762) 2026-01-05 11:48:08 -06:00
Andrew Scheller
8f5b574782
Add missing pio_encode_wait_jmppin function to pio_instructions.h (#2755) 2026-01-05 11:47:16 -06:00
Richard Hulme
6665319aad
Add pico_unique_id library to host platform (#2751)
Fixes #2750
2026-01-05 11:43:51 -06:00
Richard Hulme
9d1b3c691d
Add definition of PICO_NUM_VTABLE_IRQS to host build (#2749)
Fixes #2748
2026-01-05 11:41:58 -06:00
Richard Hulme
c0b8539242
Host GPIO improvements (#2737)
* Add empty 'check_gpio_param' to host GPIO

All the approriate gpio_xxx functions now call check_gpio_param.  This
provides an easy way for a project to add simple range checking by
defining a final version of check_gpio_param, which whatever error
mechanism it chooses if an invalid value is passed.

Refs #2736

* Declare all host GPIO functions weak

This allows them to be easily overridden by user code for testing
purposes.

Refs #2736

* Mark all parameters in host GPIO unused

This prevents lots of compiler warnings if the default warning level
is increased.

Refs #2736

* Add missing functions/types to host GPIO

Some RP2350 GPIO_FUNC_ enums don't match the values defined in the
rp2350 hardware header but the actual values shouldn't matter if only
the enums are used (i.e. no magic numbers).

Refs #2736
2026-01-05 11:40:37 -06:00
Richard Hulme
f37481723e
Fix incorrect Bazel dependency in host/hardware_irq (#2739)
Bazel configuration adds a dependency on hardware_claim in 'host' but
it doesn't exist there.  It's in 'common'.

Fixes #2738
2026-01-05 11:37:10 -06:00
Andrew Scheller
49451b38cb
Fix small Doxygen syntax-typos (#2730) 2026-01-05 11:31:08 -06:00
Peter Harper
5986b8386c
Set picotest_error_code in PICOTEST_CHECK_AND_ABORT (#2722)
Fixes #2721
2026-01-05 11:30:19 -06:00
Earle F. Philhower, III
2e3374ba37
Make private async_context_*_execute_sync static (#2679)
Fixes #2678

The FreeRTOS, Poll, and Threadsafe async_context implementations have
execute_sync functions that's set as a member of their
async_context_type_t struct for use by the user-visible async_context
API.  These implementation functions should not be accessible
by user code which chouls only use async_context_execute_sync and
not the low-lever async_context_{freertos,poll,threadsafe}_execute_sync
implementation.

Make these private functions static like the other low-level functions
in the async_context_type_t struct.
2026-01-05 11:23:41 -06:00
drewpo28
a9c381dc3f
Added Waveshare RP2350 PiZero board header (#2674)
Co-authored-by: Andrew Pochinchik <andrew.pochinchik@ftco.ltd>
2026-01-05 11:22:04 -06:00
m24goller09
a13f46a11e
Fixed multicore_doorbell_claim_under_lock (#2667) 2026-01-05 11:21:24 -06:00
will-v-pi
5c419dcfba
Add PICO_CONFIG entries for the metadata block configuration defines (#2671)
Includes rejigging it a bit, as the checking script requires #defines for all configs
2026-01-05 11:17:53 -06:00
Jérôme Hordies
645df1b99a
Add Raspberry Pi 500's RP2040 board support Fixes #2640 (#2641)
* Add Raspberry Pi 500 board support

- W25X10CL flash configuration for DSPI mode
- USB standalone operation support
- Complete GPIO pin documentation with keyboard matrix mapping
- Debug UART configuration on GP16
- Hardware-specific boot and power management settings

Tested with TinyUSB MIDI example - successful enumeration and operation.

* Correct Pi 500 board support: RP2040 chip, proper naming

- Rename to raspberry_pi_pi500_rp2040.h for clarity
- Correct chip type from RP2350 to RP2040
- Remove pico2.h inheritance, use self-contained definitions
- Add comprehensive GPIO pin mapping documentation
- Include critical power management warning
- Configure W25X10CL flash support for RP2040

* PICO_RP2040_B0_SUPPORTED can be changed to 0, since all Pi 500s are using RP2040 B2.

* Update Raspberry Pi 500 board support for minimal original intent.
- Fix mistake done in pico.h PICO_RP2040_B0_SUPPORTED 0 => 1
- Disable B0 support in pi500_rp2040
- Fix flash size 1M-Bit not 1Mb
- Add Matrix pin definition

* Fix flash size.
Add warning on GP19
Remove GP17

* Adding UART TX GP16

* Add Caps led as default led

---------

Co-authored-by: Jerome Hordies <jerome.hordies.ext@luminus.be>
2026-01-05 11:15:54 -06:00
Andrew Scheller
2b42302b42
Documentation tweak for pio_sm_set_pindirs_with_mask (#2693)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
2025-12-29 14:26:37 -06:00
Miaou
193c70a262
Fix documentation group of critical_section_is_initialized (#2741) (#2742) 2025-12-29 14:22:27 -06:00
armandomontanez
a76f2416ba
Add fallback URLs for Bazel gcc toolchains (#2752)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
Fixes #2747
2025-12-08 11:21:27 +00:00
Hardy Griech
9624ce6117 now using multilib concept which makes everything much cleaner and clearer 2025-10-30 07:30:03 +01:00
Hardy Griech
fe941af87f catch the case that PICO_CLIB is not set 2025-10-17 14:39:17 +02:00
Hardy Griech
465dff2808 use the same runtime_init() as for newlib -> picolibc now working for clang19.1.5/21.1.1 2025-10-16 15:46:46 +02:00
Hardy Griech
f7255e7a55 code review I 2025-10-15 21:23:21 +02:00
Hardy Griech
d13a84ff70 make newlib the default 2025-10-15 20:30:24 +02:00
Hardy Griech
bf670a8a32 pico needs also some support 2025-10-15 20:13:34 +02:00
Hardy Griech
9dd3ce5bcf correct bazel config 2025-10-15 18:51:48 +02:00
Hardy Griech
4a775eedfd finetuning: now it is working also with picolibc 2025-10-15 18:48:30 +02:00
Hardy Griech
571d2eda94 make it compile with clang21.1.1: llvm_libc_interface changes 2025-10-15 17:58:40 +02:00
Hardy Griech
6feb9b9b01 make it compile with clang21.1.1: cmake changes for newlib/llvm_libc 2025-10-15 17:57:58 +02:00
Hardy Griech
9d82a9205a Merge remote-tracking branch 'origin/develop' into clang-corrections 2025-10-15 13:04:22 +02:00
Hardy Griech
28aabfa10e enhanced sysroot handling, sysroot did not took selected clib into account 2025-10-15 13:01:31 +02:00
armandomontanez
8fcd44a171
Forward declare __sev(), __wfe(), __wfi() (#2658)
Some checks failed
Bazel presubmit checks / bazel-build-check (macos-latest) (push) Has been cancelled
Bazel presubmit checks / bazel-build-check (ubuntu-latest) (push) Has been cancelled
Bazel presubmit checks / other-bazel-checks (push) Has been cancelled
Check Configs / check-configs (push) Has been cancelled
CMake / build (push) Has been cancelled
Build on macOS / build (push) Has been cancelled
Build on Windows / build (push) Has been cancelled
If the compiler in use offers __sev(), __wfe(), or __wfi(), forward
declare them to be sure they're available for use.
2025-09-15 13:14:08 -05:00
Andrew Scheller
6b395cce04
Fix pico_status_led to change the color of an already-on colored LED (#2632)
Partially fixes #2630, as it doesn't take care of the required delay between setting the LED
2025-09-15 13:09:21 -05:00
armandomontanez
87c9c013fe
More robust clobbering of ARM builtins on host (#2657)
Since ARM hosts have builtins listed in hardware/sync.h, these builtins
should be clobbered. Newer versions of LLVM/Clang emit an error when
clobbering these builtins, so this switches the overrides to use the
same patterns as pico_atomic to clobber the builtins.
2025-09-15 13:04:09 -05:00
Martin Budden
17b914418d
Fix unused parameter warning. (#2663) 2025-09-15 12:53:06 -05:00