Skip to content

Commit

Permalink
doc: rpi_pico2: Document Raspberry Pi Pico 2 and related changes
Browse files Browse the repository at this point in the history
Add 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/pico-2.jpg 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 <[email protected]>
  • Loading branch information
ajf58 committed Oct 8, 2024
1 parent 08bd992 commit 560513d
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 1 deletion.
Binary file added boards/raspberrypi/rpi_pico2/doc/img/pico-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions boards/raspberrypi/rpi_pico2/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
.. _rpi_pico2:

Raspberry Pi Pico 2
###################

Overview
********

The Raspberry Pi Pico 2 is the second-generation product in the Raspberry Pi
Pico family. From the `Raspberry Pi website <https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html>`_ is referred to as Pico 2.

.. figure:: img/pico-2.jpg
:align: center
:alt: Raspberry Pi Pico 2

Raspberry Pi Pico 2 (Credit: Raspberry Pi Ltd)

Hardware
********

- 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
- 26 multi-function GPIO pins including 3 that can be used for ADC
- 2 SPI, 2 I2C, 2 UART, 3 12-bit 500ksps Analogue to Digital - Converter (ADC), 24 controllable PWM channels
- 2 Timer with 4 alarms, 1 AON Timer
- Temperature sensor
- 3 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

Supported Features
==================

The rpi_pico board configuration supports the following
hardware features:

.. list-table::
:header-rows: 1

* - Peripheral
- Kconfig option
- Devicetree compatible
* - NVIC
- N/A
- :dtcompatible:`arm,v8m-nvic`
* - ADC
- :kconfig:option:`CONFIG_ADC`
- :dtcompatible:`raspberrypi,pico-adc`
* - Clock controller
- :kconfig:option:`CONFIG_CLOCK_CONTROL`
- :dtcompatible:`raspberrypi,pico-clock-controller`
* - Counter
- :kconfig:option:`CONFIG_COUNTER`
- :dtcompatible:`raspberrypi,pico-timer`
* - GPIO
- :kconfig:option:`CONFIG_GPIO`
- :dtcompatible:`raspberrypi,pico-gpio`
* - HWINFO
- :kconfig:option:`CONFIG_HWINFO`
- N/A
* - I2C
- :kconfig:option:`CONFIG_I2C`
- :dtcompatible:`snps,designware-i2c`
* - PWM
- :kconfig:option:`CONFIG_PWM`
- :dtcompatible:`raspberrypi,pico-pwm`
* - SPI
- :kconfig:option:`CONFIG_SPI`
- :dtcompatible:`raspberrypi,pico-spi`
* - UART
- :kconfig:option:`CONFIG_SERIAL`
- :dtcompatible:`raspberrypi,pico-uart`

Connections and IOs
===================

The default pin mapping is unchanged from the Pico 1.

Programming and Debugging
*************************

As with the Pico 1, the SWD interface can be used to program and debug the
device, e.g. using OpenOCD with the `Raspberry Pi Debug Probe <https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html>`_ .

References
**********

- https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html
- https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html
2 changes: 1 addition & 1 deletion doc/releases/migration-guide-4.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Boards
:ref:`native_sim<native_sim>` (:github:`76898`).
* Nordic nRF53 and nRF91 based boards can use the common devicetree overlays in ``dts/common/nordic``
to define default flash and ram partitioning based on TF-M.

* Raspberry Pi: ``CONFIG_SOC_SERIES_RP2XXX`` is renamed to :kconfig:option:`CONFIG_SOC_SERIES_RP2040`.
* STM32WBA: The command used for fetching blobs required to build ble applications is now
``west blobs fetch hal_stm32`` instead of ``west blobs fetch stm32``.

Expand Down
4 changes: 4 additions & 0 deletions doc/releases/release-notes-4.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,17 @@ Boards & SoC Support

* Added support for these SoC series:

* Raspberry Pi RP2350

* Made these changes in other SoC series:

* NXP S32Z270: Added support for the new silicon cut version 2.0. Note that the previous
versions (1.0 and 1.1) are no longer supported.

* Added support for these boards:

* :ref:`Raspberry Pi Pico 2 <rpi_pico2>`: ``rpi_pico2``.

* Made these board changes:

* :ref:`native_posix<native_posix>` has been deprecated in favour of
Expand Down

0 comments on commit 560513d

Please sign in to comment.