Skip to content

Commit c991c92

Browse files
committed
Merge branch 'submodule-update/support-p4' into 'main'
submodule: update to 43aa98c2d3 to support ESP32-P4 See merge request app-frameworks/esp-matter!980
2 parents 88a9009 + 6f5da35 commit c991c92

12 files changed

+272
-9
lines changed

.gitlab-ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ variables:
2525
IDF_CHECKOUT_REF: "v5.2.3"
2626
# This variable represents the short hash of the connectedhomeip submodule.
2727
# Note: Do change this short hash on submodule update MRs.
28-
CHIP_SHORT_HASH: "9b008bc10d"
28+
CHIP_SHORT_HASH: "43aa98c2d3"
2929
DOCKER_IMAGE_NAME: "espressif/chip-idf"
3030

3131
.add_gitlab_ssh_key: &add_gitlab_ssh_key |
@@ -528,7 +528,7 @@ build_docs:
528528
script:
529529
- cd docs
530530
- pip install -r requirements.txt
531-
- build-docs -t esp32 esp32s3 esp32c2 esp32c3 esp32c6 esp32h2 -l en
531+
- build-docs -t esp32 esp32s3 esp32c2 esp32c3 esp32c6 esp32h2 esp32p4 -l en
532532

533533
.deploy_docs_template:
534534
stage: docs

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ section in the ESP-Matter Programming Guide.
2828

2929
## Supported ESP-IDF and connectedhomeip versions
3030

