Commit graph

1272 commits

Author SHA1 Message Date
will-v-pi
ceab3cbae2
Update embedded_start_block.inc.S
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
Fix added define missed in the latest develop merge
2026-01-19 21:28:12 +00:00
Graham Sanderson
0b0ca8c336
Merge branch 'develop' into ns-alpha
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
2026-01-05 17:00:33 -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
William Vinnicombe
2c4e1f62f3 Add buffer validation for nonsecure stdio
Prevents nonsecure code printing secure data
2025-12-05 15:23:11 +00:00
William Vinnicombe
26e397aab2 Only take mask for secure call reset functions 2025-12-05 15:03:46 +00:00
William Vinnicombe
9f7afbdb5e Enable sys_info NS API 2025-12-05 14:40:42 +00:00
William Vinnicombe
bd8af3f829 hw_set_bits doesn't work on SAU 2025-12-05 14:14:42 +00:00
William Vinnicombe
8455e64db8 Add NO_FLASH option to split, to run NonSecure from ram 2025-12-04 17:42:52 +00:00
William Vinnicombe
044071bba4 Add scratch_each and secure_scratch splits, and secure_launch_nonsecure_binary_default function to launch default nonsecure binary 2025-12-04 15:33:09 +00:00
William Vinnicombe
cd11286868 Add user callbacks to rom_secure_call 2025-12-04 12:00:30 +00:00
William Vinnicombe
362f83ed2c Make that work correctly 2025-12-04 10:31:59 +00:00
William Vinnicombe
0f8d15cf13 Add pico_set_security_ram_split for simple split configuration 2025-12-04 10:14:45 +00:00
William Vinnicombe
6ef5d37d99 Improve secure call defines 2025-12-04 10:14:45 +00:00
William Vinnicombe
c606caf65e Fix libraries 2025-12-04 10:14:45 +00:00
William Vinnicombe
3326a5fb86 Add CMake function docs 2025-12-04 10:14:45 +00:00
William Vinnicombe
4c3543e4e5 Add nonsecure USB support 2025-12-04 10:14:45 +00:00
William Vinnicombe
326e945641 Tidy up runtime init 2025-12-04 10:14:45 +00:00
William Vinnicombe
3d47f3e26b Add rom_get_owned_partition and rom_roll_qmi_to_partition functions
Make rolling XIP to the non-secure partition easier
2025-12-04 10:14:45 +00:00
William Vinnicombe
021b00fbb5 Add secure hardfault handler function 2025-12-04 10:14:45 +00:00
William Vinnicombe
52c22c74d1 Add pico_secure library with non-bootrom-related secure setup code 2025-12-04 10:14:45 +00:00
William Vinnicombe
25e2edd04e Add pads_bank0 helper functions for E3 2025-12-04 10:14:45 +00:00
William Vinnicombe
249b422876 Add nonsecure PIO support 2025-12-04 10:14:45 +00:00
William Vinnicombe
cad616728f Initial non-secure support
Non-secure side can successfully connect to WiFi
2025-12-04 10:14:45 +00:00
William Vinnicombe
d89c2d85ee Make it possible to reference default locations in pico_set_linker_script_var variables
Means that CMake doesn't need to know the default memory addresses for different platforms
2025-12-04 10:14:26 +00:00
William Vinnicombe
c6cac63a1f Make overriding ram locations simpler 2025-12-02 17:31:49 +00:00
William Vinnicombe
f6789f888a More de-duplication 2025-12-02 14:56:53 +00:00
William Vinnicombe
1e865954a6 Separate out rp2_common and platform-specific linker script sections 2025-12-02 14:52:40 +00:00
William Vinnicombe
6dd16d4d32 Add kitchen sink test of custom linker scripts 2025-12-01 20:41:39 +00:00
William Vinnicombe
d7896b82a0 Add customisable heap location, with pico_set_linker_script_var function 2025-12-01 20:40:45 +00:00
William Vinnicombe
b9c20d4ab8 Separate linker scripts out into include files
Allows for much simpler custom linker scripts
2025-12-01 19:32:27 +00: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