zephyr/doc
Benjamin Cabé 5c39bb22a0 boards: Add initial support for the Raspberry Pi Pico 2
The Raspberry Pi Pico 2 is Raspberry Pi's first board fitted with their
RP2350A SoC.

This adds a minimal board definition, sufficient to build and run
`samples/hello_world` and `samples/basic/blinky` on the board. Images
can be run on the target using OpenOCD. Raspberry Pi's `picotool` can
create a UF2 binary, which ensures that errata RP2350-E10 is avoided
e.g.

```
> picotool uf2 convert build\rpi_pico2\hello_world\zephyr\zephyr.elf \
    build\rpi_pico2\hello_world\zephyr\zephyr.uf2 \
    --family rp2350-arm-s --abs-block`
```

Raspberry Pi Pico 2 is a low-cost, high-performance microcontroller
board with flexible digital interfaces. Key features include:

- RP2350A microcontroller chip designed by Raspberry Pi in the United
  Kingdom
- Dual Cortex-M33 or Hazard3 processors at up to 150MHz
- 520KB of SRAM, and 4MB of on-board flash memory
- USB 1.1 with device and host support
- Low-power sleep and dormant modes
- Drag-and-drop programming using mass storage over USB
- 26x multi-function GPIO pins including 3 that can be used for ADC
- 2x SPI, 2x I2C, 2x UART, 3x 12-bit 500ksps Analogue to Digital
  Converter (ADC), 24x controllable PWM channels
- 2x Timer with 4 alarms, 1x AON Timer
- Temperature sensor
- 3x Programmable IO (PIO) blocks, 12 state machines total for custom
  peripheral support
    - Flexible, user-programmable high-speed IO
    - Can emulate interfaces such as SD Card and VGA

The Raspberry Pi Pico 2 comes as a castellated module which allows
soldering direct to carrier boards.

Only enable timer 0 for now. Timer 1 won't work correctly until the
rpi_pico HAL has picked up the fix for `hardware_alarm_irq_handler`. See
https://github.com/raspberrypi/pico-sdk/pull/1949 .

Added some documentation for the board itself (mostly aiming to refer to
canonical sources of information rather duplicate). Add entries in the
release notes where applicable.

boards/raspberrypi/rpi_pico2/doc/img/rpi_pico2.webp is a cropped and
compressed version of https://www.raspberrypi.com/documentation/microcontrollers/images/pico-2.png
which is released under the CC-BY-SA-4.0 license. See https://github.com/raspberrypi/documentation/blob/develop/LICENSE.md

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-12-23 23:57:57 +01:00
..
_doxygen doc: kernel: define additional doxygen groups 2024-09-17 05:24:09 -04:00
_extensions/zephyr doc: _extensions: apply ruff lint rules 2024-11-26 15:43:52 -05:00
_scripts doc: _scripts: conf: apply ruff lint rules 2024-11-26 15:43:52 -05:00
_static doc: css: boards: fix font size for board name 2024-11-27 10:37:54 -05:00
_templates doc: enable three-way dark-mode switch 2024-10-16 16:33:24 +01:00
build devicetree: Add DT_FOREACH_ANCESTOR macro 2024-12-18 10:17:09 +01:00
connectivity tests: bluetooth: shell: add a2dp new features test 2024-12-23 09:15:35 +01:00
contribute doc: contributor: change language around PR review escalation 2024-12-13 17:44:52 +01:00
develop west: runners: bossac: Honor --erase flag 2024-12-22 18:20:30 +00:00
hardware doc: porting: add note about CDC ACM UART configuration 2024-12-20 12:36:31 +01:00
images
introduction
kernel kernel: k_msgq_put should trigger reschedule 2024-12-14 01:04:43 +01:00
project doc: process: cleanup required checks section 2024-12-03 04:01:27 +01:00
releases boards: Add initial support for the Raspberry Pi Pico 2 2024-12-23 23:57:57 +01:00
safety doc: safety: Extend safety overview with IEC 61508 infomation 2024-09-26 03:34:06 -04:00
security doc: security: Disclose CVE-2024-8798 2024-12-16 04:46:33 +01:00
services modules: nanopb: Move pip dependencies to optional module 2024-12-19 15:20:11 +01:00
templates doc: boards: extensions: introduce zephyr:board role and directive 2024-10-22 14:11:27 +02:00
404.rst
CMakeLists.txt doc: get output folder from environment 2024-09-25 13:49:34 -05:00
conf.py doc: releases: remove v3.6.0 from the list of supported releases 2024-12-10 11:08:20 +01:00
glossary.rst doc: sphinx-lint: fix bad usage of "default role" 2024-09-13 11:42:51 -05:00
index-tex.rst
index.rst doc: hide main table of contents 2024-11-01 09:55:37 -05:00
kconfig.rst
LICENSING.rst doc: LICENSING: Add BSD-3-clause for OpenThread files 2024-11-27 10:37:21 -05:00
Makefile
requirements.txt doc: requirements: Update to Sphinx RTD Theme 3.0 2024-10-14 13:02:20 +02:00
substitutions.txt
zephyr.doxyfile.in net: sockets: Remove deperecated CONFIG_NET_SOCKETS_POSIX_NAMES 2024-12-04 12:09:51 +01:00