31-
- This SDK currently works with commit [9b008bc10d](https://github.com/project-chip/connectedhomeip/tree/9b008bc10d) of connectedhomeip.
31+
- This SDK currently works with commit [43aa98c2d3](https://github.com/project-chip/connectedhomeip/tree/43aa98c2d3) of connectedhomeip.
3232
- For Matter projects development with this SDK, it is recommended to utilize ESP-IDF [v5.2.3](https://github.com/espressif/esp-idf/tree/v5.2.3).
3333

3434
## Documentation

docs/_static/esp_sdk_matter_version.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var DOCUMENTATION_VERSIONS = {
33
supported_targets: [ "esp32" ]
44
},
55
VERSIONS: [
6-
{ name: "latest", has_targets: true, supported_targets: [ "esp32", "esp32c2", "esp32c3", "esp32c6", "esp32s3", "esp32h2" ] },
6+
{ name: "latest", has_targets: true, supported_targets: [ "esp32", "esp32c2", "esp32c3", "esp32c6", "esp32s3", "esp32h2", "esp32p4" ] },
77
],
88
IDF_TARGETS: [
99
{ text: "ESP32", value: "esp32" },
@@ -12,5 +12,6 @@ var DOCUMENTATION_VERSIONS = {
1212
{ text: "ESP32-C3", value: "esp32c3" },
1313
{ text: "ESP32-C6", value: "esp32c6" },
1414
{ text: "ESP32-H2", value: "esp32h2" },
15+
{ text: "ESP32-P4", value: "esp32p4" },
1516
]
1617
};

docs/conf_common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from esp_docs.conf_docs import * # noqa: F403,F401
22

33
languages = ['en']
4-
idf_targets = ['esp32', 'esp32s3', 'esp32c2', 'esp32c3', 'esp32c6', 'esp32h2']
4+
idf_targets = ['esp32', 'esp32s3', 'esp32c2', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32p4']
55

66
extensions += ['sphinx_copybutton',
77
# Needed as a trigger for running doxygen

docs/en/developing.rst

+23-3
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,12 @@ Choose IDF target.
262262

263263
idf.py set-target esp32c6
264264

265+
.. only:: esp32p4
266+
267+
::
268+
269+
idf.py set-target esp32p4
270+
265271
- If IDF target has not been set explicitly, then ``esp32`` is
266272
considered as default.
267273
- The default device for ``esp32``/``esp32c3`` is
@@ -278,6 +284,20 @@ Choose IDF target.
278284
- The configuration of the peripheral components can be found in
279285
``$ESP_MATTER_DEVICE_PATH/esp_matter_device.cmake``.
280286

287+
.. only:: esp32p4
288+
289+
- Setup the slave device for ESP32-P4
290+
291+
It is possible to use Wi-Fi and BLE connection on ESP32-P4 that does not support native Wi-Fi and BLE peripherals, which requires another ESP target with native Wi-Fi support physically connected to the ESP32-P4.
292+
This uses `esp_hosted <https://components.espressif.com/components/espressif/esp_hosted>`__ component, please refer to its documentation for more details.
293+
We recommend to use `ESP32-P4 Function_EV_Board <https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html>`__ to build the examples for ESP32-P4. It is composed of an ESP32-P4 and an ESP32-C6.
294+
After setting IDF target, the ``esp_hosted`` will be downloaded at managed_components directory, build and flash the slave device for ESP32-C6. Note that you need the `ESP-Prog Board <https://docs.espressif.com/projects/esp-iot-solution/en/latest/hw-reference/ESP-Prog_guide.html>`__ to flash the slave firmware to ESP32-C6.
295+
296+
::
297+
298+
idf.py -C managed_components/espressif__esp_hosted/slave/ -B build_slave set-target esp32c6
299+
idf.py -C managed_components/espressif__esp_hosted/slave/ -B build_slave build flash monitor
300+
281301
.. only:: esp32c6
282302

283303
- ESP32-C6 supports both the Wi-Fi and IEEE 802.15.4 radio, so you can run Wi-Fi or Thread matter example on it.
@@ -335,7 +355,7 @@ Use ``chip-tool`` in interactive mode to commission the device:
335355
chip-tool interactive start
336356

337357

338-
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6
358+
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6 or esp32p4
339359

340360
::
341361

@@ -362,7 +382,7 @@ Above method commissions the device using setup passcode and discriminator. Devi
362382

363383
To Commission the device using manual pairing code 34970112332
364384

365-
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6
385+
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6 or esp32p4
366386

367387
::
368388

@@ -389,7 +409,7 @@ Above default manual pairing code contains following values:
389409

390410
To commission the device using QR code MT:Y.K9042C00KA0648G00
391411

392-
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6
412+
.. only:: esp32 or esp32s3 or esp32c3 or esp32c2 or esp32c6 or esp32p4
393413

394414
::
395415

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTON_1_GPIO=35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTON_1_GPIO=35
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTON_1_GPIO=35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTONS_NUM=1
41+
CONFIG_BSP_BUTTON_1_GPIO=35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTON_1_GPIO=35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
CONFIG_IDF_TARGET="esp32p4"
2+
3+
# Flash size and partition
4+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
5+
CONFIG_PARTITION_TABLE_CUSTOM=y
6+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
7+
8+
# Enable BLE Host but use remote controller
9+
CONFIG_BT_ENABLED=y
10+
CONFIG_BT_NIMBLE_ENABLED=y
11+
CONFIG_BT_NIMBLE_TRANSPORT_UART=n
12+
CONFIG_ESP_ENABLE_BT=y
13+
14+
# Increase main task stack size
15+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
16+
17+
# Disable Wi-Fi Soft AP
18+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
19+
20+
# LwIP
21+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
22+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
23+
24+
# mbedtls
25+
CONFIG_MBEDTLS_HKDF_C=y
26+
27+
# Matter shell
28+
CONFIG_ENABLE_CHIP_SHELL=y
29+
30+
# OTA requestor
31+
CONFIG_ENABLE_OTA_REQUESTOR=y
32+
33+
# Do not deinit BLE after commissioning
34+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
35+
36+
# ESP32-P4 Function EV Board use ESP32C6 as slave device
37+
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
38+
39+
# BSP button
40+
CONFIG_BSP_BUTTONS_NUM=1
41+
CONFIG_BSP_BUTTON_1_GPIO=35

0 commit comments

Comments
 (0)