Skip to content

Commit cb84119

Browse files
committed
docs(esp_tee): Added documentation for the ESP-TEE framework
- Co-authored-by: Shen Meng Jing <[email protected]>
1 parent c931de2 commit cb84119

33 files changed

+1104
-3
lines changed
60.1 KB
Loading
Loading
Loading
Loading
Loading
78.4 KB
Loading
79 KB
Loading
30 KB
Loading
Loading
28.5 KB
Loading
30.7 KB
Loading
27.6 KB
Loading

docs/component_info_ignore_file.txt

+4
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ components/ulp/lp_core/lp_core/include/ulp_lp_core_spi.h
1212
components/driver/test_apps/components/esp_serial_slave_link/include/esp_serial_slave_link/essl_sdio.h
1313
components/driver/test_apps/components/esp_serial_slave_link/include/esp_serial_slave_link/essl_spi.h
1414
components/driver/test_apps/components/esp_serial_slave_link/include/esp_serial_slave_link/essl.h
15+
# ESP-TEE header files
16+
components/esp_tee/subproject/components/tee_sec_storage/include/esp_tee_sec_storage.h
17+
components/esp_tee/subproject/components/tee_attestation/esp_tee_attestation.h
18+
components/esp_tee/subproject/components/tee_ota_ops/include/esp_tee_ota_ops.h

docs/conf_common.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,13 @@
199199

200200
QEMU_DOCS = ['api-guides/tools/qemu.rst']
201201

202+
ESP_TEE_DOCS = ['security/tee/index.rst',
203+
'security/tee/tee.rst',
204+
'security/tee/tee-advanced.rst',
205+
'security/tee/tee-attestation.rst',
206+
'security/tee/tee-ota.rst',
207+
'security/tee/tee-sec-storage.rst']
208+
202209
ESP32_DOCS = ['api-reference/system/himem.rst',
203210
'api-guides/romconsole.rst',
204211
'api-reference/system/ipc.rst',
@@ -242,7 +249,7 @@
242249

243250
ESP32C6_DOCS = ['api-guides/RF_calibration.rst',
244251
'api-reference/peripherals/sd_pullup_requirements.rst',
245-
'api-guides/phy.rst']
252+
'api-guides/phy.rst'] + ESP_TEE_DOCS
246253

247254
ESP32H2_DOCS = ['api-guides/RF_calibration.rst',
248255
'api-guides/phy.rst']

docs/doxygen/Doxyfile_esp32c6

+4
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ INPUT += \
1515
$(PROJECT_PATH)/components/ulp/ulp_common/include/ulp_common.h \
1616
$(PROJECT_PATH)/components/esp_wifi/include/esp_wifi_he_types.h \
1717
$(PROJECT_PATH)/components/esp_wifi/include/esp_wifi_he.h \
18+
$(PROJECT_PATH)/components/esp_tee/include/esp_tee.h \
19+
$(PROJECT_PATH)/components/esp_tee/subproject/components/tee_sec_storage/include/esp_tee_sec_storage.h \
20+
$(PROJECT_PATH)/components/esp_tee/subproject/components/tee_attestation/esp_tee_attestation.h \
21+
$(PROJECT_PATH)/components/esp_tee/subproject/components/tee_ota_ops/include/esp_tee_ota_ops.h \

docs/en/api-guides/partition-tables.rst

+16-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,13 @@ The 8-bit SubType field is specific to a given partition type. ESP-IDF currently
123123

124124
See enum :cpp:type:`esp_partition_subtype_t` for the full list of subtypes defined by ESP-IDF, including the following:
125125

126-
* When type is ``app``, the SubType field can be specified as ``factory`` (0x00), ``ota_0`` (0x10) ... ``ota_15`` (0x1F) or ``test`` (0x20).
126+
.. only:: not esp32c6
127+
128+
* When type is ``app``, the SubType field can be specified as ``factory`` (0x00), ``ota_0`` (0x10) ... ``ota_15`` (0x1F) or ``test`` (0x20).
129+
130+
.. only:: esp32c6
131+
132+
* When type is ``app``, the SubType field can be specified as ``factory`` (0x00), ``ota_0`` (0x10) through ``ota_15`` (0x1F), or ``test`` (0x20). Additionally, if :doc:`ESP-TEE <../security/tee/tee>` functionality is enabled, two TEE-specific subtypes become available: ``tee_0`` (0x30) and ``tee_1`` (0x31).
127133

