Skip to content

Commit cacc180

Browse files
committed
docs(esp32h21): Add documentation for ESP32-H21
1 parent a1ca6c9 commit cacc180

File tree

9 files changed

+188
-27
lines changed

9 files changed

+188
-27
lines changed

.github/copilot-instructions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This document provides essential information for coding agents working on the es
1010
- `espsecure.py` - Security-related operations (signing, encryption)
1111
- `esp_rfc2217_server.py` - RFC2217 serial-over-TCP server
1212

13-
**Project type:** Python 3.10+ package with console entry points, using setuptools build system and Click/rich_click for CLI interfaces. Supports ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, ESP32-P4, ESP8266, and other Espressif chips.
13+
**Project type:** Python 3.10+ package with console entry points, using setuptools build system and Click/rich_click for CLI interfaces. Supports ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, ESP32-H21, ESP32-P4, ESP8266, and other Espressif chips.
1414

1515
**Repository size:** ~200 files, primarily Python code with some binary stub flasher files and YAML configuration files.
1616

@@ -35,7 +35,7 @@ This document provides essential information for coding agents working on the es
3535
3. **Verify installation works:**
3636
```bash
3737
esptool.py --help
38-
espefuse.py --help
38+
espefuse.py --help
3939
espsecure.py --help
4040
esp_rfc2217_server.py --help
4141
```
@@ -163,7 +163,7 @@ esptool recognizes these environment variables for default behavior:
163163
- **`ESPTOOL_PORT`** - Default serial port
164164
- **`ESPTOOL_BAUD`** - Default baud rate
165165
- **`ESPTOOL_FF`** - Default flash frequency
166-
- **`ESPTOOL_FM`** - Default flash mode
166+
- **`ESPTOOL_FM`** - Default flash mode
167167
- **`ESPTOOL_FS`** - Default flash size
168168
- **`ESPTOOL_BEFORE`** - Default reset mode before operation
169169
- **`ESPTOOL_AFTER`** - Default reset mode after operation

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ build_docs:
545545
script:
546546
- pip install ".[docs]" --prefer-binary # esptool is needed for the automatic API documentation generation
547547
- cd docs
548-
- build-docs -l en -t {esp8266,esp32,esp32s2,esp32c3,esp32s3,esp32c2,esp32c6,esp32h2,esp32p4,esp32c5,esp32c61}
548+
- build-docs -l en -t {esp8266,esp32,esp32s2,esp32c3,esp32s3,esp32c2,esp32c6,esp32h2,esp32p4,esp32c5,esp32c61,esp32h21}
549549

550550
.deploy_docs_template:
551551
stage: deploy_docs

docs/_static/esptool_versions.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,21 @@ var DOCUMENTATION_VERSIONS = {
33
supported_targets: [ "esp32" ]
44
},
55
VERSIONS: [
6-
{ name: "latest", old: false, pre_release: false, supported_targets: [ "esp8266", "esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32p4", "esp32h2", "esp32c5", "esp32c61" ] },
7-
{ name: "release-v4", old: false, pre_release: false, supported_targets: [ "esp8266", "esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32p4", "esp32h2", "esp32c5", "esp32c61" ] },
6+
{ name: "latest", old: false, pre_release: false, supported_targets: [ "esp8266", "esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32p4", "esp32h2", "esp32c5", "esp32c61", "esp32h21" ] },
7+
{ name: "release-v4", old: false, pre_release: false, supported_targets: [ "esp8266", "esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32p4", "esp32h2", "esp32c5", "esp32c61", "esp32h21" ] },
88
],
99
IDF_TARGETS: [
10-
{ text: "ESP8266", value: "esp8266" },
1110
{ text: "ESP32", value: "esp32" },
12-
{ text: "ESP32-S2", value: "esp32s2" },
13-
{ text: "ESP32-S3", value: "esp32s3" },
14-
{ text: "ESP32-C3", value: "esp32c3" },
1511
{ text: "ESP32-C2", value: "esp32c2" },
12+
{ text: "ESP32-C3", value: "esp32c3" },
13+
{ text: "ESP32-C5", value: "esp32c5" },
1614
{ text: "ESP32-C6", value: "esp32c6" },
15+
{ text: "ESP32-C61", value: "esp32c61" },
1716
{ text: "ESP32-H2", value: "esp32h2" },
17+
{ text: "ESP32-H21", value: "esp32h21" },
1818
{ text: "ESP32-P4", value: "esp32p4" },
19-
{ text: "ESP32-C5", value: "esp32c5" },
20-
{ text: "ESP32-C61", value: "esp32c61" },
19+
{ text: "ESP32-S2", value: "esp32s2" },
20+
{ text: "ESP32-S3", value: "esp32s3" },
21+
{ text: "ESP8266", value: "esp8266" },
2122
]
2223
};

