Skip to content

Commit

Permalink
Merge branch 'feature/esp32h2_support_ieee802154' into 'master'
Browse files Browse the repository at this point in the history
ieee802154: add support esp32h2

Closes TZ-59

See merge request espressif/esp-idf!22379
  • Loading branch information
Xia Qi Lin committed Mar 1, 2023
2 parents d4b9989 + 967bfb6 commit 63d0494
Show file tree
Hide file tree
Showing 11 changed files with 47 additions and 17 deletions.
9 changes: 3 additions & 6 deletions components/esp_phy/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
idf_build_get_property(idf_target IDF_TARGET)

if(IDF_TARGET STREQUAL "esp32h2")
# TODO : IDF-6337
return()
endif()

set(srcs "src/phy_override.c" "src/lib_printf.c")

if(CONFIG_APP_NO_BLOBS)
Expand All @@ -21,12 +16,13 @@ else()
list(APPEND srcs "src/phy_init.c")
endif()

if(CONFIG_SOC_BT_SUPPORTED OR CONFIG_SOC_IEEE802154_SUPPORTED)
if(CONFIG_SOC_BT_SUPPORTED OR CONFIG_SOC_IEEE802154_SUPPORTED OR CONFIG_SOC_IEEE802154_BLE_ONLY)
list(APPEND srcs "src/btbb_init.c")
endif()

idf_build_get_property(build_dir BUILD_DIR)

if(CONFIG_SOC_WIFI_SUPPORTED)
if(CONFIG_ESP_PHY_MULTIPLE_INIT_DATA_BIN)
if(NOT EXISTS "${build_dir}/phy_multiple_init_data.bin")
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${idf_target}/phy_multiple_init_data.bin DESTINATION "${build_dir}")
Expand All @@ -36,6 +32,7 @@ endif()
if(CONFIG_ESP_PHY_MULTIPLE_INIT_DATA_BIN_EMBED)
set(embed_files "${build_dir}/phy_multiple_init_data.bin")
endif()
endif()

# [refactor-todo]: requires "driver" component for periph_ctrl header file
idf_component_register(SRCS "${srcs}"
Expand Down
1 change: 1 addition & 0 deletions components/esp_phy/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ menu "PHY"

menuconfig ESP_PHY_INIT_DATA_IN_PARTITION
bool "Use a partition to store PHY init data"
depends on SOC_WIFI_SUPPORTED
default n
help
If enabled, PHY init data will be loaded from a partition.
Expand Down
22 changes: 22 additions & 0 deletions components/esp_phy/esp32h2/include/phy_init_data.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
* SPDX-FileCopyrightText: 2016-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

#ifndef PHY_INIT_DATA_H
#define PHY_INIT_DATA_H /* don't use #pragma once here, we compile this file sometimes */
#include "esp_phy_init.h"
#include "sdkconfig.h"

#ifdef __cplusplus
extern "C" {
#endif

// There is no init data for ESP32H2 right now, could be added when necessary.

#ifdef __cplusplus
}
#endif

#endif /* PHY_INIT_DATA_H */
2 changes: 1 addition & 1 deletion components/ieee802154/lib
4 changes: 4 additions & 0 deletions components/soc/esp32h2/include/soc/Kconfig.soc_caps.in
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ config SOC_GPTIMER_SUPPORTED
bool
default y

config SOC_IEEE802154_SUPPORTED
bool
default y

config SOC_IEEE802154_BLE_ONLY
bool
default y
Expand Down
6 changes: 3 additions & 3 deletions components/soc/esp32h2/include/soc/soc_caps.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
#define SOC_MCPWM_SUPPORTED 1
#define SOC_TWAI_SUPPORTED 1
// #define SOC_BT_SUPPORTED 1 // TODO: IDF-6416
// #define SOC_IEEE802154_SUPPORTED 1 // TODO: IDF-6577
#define SOC_GPTIMER_SUPPORTED 1
#define SOC_IEEE802154_BLE_ONLY 1
#define SOC_GPTIMER_SUPPORTED 1
#define SOC_IEEE802154_SUPPORTED 1
#define SOC_IEEE802154_BLE_ONLY 1
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
#define SOC_TEMP_SENSOR_SUPPORTED 1
// #define SOC_SUPPORTS_SECURE_DL_MODE 1 // TODO: IDF-6281
Expand Down
1 change: 1 addition & 0 deletions components/soc/esp32h2/ld/esp32h2.peripherals.ld
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,4 @@ PROVIDE ( LP_PERI = 0x600B2800 );
PROVIDE ( LP_ANA_PERI = 0x600B2C00 );
PROVIDE ( LP_APM = 0x600B3800 );
PROVIDE ( OTP_DEBUG = 0x600B3C00 );
PROVIDE ( IEEE802154 = 0x600A3000 );
10 changes: 7 additions & 3 deletions examples/openthread/.build-test-rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ examples/openthread/ot_br:

examples/openthread/ot_cli:
enable:
- if: IDF_TARGET in ["esp32h4", "esp32c6"]
- if: IDF_TARGET in ["esp32h2", "esp32h4", "esp32c6"]
disable_test:
- if: IDF_TARGET == "esp32h2"
temporary: true
reason: test on esp32h4 and esp32c6

examples/openthread/ot_rcp:
enable:
- if: IDF_TARGET in ["esp32h4", "esp32c6"]
- if: IDF_TARGET in ["esp32h2", "esp32h4", "esp32c6"]
disable_test:
- if: IDF_TARGET == "esp32c6"
- if: IDF_TARGET in ["esp32h2", "esp32c6"]
temporary: true
reason: only test on esp32h4
4 changes: 2 additions & 2 deletions examples/openthread/ot_cli/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
| Supported Targets | ESP32-C6 | ESP32-H4 |
| ----------------- | -------- | -------- |
| Supported Targets | ESP32-C6 | ESP32-H2 | ESP32-H4 |
| ----------------- | -------- | -------- | -------- |

# OpenThread Command Line Example

Expand Down
4 changes: 2 additions & 2 deletions examples/openthread/ot_rcp/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
| Supported Targets | ESP32-C6 | ESP32-H4 |
| ----------------- | -------- | -------- |
| Supported Targets | ESP32-C6 | ESP32-H2 | ESP32-H4 |
| ----------------- | -------- | -------- | -------- |

# OpenThread Radio Co-Processor (RCP) Example

Expand Down
1 change: 1 addition & 0 deletions examples/openthread/pytest_otbr.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ def fixture_Init_interface() -> bool:

# Case 1: Thread network formation and attaching
@pytest.mark.esp32s3
@pytest.mark.esp32h2
@pytest.mark.esp32h4
@pytest.mark.esp32c6
@pytest.mark.openthread_br
Expand Down

0 comments on commit 63d0494

Please sign in to comment.