mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
Merge branch 'ci/c61_enable_multi_dev_runner' into 'master'
ci(esp32c61): enable multi dut runner for c61 eco3 Closes IDF-10949 and IDFCI-3037 See merge request espressif/esp-idf!40724
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded import Dut
|
from pytest_embedded import Dut
|
||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
|
from pytest_embedded_idf.utils import soc_filtered_targets
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@@ -23,30 +24,15 @@ def test_i2c(dut: Dut) -> None:
|
|||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'count, config',
|
'count, config',
|
||||||
[
|
[
|
||||||
(
|
(2, 'defaults'),
|
||||||
2,
|
(2, 'release'),
|
||||||
'defaults',
|
(2, 'iram_safe'),
|
||||||
),
|
|
||||||
(
|
|
||||||
2,
|
|
||||||
'release',
|
|
||||||
),
|
|
||||||
(
|
|
||||||
2,
|
|
||||||
'iram_safe',
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
indirect=True,
|
indirect=True,
|
||||||
)
|
)
|
||||||
@idf_parametrize(
|
@idf_parametrize('target', soc_filtered_targets('SOC_I2C_SUPPORTED == 1'), indirect=['target'])
|
||||||
'target',
|
|
||||||
['esp32', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32h2', 'esp32p4', 'esp32s2', 'esp32s3'],
|
|
||||||
indirect=['target'],
|
|
||||||
)
|
|
||||||
def test_i2c_multi_device(case_tester) -> None: # type: ignore
|
def test_i2c_multi_device(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.flash_suspend
|
@pytest.mark.flash_suspend
|
||||||
|
@@ -2,16 +2,11 @@
|
|||||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
|
from pytest_embedded_idf.utils import soc_filtered_targets
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
'count',
|
@idf_parametrize('target', soc_filtered_targets('SOC_I2S_SUPPORTS_TDM == 1'), indirect=['target'])
|
||||||
[
|
|
||||||
2,
|
|
||||||
],
|
|
||||||
indirect=True,
|
|
||||||
)
|
|
||||||
@idf_parametrize('target', ['esp32s3', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32h2', 'esp32p4'], indirect=['target'])
|
|
||||||
def test_i2s_multi_dev(case_tester) -> None: # type: ignore
|
def test_i2s_multi_dev(case_tester) -> None: # type: ignore
|
||||||
case_tester.run_all_multi_dev_cases(reset=True, timeout=30)
|
case_tester.run_all_multi_dev_cases(reset=True, timeout=30)
|
||||||
|
@@ -34,21 +34,13 @@ def test_ledc_psram(dut: IdfDut) -> None:
|
|||||||
dut.run_all_single_board_cases(reset=True)
|
dut.run_all_single_board_cases(reset=True)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.temp_skip_ci(
|
@pytest.mark.temp_skip_ci(targets=['esp32s3'], reason='s3 multi device runner has no psram')
|
||||||
targets=['esp32s3', 'esp32c61'], reason='s3 multi device runner has no psram, c61 lack of runner IDF-10949'
|
|
||||||
)
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'count, config',
|
'count, config',
|
||||||
[
|
[
|
||||||
(
|
(2, 'iram_safe'),
|
||||||
2,
|
(2, 'release'),
|
||||||
'iram_safe',
|
|
||||||
),
|
|
||||||
(
|
|
||||||
2,
|
|
||||||
'release',
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
indirect=True,
|
indirect=True,
|
||||||
)
|
)
|
||||||
|
@@ -2,7 +2,6 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
# If `test_env` is define, should not run on generic runner
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@@ -18,7 +17,7 @@ from pytest_embedded_idf.utils import idf_parametrize
|
|||||||
def test_master_single_dev(case_tester) -> None: # type: ignore
|
def test_master_single_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
for case in case_tester.test_menu:
|
||||||
if 'test_env' in case.attributes:
|
if 'test_env' in case.attributes:
|
||||||
continue
|
continue # If `test_env` is defined, should not run on generic runner
|
||||||
case_tester.run_normal_case(case=case, reset=True)
|
case_tester.run_normal_case(case=case, reset=True)
|
||||||
|
|
||||||
|
|
||||||
@@ -39,9 +38,6 @@ def test_master_esp_flash(case_tester) -> None: # type: ignore
|
|||||||
case_tester.run_normal_case(case=case, reset=True)
|
case_tester.run_normal_case(case=case, reset=True)
|
||||||
|
|
||||||
|
|
||||||
# if `test_env` not defined, will run on `generic_multi_device` by default
|
|
||||||
# TODO: [ESP32C61] IDF-10949
|
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='no multi-dev runner')
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'count, config',
|
'count, config',
|
||||||
@@ -54,6 +50,4 @@ def test_master_esp_flash(case_tester) -> None: # type: ignore
|
|||||||
)
|
)
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
def test_master_multi_dev(case_tester) -> None: # type: ignore
|
def test_master_multi_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
@@ -1278,12 +1278,12 @@ static void test_master_fd_dma(void)
|
|||||||
.spics_io_num = PIN_NUM_CS,
|
.spics_io_num = PIN_NUM_CS,
|
||||||
.queue_size = 16,
|
.queue_size = 16,
|
||||||
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
||||||
|
.cs_ena_pretrans = 2,
|
||||||
};
|
};
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
if (is_gpio && (s_spi_bus_freq[speed_level] >= 10 * 1000 * 1000)) {
|
if (is_gpio && (s_spi_bus_freq[speed_level] >= 10 * 1000 * 1000)) {
|
||||||
continue; //On esp32 with GPIO Matrix, clk freq <= 10MHz
|
continue; //On esp32 with GPIO Matrix, clk freq <= 10MHz
|
||||||
}
|
}
|
||||||
devcfg.cs_ena_pretrans = 2;
|
|
||||||
devcfg.input_delay_ns = 12.5 * 2;
|
devcfg.input_delay_ns = 12.5 * 2;
|
||||||
#endif
|
#endif
|
||||||
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
||||||
@@ -1393,12 +1393,12 @@ static void test_master_fd_no_dma(void)
|
|||||||
.spics_io_num = PIN_NUM_CS,
|
.spics_io_num = PIN_NUM_CS,
|
||||||
.queue_size = 16,
|
.queue_size = 16,
|
||||||
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
||||||
|
.cs_ena_pretrans = 2,
|
||||||
};
|
};
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
if (is_gpio && (s_spi_bus_freq[speed_level] >= 10 * 1000 * 1000)) {
|
if (is_gpio && (s_spi_bus_freq[speed_level] >= 10 * 1000 * 1000)) {
|
||||||
continue; //On esp32 with GPIO Matrix, clk freq <= 10MHz
|
continue; //On esp32 with GPIO Matrix, clk freq <= 10MHz
|
||||||
}
|
}
|
||||||
devcfg.cs_ena_pretrans = 2,
|
|
||||||
devcfg.input_delay_ns = 12.5 * 2,
|
devcfg.input_delay_ns = 12.5 * 2,
|
||||||
#endif
|
#endif
|
||||||
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
||||||
@@ -1508,6 +1508,7 @@ static void test_master_hd_dma(void)
|
|||||||
spi_device_interface_config_t devcfg = {
|
spi_device_interface_config_t devcfg = {
|
||||||
.spics_io_num = PIN_NUM_CS,
|
.spics_io_num = PIN_NUM_CS,
|
||||||
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
||||||
|
.cs_ena_pretrans = 2,
|
||||||
.mode = mode,
|
.mode = mode,
|
||||||
.flags = SPI_DEVICE_HALFDUPLEX,
|
.flags = SPI_DEVICE_HALFDUPLEX,
|
||||||
.command_bits = 8,
|
.command_bits = 8,
|
||||||
@@ -1616,6 +1617,7 @@ static void test_master_hd_no_dma(void)
|
|||||||
spi_device_interface_config_t devcfg = {
|
spi_device_interface_config_t devcfg = {
|
||||||
.spics_io_num = PIN_NUM_CS,
|
.spics_io_num = PIN_NUM_CS,
|
||||||
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
||||||
|
.cs_ena_pretrans = 2,
|
||||||
.mode = mode,
|
.mode = mode,
|
||||||
.flags = SPI_DEVICE_HALFDUPLEX,
|
.flags = SPI_DEVICE_HALFDUPLEX,
|
||||||
.command_bits = 8,
|
.command_bits = 8,
|
||||||
@@ -1739,10 +1741,10 @@ static void test_master_sio_dma(void)
|
|||||||
.spics_io_num = PIN_NUM_CS,
|
.spics_io_num = PIN_NUM_CS,
|
||||||
.queue_size = 16,
|
.queue_size = 16,
|
||||||
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
.clock_speed_hz = s_spi_bus_freq[speed_level],
|
||||||
|
.cs_ena_pretrans = 2,
|
||||||
.flags = SPI_DEVICE_HALFDUPLEX | SPI_DEVICE_3WIRE,
|
.flags = SPI_DEVICE_HALFDUPLEX | SPI_DEVICE_3WIRE,
|
||||||
};
|
};
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
devcfg.cs_ena_pretrans = 2;
|
|
||||||
devcfg.input_delay_ns = s_master_input_delay[speed_level];
|
devcfg.input_delay_ns = s_master_input_delay[speed_level];
|
||||||
#endif
|
#endif
|
||||||
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
||||||
@@ -1874,7 +1876,6 @@ static void test_master_sio_no_dma(void)
|
|||||||
.flags = SPI_DEVICE_HALFDUPLEX | SPI_DEVICE_3WIRE,
|
.flags = SPI_DEVICE_HALFDUPLEX | SPI_DEVICE_3WIRE,
|
||||||
};
|
};
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
devcfg.cs_ena_pretrans = 2;
|
|
||||||
devcfg.input_delay_ns = s_master_input_delay[speed_level];
|
devcfg.input_delay_ns = s_master_input_delay[speed_level];
|
||||||
#endif
|
#endif
|
||||||
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
TEST_ESP_OK(spi_bus_add_device(TEST_SPI_HOST, &devcfg, &dev0));
|
||||||
|
@@ -2,31 +2,16 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
# If `test_env` is define, should not run on generic runner
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
def test_param_single_dev(case_tester) -> None: # type: ignore
|
def test_param_single_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_normal_cases(reset=True)
|
||||||
if 'test_env' in case.attributes:
|
|
||||||
continue
|
|
||||||
case_tester.run_normal_case(case=case, reset=True)
|
|
||||||
|
|
||||||
|
|
||||||
# if `test_env` not defined, will run on `generic_multi_device` by default
|
|
||||||
# TODO: [ESP32C61] IDF-10949
|
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='no multi-dev runner')
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
'count',
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
],
|
|
||||||
indirect=True,
|
|
||||||
)
|
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
def test_param_multi_dev(case_tester) -> None: # type: ignore
|
def test_param_multi_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
@@ -2,26 +2,17 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
# If `test_env` is define, should not run on generic runner
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', ['release', 'iram_safe'], indirect=True)
|
@pytest.mark.parametrize('config', ['release', 'iram_safe'], indirect=True)
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
def test_slave_single_dev(case_tester) -> None: # type: ignore
|
def test_slave_single_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_normal_cases(reset=True)
|
||||||
if 'test_env' in case.attributes:
|
|
||||||
continue
|
|
||||||
case_tester.run_normal_case(case=case, reset=True)
|
|
||||||
|
|
||||||
|
|
||||||
# if `test_env` not defined, will run on `generic_multi_device` by default
|
|
||||||
# TODO: [ESP32C61] IDF-10949
|
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='no multi-dev runner')
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize('count, config', [(2, 'release'), (2, 'iram_safe')], indirect=True)
|
@pytest.mark.parametrize('count, config', [(2, 'release'), (2, 'iram_safe')], indirect=True)
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
def test_slave_multi_dev(case_tester) -> None: # type: ignore
|
def test_slave_multi_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
@@ -10,19 +10,11 @@ from pytest_embedded_idf.utils import soc_filtered_targets
|
|||||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1'), indirect=['target'])
|
||||||
def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
|
def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_normal_cases(reset=True, timeout=180)
|
||||||
if 'test_env' in case.attributes:
|
|
||||||
continue # If `test_env` is define, should not run on generic runner
|
|
||||||
case_tester.run_normal_case(case=case, reset=True, timeout=180)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
# TODO: [ESP32C61] IDF-10949
|
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='no multi-dev runner')
|
|
||||||
@pytest.mark.parametrize('count, config', [(2, 'release')], indirect=True)
|
@pytest.mark.parametrize('count, config', [(2, 'release')], indirect=True)
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1'), indirect=['target'])
|
||||||
def test_slave_hd_multi_dev(case_tester) -> None: # type: ignore
|
def test_slave_hd_multi_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
# if `test_env` not defined, will run on `generic_multi_device` by default
|
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
@@ -77,9 +77,10 @@ def test_uart_single_dev_psram(case_tester) -> None: # type: ignore
|
|||||||
dut.expect_unity_test_output()
|
dut.expect_unity_test_output()
|
||||||
|
|
||||||
|
|
||||||
# ESP32 only supports uart wakeup if signal routes through IOMUX, ESP32S3 multi device runner has no psram IDF-12837,
|
# ESP32 only supports uart wakeup if signal routes through IOMUX
|
||||||
# ESP32C61 lack of runner IDF-10949, ESP32P4 not yet supported IDF-12839.
|
# ESP32S3 multi device runner has no psram IDF-12837,
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32', 'esp32s3', 'esp32c61', 'esp32p4'], reason='no multi-dev runner')
|
# ESP32P4 not yet supported IDF-12839.
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32', 'esp32s3', 'esp32p4'], reason='no multi-dev runner')
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@@ -11,10 +11,6 @@ TEST_CONFIGS = [
|
|||||||
pytest.param('default'),
|
pytest.param('default'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# TODO: PM-66
|
|
||||||
# ESP32: need to fix GPIO16 and GPIO17 bug
|
|
||||||
# ESP32S2: need to fix GPIO43 bug
|
|
||||||
# ESP32S3: need to fix GPIO33, GPIO34 and GPIO43 bug
|
|
||||||
available_gpio_nums = {
|
available_gpio_nums = {
|
||||||
'esp32': [2, 4, 5, 12, 13, 14, 15, 18, 19, 21, 22, 23, 27],
|
'esp32': [2, 4, 5, 12, 13, 14, 15, 18, 19, 21, 22, 23, 27],
|
||||||
'esp32s2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45],
|
'esp32s2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45],
|
||||||
@@ -23,40 +19,10 @@ available_gpio_nums = {
|
|||||||
'esp32c3': [0, 1, 2, 3, 4, 5, 6, 7, 10, 18, 19],
|
'esp32c3': [0, 1, 2, 3, 4, 5, 6, 7, 10, 18, 19],
|
||||||
'esp32c6': [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23],
|
'esp32c6': [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23],
|
||||||
'esp32h2': [0, 1, 2, 3, 4, 5, 10, 11, 12, 22, 25, 26, 27],
|
'esp32h2': [0, 1, 2, 3, 4, 5, 10, 11, 12, 22, 25, 26, 27],
|
||||||
'esp32p4': [
|
'esp32p4': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
|
||||||
0,
|
+ [28, 29, 30, 31, 32, 33, 36, 49, 50, 51, 52, 53, 54],
|
||||||
1,
|
|
||||||
2,
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
5,
|
|
||||||
6,
|
|
||||||
7,
|
|
||||||
8,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
11,
|
|
||||||
12,
|
|
||||||
13,
|
|
||||||
14,
|
|
||||||
15,
|
|
||||||
16,
|
|
||||||
17,
|
|
||||||
28,
|
|
||||||
29,
|
|
||||||
30,
|
|
||||||
31,
|
|
||||||
32,
|
|
||||||
33,
|
|
||||||
36,
|
|
||||||
49,
|
|
||||||
50,
|
|
||||||
51,
|
|
||||||
52,
|
|
||||||
53,
|
|
||||||
54,
|
|
||||||
],
|
|
||||||
'esp32c5': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 23, 24, 25, 26],
|
'esp32c5': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 23, 24, 25, 26],
|
||||||
|
'esp32c61': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 22, 23, 24, 25, 26, 27, 28, 29],
|
||||||
}
|
}
|
||||||
|
|
||||||
available_rtcio_nums = {
|
available_rtcio_nums = {
|
||||||
@@ -69,6 +35,7 @@ available_rtcio_nums = {
|
|||||||
'esp32h2': [7, 8, 9, 10, 11, 12, 13, 14],
|
'esp32h2': [7, 8, 9, 10, 11, 12, 13, 14],
|
||||||
'esp32p4': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
'esp32p4': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||||
'esp32c5': [0, 1, 2, 3, 4, 5, 6],
|
'esp32c5': [0, 1, 2, 3, 4, 5, 6],
|
||||||
|
'esp32c61': [0, 1, 2, 3, 4, 5, 6],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -175,11 +142,7 @@ def test_rtcio_deepsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
|||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize('count', [2], indirect=True)
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
@pytest.mark.parametrize('config', TEST_CONFIGS, indirect=True)
|
@pytest.mark.parametrize('config', TEST_CONFIGS, indirect=True)
|
||||||
@idf_parametrize(
|
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
|
||||||
'target',
|
|
||||||
['esp32', 'esp32c2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c6', 'esp32h2', 'esp32p4', 'esp32c5'],
|
|
||||||
indirect=['target'],
|
|
||||||
)
|
|
||||||
def test_gpio_wakeup_enable_lightsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
def test_gpio_wakeup_enable_lightsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||||
wakee = dut[0]
|
wakee = dut[0]
|
||||||
waker = dut[1]
|
waker = dut[1]
|
||||||
|
@@ -45,7 +45,7 @@ def test_lp_vad(dut: Dut) -> None:
|
|||||||
dut.run_all_single_board_cases(group='lp_vad')
|
dut.run_all_single_board_cases(group='lp_vad')
|
||||||
|
|
||||||
|
|
||||||
# TODO: Enable LP I2C test for esp32p4 (IDF-9407)
|
# TODO: Support LP I2C test for esp32p4 (IDF-9581)
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
@pytest.mark.parametrize('count', [2], indirect=True)
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
@@ -57,9 +57,7 @@ def test_lp_vad(dut: Dut) -> None:
|
|||||||
)
|
)
|
||||||
@idf_parametrize('target', ['esp32c6'], indirect=['target'])
|
@idf_parametrize('target', ['esp32c6'], indirect=['target'])
|
||||||
def test_lp_core_multi_device(case_tester) -> None: # type: ignore
|
def test_lp_core_multi_device(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic_multi_device
|
@pytest.mark.generic_multi_device
|
||||||
|
@@ -15,6 +15,4 @@ def test_ulp_riscv(dut: Dut) -> None: # type: ignore
|
|||||||
@pytest.mark.parametrize('count', [2], indirect=True)
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
@idf_parametrize('target', ['esp32s2', 'esp32s3'], indirect=['target'])
|
@idf_parametrize('target', ['esp32s2', 'esp32s3'], indirect=['target'])
|
||||||
def test_ulp_riscv_multi_device(case_tester) -> None: # type: ignore
|
def test_ulp_riscv_multi_device(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
case_tester.run_all_multi_dev_cases(reset=True)
|
||||||
if case.attributes.get('test_env', 'generic_multi_device') == 'generic_multi_device':
|
|
||||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
|
||||||
|
@@ -345,7 +345,7 @@ examples/system/ulp/lp_core/lp_i2c:
|
|||||||
disable:
|
disable:
|
||||||
- if: IDF_TARGET == "esp32p4"
|
- if: IDF_TARGET == "esp32p4"
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: target esp32p4 is not supported yet, TODO IDF-9407
|
reason: target esp32p4 is not supported yet, TODO IDF-9581
|
||||||
depends_components:
|
depends_components:
|
||||||
- ulp
|
- ulp
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user