128134
- ``factory`` (0x00) is the default app partition. The bootloader will execute the factory app unless there it sees a partition of type data/ota, in which case it reads this partition to determine which OTA image to boot.
129135

@@ -133,6 +139,10 @@ See enum :cpp:type:`esp_partition_subtype_t` for the full list of subtypes defin
133139
- ``ota_0`` (0x10) ... ``ota_15`` (0x1F) are the OTA app slots. When :doc:`OTA <../api-reference/system/ota>` is in use, the OTA data partition configures which app slot the bootloader should boot. When using OTA, an application should have at least two OTA application slots (``ota_0`` & ``ota_1``). Refer to the :doc:`OTA documentation <../api-reference/system/ota>` for more details.
134140
- ``test`` (0x20) is a reserved subtype for factory test procedures. It will be used as the fallback boot partition if no other valid app partition is found. It is also possible to configure the bootloader to read a GPIO input during each boot, and boot this partition if the GPIO is held low, see :ref:`bootloader_boot_from_test_firmware`.
135141

142+
.. only:: esp32c6
143+
144+
- ``tee_0`` (0x30) and ``tee_1`` (0x31) are the TEE app slots. When :doc:`TEE OTA <../security/tee/tee-ota>` is in use, the TEE OTA data partition configures which TEE app slot the bootloader should boot. When using TEE OTA, the partition table should have these two TEE app slots. Refer to the :doc:`TEE OTA documentation <../security/tee/tee-ota>` for more details.
145+
136146
* When type is ``bootloader``, the SubType field can be specified as:
137147

138148
- ``primary`` (0x00). This is the 2nd stage bootloader, located at the {IDF_TARGET_CONFIG_BOOTLOADER_OFFSET_IN_FLASH} address in flash memory. The tool automatically determines the appropriate size and offset for this subtype, so any size or offset specified for this subtype will be ignored. You can either leave these fields blank or use ``N/A`` as a placeholder.
@@ -171,6 +181,11 @@ See enum :cpp:type:`esp_partition_subtype_t` for the full list of subtypes defin
171181
- It is used to store NVS encryption keys when `NVS Encryption` feature is enabled.
172182
- The size of this partition should be 4096 bytes (minimum partition size).
173183

184+
.. only:: esp32c6
185+
186+
- ``tee_ota`` (0x90) is the :ref:`TEE OTA data partition <tee-ota-data-partition>` which stores information about the currently selected TEE OTA app slot. This partition should be 0x2000 bytes in size. Refer to the :doc:`TEE OTA documentation <../security/tee/tee-ota>` for more details.
187+
- ``tee_sec_stg`` (0x91) is the TEE secure storage partition which stores encrypted data that can only be accessed by the TEE application. This partition is used by the :doc:`TEE Secure Storage <../security/tee/tee-sec-storage>` to store sensitive data like cryptographic keys. The size of this partition depends on the application requirements.
188+
174189
- There are other predefined data subtypes for data storage supported by ESP-IDF. These include:
175190

176191
- ``coredump`` (0x03) is for storing core dumps while using a custom partition table CSV file. See :doc:`/api-guides/core_dump` for more details.

docs/en/contribute/esp-idf-tests-with-pytest.rst

+2
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,8 @@ In CI, all generated target test jobs are named according to the pattern "<targe
481481

482482
The binaries in the target test jobs are downloaded from our internal MinIO servers. For most of the test cases, only the files that are required by flash (like .bin files, flash_args files, etc) would be downloaded. For some test cases, like jtag test cases, .elf files are also downloaded.
483483

484+
.. _run_the_tests_locally:
485+
484486
Running Tests Locally
485487
=====================
486488

docs/en/security/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Features
1818
flash-encryption
1919
:esp32: secure-boot-v1
2020
secure-boot-v2
21+
:esp32c6: tee/index
2122

2223
Workflows
2324
---------

docs/en/security/tee/index.rst

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
###################################
2+
Trusted Execution Environment (TEE)
3+
###################################
4+
5+
*********************
6+
The ESP-TEE Framework
7+
*********************
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
tee
13+
tee-advanced
14+
15+
****************
16+
Salient Features
17+
****************
18+
19+
.. toctree::
20+
:maxdepth: 1
21+
22+
tee-sec-storage
23+
tee-ota
24+
tee-attestation

0 commit comments

Comments
 (0)