Skip to content

Commit 4b3b956

Browse files
committed
boards: Added support for the Raspberry Pi Pico
Signed-off-by: Yonatan Schachter <[email protected]>
1 parent 77e2610 commit 4b3b956

File tree

9 files changed

+117
-0
lines changed

9 files changed

+117
-0
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
/boards/arm/quick_feather/ @kowalewskijan @kgugala
120120
/boards/arm/rak4631_nrf52840/ @gpaquet85
121121
/boards/arm/rak5010_nrf52840/ @gpaquet85
122+
/boards/arm/raspberrypi_pico/ @yonsch
122123
/boards/arm/ronoth_lodev/ @NorthernDean
123124
/boards/arm/xmc45_relax_kit/ @parthitce
124125
/boards/arm/sam4e_xpro/ @nandojve
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2021 Yonatan Schachter
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_RPI_PICO
5+
bool "Raspberry Pi Pico Board"
6+
depends on SOC_RP2040
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2021 Yonatan Schachter
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_RPI_PICO
5+
6+
config BOARD
7+
default "raspberrypi_pico"
8+
9+
endif # BOARD_RPI_PICO

boards/arm/raspberrypi_pico/board.cmake

Whitespace-only changes.
136 KB
Loading
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
.. _raspberrypi_pico:
2+
3+
Raspberry Pi Pico
4+
#################
5+
6+
Overview
7+
********
8+
9+
The Raspberry Pi Pico is a small, low-cost, versatile board from
10+
Raspberry Pi. It is equipped with an RP2040 SoC, an on-board LED,
11+
a USB connector, and an SWD inteface. The USB bootloader allows it
12+
to be flashed without any adapter, in a drag-and-drop manner.
13+
It is also possible to flash and debug the Pico with its SWD interface,
14+
using an external adapter.
15+
16+
Hardware
17+
********
18+
- Dual core Arm Cortex-M0+ processor running up to 133MHz
19+
- 264KB on-chip SRAM
20+
- 2MB on-board QSPI flash with XIP capabilities
21+
- 26 GPIO pins
22+
- 3 Analog inputs
23+
- 2 UART peripherals
24+
- 2 SPI controllers
25+
- 2 I2C controllers
26+
- 16 PWM channels
27+
- USB 1.1 controller (host/device)
28+
- 8 Programmable I/O (PIO) for custom peripherals
29+
- On-board LED
30+
31+
32+
.. figure:: img/raspberrypi_pico.png
33+
:width: 150px
34+
:align: center
35+
:alt: Raspberry Pi Pico
36+
37+
Raspberry Pi Pico (Image courtesy of Raspberry Pi)
38+
39+
Supported Features
40+
==================
41+
42+
The raspberrypi_pico board configuration supports the following
43+
hardware features:
44+
45+
+-----------+------------+----------------------+
46+
| Interface | Controller | Driver/Component |
47+
+===========+============+======================+
48+
| UART | on-chip | serial port |
49+
+-----------+------------+----------------------+
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (c) 2021 Yonatan Schachter
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <raspberrypi/rp2040.dtsi>
10+
11+
/ {
12+
chosen {
13+
zephyr,sram = &sram0;
14+
zephyr,flash = &flash0;
15+
zephyr,console = &uart0;
16+
};
17+
};
18+
19+
&flash0 {
20+
/* 2MB of flash minus the 0x100 used for
21+
* the second stage bootloader
22+
*/
23+
reg = <0x10000100 0x001fff00>;
24+
};
25+
26+
&uart0 {
27+
current-speed = <115200>;
28+
status = "okay";
29+
tx-pin = <0>;
30+
rx-pin = <1>;
31+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
identifier: raspberrypi_pico
2+
name: RaspberryPi-Pico
3+
type: mcu
4+
arch: arm
5+
flash: 2048
6+
ram: 264
7+
toolchain:
8+
- zephyr
9+
- gnuarmemb
10+
- xtools
11+
supported:
12+
- serial
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CONFIG_SOC_SERIES_RP2XXX=y
2+
CONFIG_SOC_RP2040=y
3+
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000
4+
CONFIG_RP2_FLASH_W25Q080=y
5+
CONFIG_SERIAL=y
6+
CONFIG_LOG=y
7+
CONFIG_LOG_PRINTK=y
8+
CONFIG_CONSOLE=y
9+
CONFIG_UART_CONSOLE=y

0 commit comments

Comments
 (0)