rpi_pico2: rp2350: Add PIO support and extend samples

Add initial support for the RP2350's PIO peripherals, extend the
existing example under samples/boards/raspberrypi/rpi_pico/uart_pio to
demonstrate this on the Raspberry Pi Pico 2, and update the board's
documentation.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Manuel Aebischer <manuel.aebischer@belden.com>
This commit is contained in:
Andrew Featherstone 2024-12-22 02:03:30 +01:00 committed by Benjamin Cabé
commit 6e9635679f
3 changed files with 34 additions and 0 deletions

View file

@ -69,6 +69,9 @@ hardware features:
* - UART
- :kconfig:option:`CONFIG_SERIAL`
- :dtcompatible:`raspberrypi,pico-uart`
* - UART (PIO)
- :kconfig:option:`CONFIG_SERIAL`
- :dtcompatible:`raspberrypi,pico-uart-pio`
Connections and IOs
===================

View file

@ -386,6 +386,29 @@
status = "disabled";
};
pio0: pio@50200000 {
compatible = "raspberrypi,pico-pio";
reg = <0x50200000 DT_SIZE_K(4)>;
clocks = <&clocks RPI_PICO_CLKID_CLK_SYS>;
resets = <&reset RPI_PICO_RESETS_RESET_PIO0>;
status = "disabled";
};
pio1: pio@50300000 {
compatible = "raspberrypi,pico-pio";
reg = <0x50300000 DT_SIZE_K(4)>;
clocks = <&clocks RPI_PICO_CLKID_CLK_SYS>;
resets = <&reset RPI_PICO_RESETS_RESET_PIO1>;
status = "disabled";
};
pio2: pio@50400000 {
compatible = "raspberrypi,pico-pio";
reg = <0x50400000 DT_SIZE_K(4)>;
clocks = <&clocks RPI_PICO_CLKID_CLK_SYS>;
resets = <&reset RPI_PICO_RESETS_RESET_PIO2>;
status = "disabled";
};
};
pinctrl: pin-controller {

View file

@ -0,0 +1,8 @@
/*
* SPDX-License-Identifier: Apache-2.0
*
* Copyright (c) 2024 Andrew Featherstone <andrew.featherstone@gmail.com>
*/
/* Pico 2 is compatible with the Pico 1, so reuse. */
#include "rpi_pico.overlay"