1.. zephyr:board:: rpi_pico2
2
3Overview
4********
5
6The Raspberry Pi Pico 2 is the second-generation product in the Raspberry Pi
7Pico family. From the `Raspberry Pi website <https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html>`_ is referred to as Pico 2.
8
9There are many limitations of the board currently. Including but not limited to:
10- The Zephyr build only supports configuring the RP2350A with the Cortex-M33 cores.
11- As with the Pico 1, there's no support for running any code on the second core.
12
13Hardware
14********
15
16- Dual Cortex-M33 or Hazard3 processors at up to 150MHz
17- 520KB of SRAM, and 4MB of on-board flash memory
18- USB 1.1 with device and host support
19- Low-power sleep and dormant modes
20- Drag-and-drop programming using mass storage over USB
21- 26 multi-function GPIO pins including 3 that can be used for ADC
22- 2 SPI, 2 I2C, 2 UART, 3 12-bit 500ksps Analogue to Digital - Converter (ADC), 24 controllable PWM channels
23- 2 Timer with 4 alarms, 1 AON Timer
24- Temperature sensor
25- 3 Programmable IO (PIO) blocks, 12 state machines total for custom peripheral support
26
27  - Flexible, user-programmable high-speed IO
28  - Can emulate interfaces such as SD Card and VGA
29
30Supported Features
31==================
32
33The ``rpi_pico2/rp2350a/m33`` board target supports the following
34hardware features:
35
36.. list-table::
37   :header-rows: 1
38
39   * - Peripheral
40     - Kconfig option
41     - Devicetree compatible
42   * - NVIC
43     - N/A
44     - :dtcompatible:`arm,v8m-nvic`
45   * - ADC
46     - :kconfig:option:`CONFIG_ADC`
47     - :dtcompatible:`raspberrypi,pico-adc`
48   * - Clock controller
49     - :kconfig:option:`CONFIG_CLOCK_CONTROL`
50     - :dtcompatible:`raspberrypi,pico-clock-controller`
51   * - Counter
52     - :kconfig:option:`CONFIG_COUNTER`
53     - :dtcompatible:`raspberrypi,pico-timer`
54   * - DMA
55     - :kconfig:option:`CONFIG_DMA`
56     - :dtcompatible:`raspberrypi,pico-dma`
57   * - GPIO
58     - :kconfig:option:`CONFIG_GPIO`
59     - :dtcompatible:`raspberrypi,pico-gpio`
60   * - HWINFO
61     - :kconfig:option:`CONFIG_HWINFO`
62     - N/A
63   * - I2C
64     - :kconfig:option:`CONFIG_I2C`
65     - :dtcompatible:`snps,designware-i2c`
66   * - PWM
67     - :kconfig:option:`CONFIG_PWM`
68     - :dtcompatible:`raspberrypi,pico-pwm`
69   * - SPI
70     - :kconfig:option:`CONFIG_SPI`
71     - :dtcompatible:`raspberrypi,pico-spi`
72   * - UART
73     - :kconfig:option:`CONFIG_SERIAL`
74     - :dtcompatible:`raspberrypi,pico-uart`
75   * - UART (PIO)
76     - :kconfig:option:`CONFIG_SERIAL`
77     - :dtcompatible:`raspberrypi,pico-uart-pio`
78
79Connections and IOs
80===================
81
82The default pin mapping is unchanged from the Pico 1 (see :ref:`rpi_pico_pin_mapping`).
83
84Programming and Debugging
85*************************
86
87As with the Pico 1, the SWD interface can be used to program and debug the
88device, e.g. using OpenOCD with the `Raspberry Pi Debug Probe <https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html>`_ .
89
90References
91**********
92
93.. target-notes::
94