docs: add esp32p4 target to docs

This commit is contained in:
Peter Dragun
2024-02-09 08:38:52 +01:00
parent c75054992b
commit 4a6ad55dfd
8 changed files with 40 additions and 44 deletions

View File

@@ -468,7 +468,7 @@ build_docs:
script: script:
- cd docs - cd docs
- pip install -r requirements.txt --prefer-binary - pip install -r requirements.txt --prefer-binary
- build-docs -l en -t {esp8266,esp32,esp32s2,esp32c3,esp32s3,esp32c2,esp32c6,esp32h2} - build-docs -l en -t {esp8266,esp32,esp32s2,esp32c3,esp32s3,esp32c2,esp32c6,esp32h2,esp32p4}
.deploy_docs_template: .deploy_docs_template:
stage: deploy_docs stage: deploy_docs

View File

@@ -12,5 +12,6 @@ var DOCUMENTATION_VERSIONS = {
{ text: "ESP32-C2", value: "esp32c2" }, { text: "ESP32-C2", value: "esp32c2" },
{ text: "ESP32-C6", value: "esp32c6" }, { text: "ESP32-C6", value: "esp32c6" },
{ text: "ESP32-H2", value: "esp32h2" }, { text: "ESP32-H2", value: "esp32h2" },
{ text: "ESP32-P4", value: "esp32p4" },
] ]
}; };

View File

@@ -10,6 +10,7 @@ idf_targets = [
"esp32c2", "esp32c2",
"esp32c6", "esp32c6",
"esp32h2", "esp32h2",
"esp32p4",
] ]
# link roles config # link roles config
@@ -31,27 +32,16 @@ ESP32_DOCS = [
"espsecure/*", "espsecure/*",
] ]
ESP32S2_DOCS = ESP32_DOCS
ESP32C3_DOCS = ESP32S2_DOCS
ESP32S3_DOCS = ESP32S2_DOCS
ESP32C2_DOCS = ESP32S3_DOCS
ESP32C6_DOCS = ESP32C2_DOCS
ESP32H2_DOCS = ESP32C6_DOCS
conditional_include_dict = { conditional_include_dict = {
"esp8266": ESP8266_DOCS, "esp8266": ESP8266_DOCS,
"esp32": ESP32_DOCS, "esp32": ESP32_DOCS,
"esp32s2": ESP32S2_DOCS, "esp32s2": ESP32_DOCS,
"esp32c3": ESP32C3_DOCS, "esp32c3": ESP32_DOCS,
"esp32s3": ESP32S3_DOCS, "esp32s3": ESP32_DOCS,
"esp32c2": ESP32C2_DOCS, "esp32c2": ESP32_DOCS,
"esp32c6": ESP32C6_DOCS, "esp32c6": ESP32_DOCS,
"esp32h2": ESP32H2_DOCS, "esp32h2": ESP32_DOCS,
"esp32p4": ESP32_DOCS,
} }
# Extra options required by sphinx_idf_theme # Extra options required by sphinx_idf_theme

View File

