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>
56 lines
950 B
Text
56 lines
950 B
Text
/*
|
|
* Copyright (c) 2021, Yonatan Schachter
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/* The Pico and Pico 2 are pin compatible. */
|
|
&pinctrl {
|
|
uart0_default: uart0_default {
|
|
group1 {
|
|
pinmux = <UART0_TX_P0>;
|
|
};
|
|
group2 {
|
|
pinmux = <UART0_RX_P1>;
|
|
input-enable;
|
|
};
|
|
};
|
|
|
|
i2c0_default: i2c0_default {
|
|
group1 {
|
|
pinmux = <I2C0_SDA_P4>, <I2C0_SCL_P5>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
};
|
|
};
|
|
|
|
i2c1_default: i2c1_default {
|
|
group1 {
|
|
pinmux = <I2C1_SDA_P6>, <I2C1_SCL_P7>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
};
|
|
};
|
|
|
|
spi0_default: spi0_default {
|
|
group1 {
|
|
pinmux = <SPI0_CSN_P17>, <SPI0_SCK_P18>, <SPI0_TX_P19>;
|
|
};
|
|
group2 {
|
|
pinmux = <SPI0_RX_P16>;
|
|
input-enable;
|
|
};
|
|
};
|
|
|
|
pwm_ch4b_default: pwm_ch4b_default {
|
|
group1 {
|
|
pinmux = <PWM_4B_P25>;
|
|
};
|
|
};
|
|
|
|
adc_default: adc_default {
|
|
group1 {
|
|
pinmux = <ADC_CH0_P26>, <ADC_CH1_P27>, <ADC_CH2_P28>, <ADC_CH3_P29>;
|
|
input-enable;
|
|
};
|
|
};
|
|
};
|