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

gustavonihei 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 e87a20e648 Add documentation to ESP32-S3 boards
e87a20e648 is described below

commit e87a20e648843ce53237fdb398417868685af2a1
Author: Alan Carvalho de Assis <acas...@gmail.com>
AuthorDate: Wed Jun 15 20:00:05 2022 -0300

    Add documentation to ESP32-S3 boards
---
 .../boards/esp32s3-devkit/esp32-s3-devkitc-1.png   | Bin 0 -> 479204 bytes
 .../xtensa/esp32s3/boards/esp32s3-devkit/index.rst |  57 +++++++
 .../esp32s3/boards/esp32s3-eye/esp32s3_eye.png     | Bin 0 -> 196123 bytes
 .../xtensa/esp32s3/boards/esp32s3-eye/index.rst    |  93 +++++++++++
 Documentation/platforms/xtensa/esp32s3/index.rst   | 184 +++++++++++++++++++++
 5 files changed, 334 insertions(+)

diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/esp32-s3-devkitc-1.png
 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/esp32-s3-devkitc-1.png
new file mode 100644
index 0000000000..628672a1c3
Binary files /dev/null and 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/esp32-s3-devkitc-1.png
 differ
diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst
new file mode 100644
index 0000000000..a5e69ec6e4
--- /dev/null
+++ b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst
@@ -0,0 +1,57 @@
+==============
+ESP32S3-DevKit
+==============
+
+The `ESP32S3 DevKit 
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html>`_
 is a development board for the ESP32-S3 SoC from Espressif, based on a 
ESP32-S3-WROOM-1 module.
+
+.. list-table::
+   :align: center
+
+   * - .. figure:: esp32-s3-devkitc-1.png
+          :align: center
+
+Features
+========
+
+  - ESP32-S3-WROOM-1 Module
+  - USB-to-UART bridge via micro USB port
+  - Power LED
+  - EN and BOOT buttons (BOOT accessible to user)
+  - SPI FLASH (size varies according to model
+
+Serial Console
+==============
+
+UART0 is, by default, the serial console.  It connects to the on-board
+CP2102 converter and is available on the USB connector USB CON8 (J1).
+
+It will show up as /dev/ttyUSB[n] where [n] will probably be 0.
+
+Buttons and LEDs
+================
+
+Buttons
+-------
+
+There are two buttons labeled Boot and EN.  The EN button is not available
+to software.  It pulls the chip enable line that doubles as a reset line.
+
+The BOOT button is connected to IO0.  On reset it is used as a strapping
+pin to determine whether the chip boots normally or into the serial
+bootloader.  After reset, however, the BOOT button can be used for software
+input.
+
+LEDs
+----
+
+There are several on-board LEDs for that indicate the presence of power
+and USB activity.  None of these are available for use by software.
+
+Configurations
+==============
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, exposed via
+USB connection by means of CP2102 converter, at 115200 bps).
diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/esp32s3_eye.png 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/esp32s3_eye.png
new file mode 100644
index 0000000000..4d5a7c377e
Binary files /dev/null and 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/esp32s3_eye.png 
differ
diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.rst 
b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.rst
new file mode 100644
index 0000000000..6d6c13df16
--- /dev/null
+++ b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.rst
@@ -0,0 +1,93 @@
+=============
+ESP32-S3-EYE
+=============
+
+The `ESP32-S3-EYE 
<https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md>`_
 is a small-sized AI development board from Espressif featuring the ESP32-S3 