@@ -1,6 +1,6 @@
{IDF_TARGET_STRAP_BOOT_GPIO:default="GPIO9", esp32="GPIO0", esp32s2="GPIO0", esp32s3="GPIO0"} {IDF_TARGET_STRAP_BOOT_GPIO:default="GPIO9", esp32="GPIO0", esp32s2="GPIO0", esp32s3="GPIO0", esp32p4="GPIO35"}
{IDF_TARGET_STRAP_BOOT_2_GPIO:default="GPIO8", esp32="GPIO2", esp32s2="GPIO46", esp32s3="GPIO46"} {IDF_TARGET_STRAP_BOOT_2_GPIO:default="GPIO8", esp32="GPIO2", esp32s2="GPIO46", esp32s3="GPIO46", esp32p4="GPIO36"}
{IDF_TARGET_BOOTLOADER_OFFSET:default="0", esp32="1000", esp32s2="1000", esp32p4="2000"} {IDF_TARGET_BOOTLOADER_OFFSET:default="0", esp32="1000", esp32s2="1000", esp32p4="2000"}
@@ -65,13 +65,16 @@ This guide explains how to select the boot mode correctly and describes the boot
The {IDF_TARGET_NAME} will enter the serial bootloader when {IDF_TARGET_STRAP_BOOT_GPIO} is held low on reset. Otherwise it will run the program in flash. The {IDF_TARGET_NAME} will enter the serial bootloader when {IDF_TARGET_STRAP_BOOT_GPIO} is held low on reset. Otherwise it will run the program in flash.
+---------------+----------------------------------------+ .. list-table::
| {IDF_TARGET_STRAP_BOOT_GPIO} Input | Mode | :widths: 10 25
+===============+========================================+ :header-rows: 1
| Low/GND | ROM serial bootloader for esptool |
+---------------+----------------------------------------+ * - {IDF_TARGET_STRAP_BOOT_GPIO} Input
| High/VCC | Normal execution mode | - Mode
+---------------+----------------------------------------+ * - Low/GND
- ROM serial bootloader for esptool
* - High/VCC
- Normal execution mode
{IDF_TARGET_STRAP_BOOT_GPIO} has an internal pullup resistor, so if it is left unconnected then it will pull high. {IDF_TARGET_STRAP_BOOT_GPIO} has an internal pullup resistor, so if it is left unconnected then it will pull high.
@@ -84,7 +87,7 @@ This guide explains how to select the boot mode correctly and describes the boot
{IDF_TARGET_STRAP_BOOT_2_GPIO} must also be either left unconnected/floating, or driven Low, in order to enter the serial bootloader. {IDF_TARGET_STRAP_BOOT_2_GPIO} must also be either left unconnected/floating, or driven Low, in order to enter the serial bootloader.
.. only:: esp32c3 or esp32c2 or esp32h2 or esp32c6 .. only:: esp32c3 or esp32c2 or esp32h2 or esp32c6 or esp32p4
{IDF_TARGET_STRAP_BOOT_2_GPIO} must also be driven High, in order to enter the serial bootloader reliably. The strapping combination of {IDF_TARGET_STRAP_BOOT_2_GPIO} = 0 and {IDF_TARGET_STRAP_BOOT_GPIO} = 0 is invalid and will trigger unexpected behavior. {IDF_TARGET_STRAP_BOOT_2_GPIO} must also be driven High, in order to enter the serial bootloader reliably. The strapping combination of {IDF_TARGET_STRAP_BOOT_2_GPIO} = 0 and {IDF_TARGET_STRAP_BOOT_GPIO} = 0 is invalid and will trigger unexpected behavior.
@@ -133,13 +136,15 @@ As an example of auto-reset curcuitry implementation, check the `schematic <http
Make the following connections for ``esptool`` to automatically enter the bootloader of an {IDF_TARGET_NAME} chip: Make the following connections for ``esptool`` to automatically enter the bootloader of an {IDF_TARGET_NAME} chip:
+-------------+--------------+ .. list-table::
| ESP Pin | Serial Pin | :header-rows: 1
+=============+==============+
| EN | RTS | * - ESP Pin
+-------------+--------------+ - Serial Pin
| {IDF_TARGET_STRAP_BOOT_GPIO} | DTR | * - EN
+-------------+--------------+ - RTS
* - {IDF_TARGET_STRAP_BOOT_GPIO}
- DTR
In Linux serial ports by default will assert RTS when nothing is attached to them. This can hold the {IDF_TARGET_NAME} in a reset loop which may cause some serial adapters to subsequently reset loop. This functionality can be disabled by disabling ``HUPCL`` (ie ``sudo stty -F /dev/ttyUSB0 -hupcl``). In Linux serial ports by default will assert RTS when nothing is attached to them. This can hold the {IDF_TARGET_NAME} in a reset loop which may cause some serial adapters to subsequently reset loop. This functionality can be disabled by disabling ``HUPCL`` (ie ``sudo stty -F /dev/ttyUSB0 -hupcl``).
@@ -235,10 +240,10 @@ Depending on the kind of hardware you have, it may also be possible to manually
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
``rst:0xNN (REASON)`` is an enumerated value (and description) of the reason for the reset. A mapping between the hex value and each reason can be found in the `ESP-IDF source under RESET_REASON enum <https://github.com/espressif/esp-idf/blob/release/v5.0/components/esp_rom/include/{IDF_TARGET_PATH_NAME}/rom/rtc.h>`__. ``rst:0xNN (REASON)`` is an enumerated value (and description) of the reason for the reset. A mapping between the hex value and each reason can be found in the `ESP-IDF source under RESET_REASON enum <https://github.com/espressif/esp-idf/blob/release/v5.2/components/esp_rom/include/{IDF_TARGET_PATH_NAME}/rom/rtc.h>`__.
The value can be read in {IDF_TARGET_NAME} code via the `get_reset_reason() ROM function <https://github.com/espressif/esp-idf/blob/release/v5.0/components/esp_rom/include/{IDF_TARGET_PATH_NAME}/rom/rtc.h>`__. The value can be read in {IDF_TARGET_NAME} code via the `get_reset_reason() ROM function <https://github.com/espressif/esp-idf/blob/release/v5.2/components/esp_rom/include/{IDF_TARGET_PATH_NAME}/rom/rtc.h>`__.
``boot:0xNN (DESCRIPTION)`` is the hex value of the strapping pins, as represented in the `GPIO_STRAP register <https://github.com/espressif/esp-idf/blob/release/v5.0/components/soc/{IDF_TARGET_PATH_NAME}/include/soc/gpio_reg.h>`__. ``boot:0xNN (DESCRIPTION)`` is the hex value of the strapping pins, as represented in the `GPIO_STRAP register <https://github.com/espressif/esp-idf/blob/release/v5.2/components/soc/{IDF_TARGET_PATH_NAME}/include/soc/gpio_reg.h>`__.
The individual bit values are as follows: The individual bit values are as follows:

