This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new b70fc57849 RP2040 Board Documentation
b70fc57849 is described below

commit b70fc57849108f8d70613a902a288c52651ea7e1
Author: curuvar <58759586+curu...@users.noreply.github.com>
AuthorDate: Fri Jul 1 16:23:35 2022 -0400

    RP2040 Board Documentation
---
 .../boards/adafruit-feather-rp2040/Feather.png     | Bin 0 -> 207962 bytes
 .../boards/adafruit-feather-rp2040/index.rst       | 209 +++++++++++++++++++++
 .../arm/rp2040/boards/adafruit-kb2040/KB2040.png   | Bin 0 -> 177093 bytes
 .../arm/rp2040/boards/adafruit-kb2040/index.rst    | 185 ++++++++++++++++++
 .../rp2040/boards/pimoroni-tiny2040/Tiny2040.png   | Bin 0 -> 127111 bytes
 .../arm/rp2040/boards/pimoroni-tiny2040/index.rst  | 127 +++++++++++++
 .../boards/raspberrypi-pico/RaspberryPiPico.png    | Bin 0 -> 229318 bytes
 .../arm/rp2040/boards/raspberrypi-pico/index.rst   | 203 ++++++++++++++++++++
 Documentation/platforms/arm/rp2040/index.rst       | 113 +++++++++++
 9 files changed, 837 insertions(+)