CPU with a 2-Megapixel camera, an LCD display, a microphone, an 8 MB Octal 
PSRAM and an 8 MB flash.
+
+.. list-table::
+   :align: center
+
+   * - .. figure:: esp32s3_eye.png
+          :align: center
+
+Features
+========
+
+  - ESP32-S3 WROOM-1 Module
+  - USB micro USB port (it uses internal USB JTAG SERIAL device for flashing)
+  - Power LED
+  - LCD Display
+  - 2-MP Camera
+  - MEMS Microphone
+  - 8MB Octal PSRAM
+  - 8MB SPI Flash
+  - RST and BOOT buttons (BOOT accessible to user)
+
+Configurations
+==============
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in USB JTAG SERIAL Device, 
exposed via
+USB connection at 9600 bps).
+
+You can configure this board profile this way:
+
+  $ cd nuttxspace/nuttx
+  $ ./tools/configure.sh esp32s3-eye:nsh
+
+Flashing
+========
+
+Because ESP32-S3 doesn't use an external USB/Serial chip like others ESP32
+boards you should put it in programming mode this way:
+
+  1) Press and hold BOOT and RESET (RST) buttons at same time;
+  2) Release the RESET button and keep BOOT button pressed;
+  3) After one or more seconds release the BOOT button;
+  4) Run the flashing command: make flash ESPTOOL_PORT=/dev/ttyACM0
+
+Serial Console
+==============
+
+The internal USB JTAG SERIAL Device, by default, is used as serial console.
+It is normally detected by Linux host as a USB CDC/ACM serial device.
+
+It will show up as /dev/ttyACM[n] where [n] will probably be 0.
+
+You can use minicom with /dev/ttyACM0 port at 9600 8n1 or picocom this way:
+
+  $ picocom -b9600 /dev/ttyACM0
+
+Buttons and LEDs
+================
+
+Buttons
+-------
+
+There are two buttons labeled BOOT and RST.  The RST button is not available
+to software.  It pulls the chip enable line that doubles as a reset line.
+
+The BOOT button is connected to IO0.  On reset it is used as a strapping
+pin to determine whether the chip boots normally or into the serial
+bootloader.  After reset, however, the BOOT button can be used for software
+input.
+
+LEDs
+----
+
+There are several on-board LEDs for that indicate the presence of power
+and USB activity.  None of these are available for use by software.
+
+Pin Mapping
+===========
+
+.. todo:: To be updated
+
+===== ========== ==========
+Pin   Signal     Notes
+===== ========== ==========
+?     ?          ?
+===== ========== ==========
+
diff --git a/Documentation/platforms/xtensa/esp32s3/index.rst 
b/Documentation/platforms/xtensa/esp32s3/index.rst
new file mode 100644
index 0000000000..0b511e7d72
--- /dev/null
+++ b/Documentation/platforms/xtensa/esp32s3/index.rst
@@ -0,0 +1,184 @@
+==================
+Espressif ESP32-S3
+==================
+
+The ESP32-S3 is a series of single and dual-core SoCs from Espressif
+based on Harvard architecture Xtensa LX7 CPUs and with on-chip support
+for Bluetooth and Wi-Fi.
+
+All embedded memory, external memory and peripherals are located on the
+data bus and/or the instruction bus of these CPUs. With some minor
+exceptions, the address mapping of two CPUs is symmetric, meaning they
+use the same addresses to access the same memory. Multiple peripherals in
+the system can access embedded memory via DMA.
+
+On dual-core SoCs, the two CPUs are typically named "PRO_CPU" and "APP_CPU"
+(for "protocol" and "application"), however for most purposes the
+two CPUs are interchangeable.
+
+Toolchain
+=========
+
+You can use the prebuilt `toolchain 
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/tools/idf-tools.html#xtensa-esp32s3-elf>`__
+for Xtensa architecture and `OpenOCD 
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/tools/idf-tools.html#openocd-esp32>`__
+for ESP32-S3 by Espressif.
+
+For flashing firmware, you will need to install ``esptool.py`` by running::
+
+    $ pip install esptool
+
+Building from source
+--------------------
+
+You can also build the toolchain yourself. The steps to
+build the toolchain with crosstool-NG on Linux are as follows
+
+.. code-block:: console
+
+  $ git clone https://github.com/espressif/crosstool-NG.git
+  $ cd crosstool-NG
+  $ git submodule update --init
+
+  $ ./bootstrap && ./configure --enable-local && make
+
+  $ ./ct-ng xtensa-esp32s3-elf
+  $ ./ct-ng build
+
+  $ chmod -R u+w builds/xtensa-esp32s3-elf
+
+  $ export PATH="crosstool-NG/builds/xtensa-esp32-elf/bin:$PATH"
+
+These steps are given in the setup guide in
+`ESP-IDF documentation 
<https://docs.espressif.com/projects/esp-idf/en/latest/get-started/linux-setup-scratch.html>`_.
+
+Flashing
+========
+
+Firmware for ESP32-S3 is flashed via the USB/UART or internal USB DEVICE JTAG 
interface using the
+``esptool.py`` tool.
+It's a two step process where the first converts the ELF file into a ESP32-S3 
compatible binary
+and the second flashes it to the board.  These steps are included into the 
build system and you can
+flash your NuttX firmware simply by running::
+
+    $ make flash ESPTOOL_PORT=<port>
+
+where ``<port>`` is typically ``/dev/ttyUSB0`` or similar. You can change the 
baudrate by passing ``ESPTOOL_BAUD``.
+
+Bootloader and partitions
+-------------------------
+
+ESP32-S3 requires a bootloader to be flashed as well as a set of FLASH 
partitions. This is only needed the first time
+(or any time you which to modify either of these). An easy way is to use 
prebuilt binaries for NuttX `from here 
<https://github.com/espressif/esp-nuttx-bootloader>`_. In there you will find 
instructions to rebuild these if necessary.
+Once you downloaded both binaries, you can flash them by adding an 
``ESPTOOL_BINDIR`` parameter, pointing to the directory where these binaries 
were downloaded:
+
+.. code-block:: console
+
+   $ make flash ESPTOOL_PORT=<port> ESPTOOL_BINDIR=<dir>
+
+.. note:: It is recommended that if this is the first time you are using the 
board with NuttX that you perform a complete SPI FLASH erase.
+
+   .. code-block:: console
+ 
+      $ esptool.py erase_flash
+
+Peripheral Support
+==================
+
+The following list indicates the state of peripherals' support in NuttX:
+
+========== ======= =====
+Peripheral Support NOTES
+========== ======= =====
+GPIO         Yes
+UART         Yes
+SPI          Yes
+I2C          No
+CAN/TWAI     No
+DMA          Yes
+Wifi         No
+SPIFLASH     Yes
+SPIRAM       Yes
+Timers       Yes
+Watchdog     Yes
+RTC          No
+RNG          No
+AES          No
+eFuse        No
+ADC          No
+Bluetooth    No
+SDIO         No
+SD/MMC       No
+I2S          No
+LCD          No
+CAMERA       No
+LED_PWM      No
+RMT          No
+MCPWM        No
+Pulse_CNT    No
+SHA          No
+RSA          No
+USB SERIAL   Yes
+USB OTG      No
+========== ======= =====
+
+Memory Map
+==========
+
+Address Mapping
+---------------
+
+================== ========== ========== =============== ===============
+BUS TYPE           START      LAST       DESCRIPTION     NOTES
+================== ========== ========== =============== ===============
+To be added
+================== ========== ========== =============== ===============
+
+Embedded Memory
+---------------
+
+=========== ========== ========== =============== ===============
+BUS TYPE    START      LAST       DESCRIPTION     NOTES
+=========== ========== ========== =============== ===============
+To be added
+=========== ========== ========== =============== ===============
+
+Boundary Address (Embedded)
+---------------------------
+
+====================== ========== ========== =============== ===============
+BUS TYPE               START      LAST       DESCRIPTION     NOTES
+====================== ========== ========== =============== ===============
+To be added
+====================== ========== ========== =============== ===============
+
+External Memory
+---------------
+
+=========== ========== ========== =============== ===============
+BUS TYPE    START      LAST       DESCRIPTION     NOTES
+=========== ========== ========== =============== ===============
+To be added
+=========== ========== ========== =============== ===============
+
+Boundary Address (External)
+---------------------------
+
+To be added
+
+Linker Segments
+---------------
+
++---------------------+------------+------------+------+------------------------------+
+| DESCRIPTION         | START      | END        | ATTR | LINKER SEGMENT NAME   
       |
++=====================+============+============+======+==============================+
+| To be added         |            |            |      |                       
       |
++---------------------+------------+------------+------+------------------------------+
+
+Supported Boards
+================
+
+.. toctree::
+   :glob:
+   :maxdepth: 1
+
+   boards/*/*

Reply via email to