View File

@@ -47,7 +47,7 @@ The image header is 8 bytes long:
+--------+--------------------------------------------------------------------------------------------------+ +--------+--------------------------------------------------------------------------------------------------+
.. only:: esp32s2 or esp32s3 .. only:: esp32s2 or esp32s3 or esp32p4
+--------+------------------------------------------------------------------------------------------------+ +--------+------------------------------------------------------------------------------------------------+
| Byte | Description | | Byte | Description |
@@ -89,7 +89,7 @@ The image header is 8 bytes long:
Flash frequency with value ``0`` can mean either 80MHz or 40MHz based on MSPI clock source mode. Flash frequency with value ``0`` can mean either 80MHz or 40MHz based on MSPI clock source mode.
.. only:: not (esp8266 or esp32c6 or esp32s3 or esp32s2) .. only:: not (esp8266 or esp32c6 or esp32s3 or esp32s2 or esp32p4)
+--------+------------------------------------------------------------------------------------------------+ +--------+------------------------------------------------------------------------------------------------+
| Byte | Description | | Byte | Description |

View File

@@ -22,7 +22,7 @@ The ``--before`` argument allows you to specify whether the chip needs resetting
* ``--before default_reset`` is the default, which uses DTR & RTS serial control lines (see :ref:`entering-the-bootloader`) to try to reset the chip into bootloader mode. * ``--before default_reset`` is the default, which uses DTR & RTS serial control lines (see :ref:`entering-the-bootloader`) to try to reset the chip into bootloader mode.
* ``--before no_reset`` will skip DTR/RTS control signal assignments and just start sending a serial synchronisation command to the chip. This is useful if your chip doesn't have DTR/RTS, or for some serial interfaces (like Arduino board onboard serial) which behave differently when DTR/RTS are toggled. * ``--before no_reset`` will skip DTR/RTS control signal assignments and just start sending a serial synchronisation command to the chip. This is useful if your chip doesn't have DTR/RTS, or for some serial interfaces (like Arduino board onboard serial) which behave differently when DTR/RTS are toggled.
* ``--before no_reset_no_sync`` will skip DTR/RTS control signal assignments and skip also the serial synchronization command. This is useful if your chip is already running the :ref:`stub bootloader <stub>` and you want to avoid resetting the chip and uploading the stub again. * ``--before no_reset_no_sync`` will skip DTR/RTS control signal assignments and skip also the serial synchronization command. This is useful if your chip is already running the :ref:`stub bootloader <stub>` and you want to avoid resetting the chip and uploading the stub again.
:esp32c3 or esp32s3 or esp32c6 or esp32h2: * ``--before usb_reset`` will use custom reset sequence for USB-JTAG-Serial (used for example for ESP chips connected through the USB-JTAG-Serial peripheral). Usually, this option doesn't have to be used directly. Esptool should be able to detect connection through USB-JTAG-Serial. :esp32c3 or esp32s3 or esp32c6 or esp32h2 or esp32p4: * ``--before usb_reset`` will use custom reset sequence for USB-JTAG-Serial (used for example for ESP chips connected through the USB-JTAG-Serial peripheral). Usually, this option doesn't have to be used directly. Esptool should be able to detect connection through USB-JTAG-Serial.
Reset After Operation Reset After Operation
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^

View File

@@ -60,7 +60,7 @@ Size of the SPI flash, given in megabytes.
Valid values are: ``keep``, ``detect``, ``1MB``, ``2MB``, ``4MB``, ``8MB``, ``16MB`` Valid values are: ``keep``, ``detect``, ``1MB``, ``2MB``, ``4MB``, ``8MB``, ``16MB``
.. only:: esp32s2 or esp32s3 .. only:: esp32s2 or esp32s3 or esp32p4
Valid values are: ``keep``, ``detect``, ``1MB``, ``2MB``, ``4MB``, ``8MB``, ``16MB``, ``32MB``, ``64MB``, ``128MB`` Valid values are: ``keep``, ``detect``, ``1MB``, ``2MB``, ``4MB``, ``8MB``, ``16MB``, ``32MB``, ``64MB``, ``128MB``

View File

@@ -1 +1 @@
esp-docs==1.4.* esp-docs~=1.5