diff --git 
a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png 
b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png
new file mode 100644
index 0000000000..c7972a8479
Binary files /dev/null and 
b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png 
differ
diff --git 
a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst 
b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst
new file mode 100644
index 0000000000..7b128bb653
--- /dev/null
+++ 
b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst
@@ -0,0 +1,209 @@
+=======================
+Adafruit Feather RP2040
+=======================
+
+The Feather RP2040 is a general purpose RP2040 board supplied by 
+Adafruit.
+
+.. figure:: Feather.png
+   :align: center
+
+Features
+========
+
+* RP2040 microcontroller chip
+* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
+* 264kB of SRAM, and 8MB of on-board Flash memory
+* Castellated module allows soldering direct to carrier boards
+* USB Host and Device support via type C connector.
+* Low-power sleep and dormant modes
+* Drag & drop programming using mass storage over USB
+* 26 multi-function GPIO pins
+* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels
+* Accurate clock and timer on-chip
+* Temperature sensor
+* Accelerated floating point libraries on-chip
+* 8 × Programmable IO (PIO) state machines for custom peripheral support
+* LiPoly Battery connector
+
+Serial Console
+==============
+
+By default a serial console appears on pins 14 (RX GPIO0) and pin 15
+(TX GPIO1).  This console runs a 115200-8N1.
+
+The board can be configured to use the USB connection as the serial console.
+
+Buttons and LEDs
+================
+
+User LED controlled by GPIO13.
+
+A ws2812 (NeoPixel) smart RGB LED controlled by GPIO16.
+
+An LED (CHG LED) that indicates the charging status of
+connected LiPo cell.
+
+There is a BOOT button which if held down when power is first
+applied or the RESET button is pressed will cause the RP2040 to
+boot into program mode and appear as a storage device to
+a USB connecte .  Saving a .UF2 file to this device will 
+replace the Flash ROM contents on the RP2040.
+
+A RESET button that allows rebooting the board without disconnecting
+the power.
+
+Pin Mapping
+===========
+
+===== ========== ==========
+Pin   Signal     Notes
+===== ========== ==========
+1     Reset      Pull to ground to reset the RP2040 processor.
+2     3.3V       Power out to peripherals.
+3     3.3V       Power out to peripherals.
+4     Ground
+5     GPIO26     ADC0
+6     GPIO27     ADC1
+7     GPIO28     ADC2
+8     GPIO29     ADC3
+9     GPIO24
+10    GPIO25
+11    GPIO18
+12    GPIO19
+13    GPIO20
+14    GPIO1      Default RX for UART1 serial console
+15    GPIO0      Default TX for UART0 serial console
+16    GPIO6
+17    GPIO2
+18    GPIO3
+19    GPIO7
+20    GPIO8
+21    GPIO9
+22    GPIO10
+23    GPIO11
+24    GPIO12
+25    GPIO13
+26    VBUS       Connected to USB +5V
+27    EN         Pull to ground to turn off 3.3V regulator.
+28    VBAT       Connected to LiPo battery 3.3V.
+===== ========== ==========
+
+The board has a STEMMA QT connector that is also connected to
+pins GPIO2 (I2C1 SDA) and GPIO3 (I2C1 SDA).
+
+The board has a two pin JST PH socket that accepts a single 3.3V
+LiPo cell.  The cell connected to this port can be charged by
+connecting the board to a USB power supply.
+
+There are solder pads on the board that allow the addition of
+a 10-pin serial debug (SWD) connector.
+
+Power Supply 
+============
+
+The Raspberry Pi Pico can be powered via the USB connector,
+or by supplying +5V to pin 39.  The board had a diode that prevents
+power from pin 39 from flowing back to the USB socket, although
+the socket can be power via pin 30.
+
+The Raspberry Pi Pico chip run on 3.3 volts.  This is supplied
+by an onboard voltage regulator.  This regulator can be disabled
+by pulling pin 37 to ground.
+
+The regulator can run in two modes.  By default the regulator runs
+in PFM mode which provides the best efficiency, but may be 
+switched to PWM mode for improved ripple by outputting a one
+on GPIO23. 
+
+
+Configurations
+==============
+
+audiopack
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with
+support for NSPlayer audio player.
+
+composite
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+CDC/ACM with MSC USB composite driver.
+
+displaypack
+-----------
+
+NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting
+ST7789 video display.
+
+enc28j60
+--------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+NC28J60.
+
+lcd1602
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+LCD1602.
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+
+nshsram
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with 
interrupt
+vectors in RAM.
+
+smp
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with
+both ARM cores enabled.
+
+spisd
+-----
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI 
configured.
+
+ssd1306
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+ssd1306.
+
+st7735
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7735.
+
+usbmsc
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
+usbnsh
+------
+
+Basic NuttShell configuration (console enabled in USB Port, at 115200 bps).
+
+waveshare-lcd-1.14
+------------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7789.
+
+waveshare-lcd-1.3
+-----------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
diff --git 
a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png 
b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png
new file mode 100644
index 0000000000..c16c67045a
Binary files /dev/null and 
b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png differ
diff --git 
a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst 
b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst
new file mode 100644
index 0000000000..546aa1bc48
--- /dev/null
+++ b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst
@@ -0,0 +1,185 @@
+========================
+Adafruit KB2040 Key Boar
+========================
+
+The KB2040 Key Boar is a general purpose RP2040 board supplied by 
+Adafruit.
+
+.. figure:: KB2040.png
+   :align: center
+
+Features
+========
+
+* RP2040 microcontroller chip
+* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
+* 264kB of SRAM, and 8MB of on-board Flash memory
+* Castellated module allows soldering direct to carrier boards
+* USB Host and Device support via type C connector.
+* Low-power sleep and dormant modes
+* Drag & drop programming using mass storage over USB
+* 18 multi-function GPIO pins
+* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels
+* Accurate clock and timer on-chip
+* Temperature sensor
+* Accelerated floating point libraries on-chip
+* 8 × Programmable IO (PIO) state machines for custom peripheral support
+* On-board STEMMA QT connector for quick I2C connection.
+
+Serial Console
+==============
+
+By default a serial console appears on pins 1 (TX GPIO0) and pin 2
+(RX GPIO1).  This console runs a 115200-8N1.
+
+The board can be configured to use the USB connection as the serial console.
+
+Buttons and LEDs
+================
+
+There is a BOOT button which if held down when power is first
+applied or the RESET button is pressed will cause the RP2040 to
+boot into program mode and appear as a storage device to
+a USB connecte .  Saving a .UF2 file to this device will 
+replace the Flash ROM contents on the RP2040.
+
+A RESET button that allows rebooting the board without disconnecting
+the power.
+
+A ws2812 (NeoPixel) smart RGB LED controlled by GPIO17.
+
+Pin Mapping
+===========
+
+===== ========== ==========
+Pin   Signal     Notes
+===== ========== ==========
+1     D+         Alternate USB data connection.
+2     GPIO0      Default TX for UART0 serial console
+3     GPIO1      Default RX for UART1 serial console
+4     Ground
+5     Ground
+6     GPIO2
+7     GPIO3
+8     GPIO4
+9     GPIO5
+10    GPIO6
+11    GPIO7
+12    GPIO8
+13    GPIO9
+14    GPIO10
+15    GPIO19
+16    GPIO20
+17    GPIO18
+18    GPIO26     ADC0
+19    GPIO27     ADC1
+20    GPIO28     ADC2
+21    GPIO29     ADC3
+22    Ground
+23    Raw        Connected to USB +5V line
+24    D-         Alternate USB data connection.
+===== ========== ==========
+
+The board has a STEMMA QT connector that is also connected to
+pins GPI12 (I2C1 SDA) and GPI13 (I2C1 SDA).
+
+
+Power Supply 
+============
+
+The Raspberry Pi Pico can be powered via the USB connector,
+or by supplying +5V to pin 23.
+
+The Raspberry Pi Pico chip run on 3.3 volts.  This is supplied
+by an onboard voltage regulator. 
+
+Configurations
+==============
+
+audiopack
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with
+support for NSPlayer audio player.
+
+composite
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+CDC/ACM with MSC USB composite driver.
+
+displaypack
+-----------
+
+NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting
+ST7789 video display.
+
+enc28j60
+--------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+NC28J60.
+
+lcd1602
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+LCD1602.
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+
+nshsram
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with 
interrupt
+vectors in RAM.
+
+smp
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with
+both ARM cores enabled.
+
+spisd
+-----
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI 
configured.
+
+ssd1306
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+ssd1306.
+
+st7735
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7735.
+
+usbmsc
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
+usbnsh
+------
+
+Basic NuttShell configuration (console enabled in USB Port, at 115200 bps).
+
+waveshare-lcd-1.14
+------------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7789.
+
+waveshare-lcd-1.3
+-----------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
diff --git 
a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png 
b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png
new file mode 100644
index 0000000000..24d0d2bb99
Binary files /dev/null and 
b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png 
differ
diff --git 
a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst 
b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst
new file mode 100644
index 0000000000..7bb7f3fe96
--- /dev/null
+++ b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst
@@ -0,0 +1,127 @@
+=================
+Pimoroni Tiny2040
+=================
+
+The Tiny2040 is a general purpose RP2040 board supplied by Pimoroni. 
+
+.. figure:: Tiny2040.png
+   :align: center
+
+Features
+========
+
+* RP2040 microcontroller chip
+* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
+* 264kB of SRAM, and 2MB or 8MB of on-board Flash memory
+* Castellated module allows soldering direct to carrier boards
+* USB Host and Device support via type C connector
+* Low-power sleep and dormant modes
+* Drag & drop programming using mass storage over USB
+* 12 multi-function GPIO pins
+* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels
+* Accurate clock and timer on-chip
+* Temperature sensor
+* Accelerated floating point libraries on-chip
+* 8 × Programmable IO (PIO) state machines for custom peripheral support
+
+Serial Console
+==============
+
+By default a serial console appears on pins 15 (RX GPIO0) and 
+pin 16 (TX GPIO1).  This console runs a 115200-8N1.
+
+The board can be configured to use the USB connection as the serial console.
+
+Buttons and LEDs
+================
+
+There is a single onboard RGB LED controlled by pins
+GPIO18 (red), GPIO19 (green), and GPIO20 (blue).
+
+The is a User/BOOT button readable as GPIO23. If held down when power
+is first applied the RP2040 will boot into program mode and appear to
+a computer connected via USB as a storage device.  Saving
+a .UF2 file to this device will replace the Flash ROM contents 
+on the RP2040.
+
+Pin Mapping
+===========
+
+===== ========== ==========
+Pin   Signal     Notes
+===== ========== ==========
+1     VBUS       Connected to USB +5V
+2     Ground
+3     3V3        Out to peripherals
+4     GPIO29     ADC3
+5     GPIO28     ADC2
+6     GPIO27     ADC1
+7     GPIO26     ADC0
+8     Ground
+9     GPIO7
+10    GPIO6
+11    GPIO5
+12    GPIO4
+13    GPIO3
+14    GPIO2
+15    GPIO1      Default RX for UART0 serial console
+16    GPIO0      Default TX for UART0 serial console
+===== ========== ==========
+
+Power Supply 
+============
+
+The Raspberry Pi Pico can be powered via the USB connector,
+or by supplying +5V to pin 1. 
+
+The Raspberry Pi Pico chip run on 3.3 volts.  This is supplied
+by an onboard voltage regulator.
+
+Configurations
+==============
+
+composite
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+CDC/ACM with MSC USB composite driver.
+
+gpio
+--------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with GPIO 
examples.
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+
+nshsram
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with 
interrupt
+vectors in RAM.
+
+smp
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with
+both ARM cores enabled.
+
+spisd
+-----
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI 
configured.
+
+usbmsc
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
+usbnsh
+------
+
+Basic NuttShell configuration (console enabled in USB Port, at 115200 bps).
+
+
diff --git 
a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png
 