docs/conf_common.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"esp32p4",
1414
"esp32c5",
1515
"esp32c61",
16+
"esp32h21",
1617
]
1718

1819
# link roles config
@@ -53,6 +54,7 @@
5354
"esp32p4": ESP32_DOCS,
5455
"esp32c5": ESP32_DOCS,
5556
"esp32c61": ESP32_DOCS,
57+
"esp32h21": ESP32_DOCS,
5658
}
5759

5860
# Extra options required by sphinx_idf_theme

docs/en/advanced-topics/boot-mode-selection.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{IDF_TARGET_STRAP_BOOT_GPIO:default="GPIO9", esp8266="GPIO0", esp32="GPIO0", esp32s2="GPIO0", esp32s3="GPIO0", esp32p4="GPIO35", esp32c5="GPIO28"}
1+
{IDF_TARGET_STRAP_BOOT_GPIO:default="GPIO9", esp8266="GPIO0", esp32="GPIO0", esp32s2="GPIO0", esp32s3="GPIO0", esp32p4="GPIO35", esp32c5="GPIO28", esp32h21="GPIO14"}
22

3-
{IDF_TARGET_STRAP_BOOT_2_GPIO:default="GPIO8", esp32="GPIO2", esp32s2="GPIO46", esp32s3="GPIO46", esp32p4="GPIO36", esp32c5="GPIO27"}
3+
{IDF_TARGET_STRAP_BOOT_2_GPIO:default="GPIO8", esp32="GPIO2", esp32s2="GPIO46", esp32s3="GPIO46", esp32p4="GPIO36", esp32c5="GPIO27", esp32h21="GPIO13"}
44

55
{IDF_TARGET_BOOTLOADER_OFFSET:default="0x0", esp32="0x1000", esp32s2="0x1000", esp32p4="0x2000", esp32c5="0x2000"}
66

@@ -87,7 +87,7 @@ This guide explains how to select the boot mode correctly and describes the boot
8787

8888
{IDF_TARGET_STRAP_BOOT_2_GPIO} must also be either left unconnected/floating, or driven Low, in order to enter the serial bootloader.
8989

90-
.. only:: esp32c3 or esp32c2 or esp32h2 or esp32c6 or esp32p4 or esp32c5 or esp32c61
90+
.. only:: esp32c3 or esp32c2 or esp32h2 or esp32c6 or esp32p4 or esp32c5 or esp32c61 or esp32h21
9191

9292
{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.
9393

docs/en/advanced-topics/firmware-image-format.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
{IDF_TARGET_FLASH_FREQ_F:default="80", esp32c2="60", esp32h2="48"}
1+
{IDF_TARGET_FLASH_FREQ_F:default="80", esp32c2="60", esp32h2="48", esp32h21="48"}
22

3-
{IDF_TARGET_FLASH_FREQ_0:default="40", esp32c2="30", esp32h2="24"}
3+
{IDF_TARGET_FLASH_FREQ_0:default="40", esp32c2="30", esp32h2="24", esp32h21="24"}
44

5-
{IDF_TARGET_FLASH_FREQ_1:default="26", esp32c2="20", esp32h2="16"}
5+
{IDF_TARGET_FLASH_FREQ_1:default="26", esp32c2="20", esp32h2="16", esp32h21="16"}
66

7-
{IDF_TARGET_FLASH_FREQ_2:default="20", esp32c2="15", esp32h2="12"}
7+
{IDF_TARGET_FLASH_FREQ_2:default="20", esp32c2="15", esp32h2="12", esp32h21="12"}
88

99
{IDF_TARGET_BOOTLOADER_OFFSET:default="0x0", esp32="0x1000", esp32s2="0x1000", esp32p4="0x2000", esp32c5="0x2000"}
1010

@@ -103,7 +103,7 @@ The image header is 8 bytes long:
103103
Flash frequency with value ``0`` can mean either 80MHz or 40MHz based on MSPI clock source mode.
104104

105105

106-
.. only:: esp32c5 or esp32c61
106+
.. only:: esp32c5 or esp32c61 or esp32h21
107107

108108
+--------+------------------------------------------------------------------------------------------------+
109109
| Byte | Description |
@@ -121,7 +121,7 @@ The image header is 8 bytes long:
121121
| 4-7 | Entry point address |
122122
+--------+------------------------------------------------------------------------------------------------+
123123

124-
.. only:: not (esp8266 or esp32c6 or esp32s3 or esp32s2 or esp32p4 or esp32c5 or esp32c61)
124+
.. only:: not (esp8266 or esp32c6 or esp32s3 or esp32s2 or esp32p4 or esp32c5 or esp32c61 or esp32h21)
125125

126126
+--------+------------------------------------------------------------------------------------------------+
127127
| Byte | Description |

0 commit comments

Comments
 (0)