| .. zephyr:board:: rpi_pico2 |
| |
| 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. |
| |
| There are many limitations of the board currently. Including but not limited to: |
| - The Zephyr build only supports configuring the RP2350A with the Cortex-M33 cores. |
| - As with the Pico 1, there's no support for running any code on the second core. |
| |
| 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_pico2/rp2350a/m33`` board target 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` |
| * - DMA |
| - :kconfig:option:`CONFIG_DMA` |
| - :dtcompatible:`raspberrypi,pico-dma` |
| * - 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` |
| * - UART (PIO) |
| - :kconfig:option:`CONFIG_SERIAL` |
| - :dtcompatible:`raspberrypi,pico-uart-pio` |
| |
| Connections and IOs |
| =================== |
| |
| The default pin mapping is unchanged from the Pico 1 (see :ref:`rpi_pico_pin_mapping`). |
| |
| 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 |
| ********** |
| |
| .. target-notes:: |