b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png
new file mode 100644
index 0000000000..bb5579bd80
Binary files /dev/null and 
b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png
 differ
diff --git 
a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst 
b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst
new file mode 100644
index 0000000000..a5d24637fc
--- /dev/null
+++ b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst
@@ -0,0 +1,203 @@
+===============================
+Raspberry Pi Pico
+===============================
+
+The `Raspberry Pi Pico 
<https://www.raspberrypi.com/products/raspberry-pi-pico/>`_ is a general 
purpose board supplied by
+the Raspberry Pi Foundation.
+
+.. figure:: RaspberryPiPico.png
+   :align: center
+
+Features
+========
+
+* RP2040 microcontroller chip
+* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
+* 264kB of SRAM, and 2MB of on-board Flash memory
+* Castellated module allows soldering direct to carrier boards
+* USB 1.1 Host and Device support
+* Low-power sleep and dormant modes
+* Drag & drop programming using mass storage over USB
+* 26 multi-function GPIO pins
+* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels
+* Accurate clock and timer on-chip
+* Temperature sensor
+* Accelerated floating point libraries on-chip
+* 8 × Programmable IO (PIO) state machines for custom peripheral support
+
+Serial Console
+==============
+
+By default a serial console appears on pins 1 (TX GPIO0) and pin 2
+(RX GPIO1).  This console runs a 115200-8N1.
+
+The board can be configured to use the USB connection as the serial console.
+
+Buttons and LEDs
+================
+
+User LED controlled by GPIO25.
+
+A BOOTSEL button, which if held down when power is first
+applied to the board, the cause the RP2040 to boot programming mode 
+and appear to a computer connected via USB as a storage device.  
+Saving a .UF2 file to this device will replace the Flash ROM contents 
+on the RP2040.
+
+Pin Mapping
+===========
+
+===== ========== ==========
+Pin   Signal     Notes
+===== ========== ==========
+1     GPIO0      Default TX for UART0 serial console
+2     GPIO1      Default RX for UART1 serial console
+3     Ground
+4     GPIO2
+5     GPIO3
+6     GPIO4
+7     GPIO5
+8     Ground
+9     GPIO6
+10    GPIO7
+11    GPIO8
+12    GPIO9
+13    Ground
+14    GPIO10
+15    GPIO11
+16    GPIO12
+17    GPIO13
+18    Ground
+19    GPIO14
+20    GPIO15
+21    GPIO16
+22    GPIO17
+23    Ground
+24    GPIO18
+25    GPIO19
+26    GPIO20
+27    GPIO21
+28    Ground
+29    GPIO22
+30    Run
+31    GPIO26     ADC0
+32    GPIO27     ADC1
+33    AGND       Analog Ground 
+34    GPIO28     ADC2
+35    ADC_VREF
+36    3V3        Power output to peripherals
+37    3V3_EN     Pull to ground to turn off. 
+38    Ground
+39    VSYS       +5V Supply to board
+40    VBUS       Connected to USB +5V
+===== ========== ==========
+
+Separate pins for the Serial Debug Port (SDB) are available
+
+Power Supply 
+============
+
+The Raspberry Pi Pico can be powered via the USB connector,
+or by supplying +5V to pin 39.  The board had a diode that prevents
+power from pin 39 from flowing back to the USB socket, although
+the socket can be power via pin 30.
+
+The Raspberry Pi Pico chip run on 3.3 volts.  This is supplied
+by an onboard voltage regulator.  This regulator can be disabled
+by pulling pin 37 to ground.
+
+The regulator can run in two modes.  By default the regulator runs
+in PFM mode which provides the best efficiency, but may be 
+switched to PWM mode for improved ripple by outputting a one
+on GPIO23. 
+
+Configurations
+==============
+
+audiopack
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with
+support for NSPlayer audio player.
+
+composite
+---------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+CDC/ACM with MSC USB composite driver.
+
+displaypack
+-----------
+
+NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting
+ST7789 video display.
+
+enc28j60
+--------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+NC28J60.
+
+lcd1602
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+LCD1602.
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+
+nshsram
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with 
interrupt
+vectors in RAM.
+
+smp
+---
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with
+both ARM cores enabled.
+
+spisd
+-----
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI 
configured.
+
+ssd1306
+-------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+ssd1306.
+
+st7735
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7735.
+
+usbmsc
+------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
+usbnsh
+------
+
+Basic NuttShell configuration (console enabled in USB Port, at 115200 bps).
+
+waveshare-lcd-1.14
+------------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+st7789.
+
+waveshare-lcd-1.3
+-----------------
+
+NuttShell configuration (console enabled in UART0, at 115200 bps) with support 
for
+usbmsc.
+
diff --git a/Documentation/platforms/arm/rp2040/index.rst 
b/Documentation/platforms/arm/rp2040/index.rst
new file mode 100644
index 0000000000..138327a92d
--- /dev/null
+++ b/Documentation/platforms/arm/rp2040/index.rst
@@ -0,0 +1,113 @@
+========
+rp2040
+========
+
+The rp2040 is a dual core chip produced by the RaspberryPi Foundation that
+is based on ARM Cortex-M0+.
+
+Peripheral Support
+==================
+
+The following list indicates peripherals currently supported in NuttX:
+
+============== =====
+Peripheral     Notes
+============== =====
+GPIO           See Supported Boards documentation for available pins.
+UART           GPIO 0 (UART0 TX) and GPIO 1 (UART0 RX) are used for the 
console.
+I2C            
+SPI         
+DMAC        
+PWM         
+USB         
+PIO            RP2040 Programmable I/O
+IRQs        
+DMA         
+ws2812         Smart pixels (e.g. Neopixel)
+Flash ROM Boot
+SRAM Boot      If Pico SDK is available a nuttx.uf2 file will be created
+BMP180         Requires I2C0
+INA219         Requires I2C0
+============== =====
+
+The Pico Display Pack (ST7789 LCD) and Pico Audio Pack (PCM5100A I2S DAC) are 
+also available.
+
+Installation
+============
+
+1. Download Raspberry Pi Pico SDK::
+
+    git clone -b 1.1.2 https://github.com/raspberrypi/pico-sdk.git
+
+2. Set PICO_SDK_PATH environment variable::
+
+    export PICO_SDK_PATH=<absolute_path_to_pico-sdk_directory>
+
+3. Download NuttX and the companion applications.  These must both be
+   contained in the same directory::
+  
+    git clone https://github.com/apache/incubator-nuttx.git nuttx
+    git clone https://github.com/apache/incubator-nuttx-apps.git apps
+
+Building NuttX
+==============
+
+1. Change to NuttX directory::
+
+    cd nuttx
+
+2. Select a configuration. The available configurations
+   can be listed with the command::
+
+    ./tools/configure.sh -L
+
+3. Load the selected configuration.::
+
+    make distclean
+    ./tools/configure.sh <selected_configuration>
+
+4. Modify the configuration as needed (optional)::
+
+    make menuconfig
+
+5. Build NuttX::
+ 
+    make
+
+Programming
+============
+
+Programming using BOOTSEL
+-------------------------
+
+Connect  board to USB port while pressing BOOTSEL.
+The board will be detected as USB Mass Storage Device.
+Then copy "nuttx.uf2" into the device.
+(Same manner as the standard Pico SDK applications installation.)
+
+Programming using SDB
+---------------------
+
+Most (but no all) RP2040 boards provide a serial (SDB) debug port.
+The "nuttx" ELF file can be uploaded with an appropriate SDB programmer
+module and companion software.
+
+Running NuttX
+=============
+
+Most builds provide access to the console via UART0.  To access this
+GPIO 0 and 1 pins must be connected to the device such as USB-serial converter.
+
+The `usbnsh` configuration provides the console access by USB CDC/ACM serial
+devcice.  The console is available by using a terminal software on the USB 
host.
+
+Supported Boards
+================
+
+.. toctree::
+   :glob:
+   :maxdepth: 1
+
+   boards/*/*
+

Reply via email to