ci(parlio_rx): enable target test for h2 and p4

This commit is contained in:
laokaiyao 2024-06-19 17:20:37 +08:00
parent 1818bbaa79
commit b51fc7c390
8 changed files with 45 additions and 12 deletions

View File

@ -3,9 +3,5 @@
components/esp_driver_parlio/test_apps/parlio: components/esp_driver_parlio/test_apps/parlio:
disable: disable:
- if: SOC_PARLIO_SUPPORTED != 1 - if: SOC_PARLIO_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32h2", "esp32p4"]
temporary: true
reason: IDF-9806 waiting for the fix of the bit shift issue after reset
depends_components: depends_components:
- esp_driver_parlio - esp_driver_parlio

View File

@ -178,6 +178,8 @@ static void pulse_delimiter_sender_task_i2s(void *args)
} }
} }
#if CONFIG_IDF_TARGET_ESP32C6 // TODO: IDF-9806 fix the bit shift issue in other target
static void cs_high(spi_transaction_t *trans) static void cs_high(spi_transaction_t *trans)
{ {
gpio_set_level(TEST_VALID_GPIO, 1); gpio_set_level(TEST_VALID_GPIO, 1);
@ -274,6 +276,7 @@ static void level_delimiter_sender_task_spi(void *args)
vTaskDelay(portMAX_DELAY); vTaskDelay(portMAX_DELAY);
} }
} }
#endif
static bool test_delimiter(parlio_rx_delimiter_handle_t deli, bool free_running_clk, void (*sender_task_thread)(void *args)) static bool test_delimiter(parlio_rx_delimiter_handle_t deli, bool free_running_clk, void (*sender_task_thread)(void *args))
{ {
@ -339,6 +342,7 @@ static bool test_delimiter(parlio_rx_delimiter_handle_t deli, bool free_running_
return is_success; return is_success;
} }
#if CONFIG_IDF_TARGET_ESP32C6 // TODO: IDF-9806 fix the bit shift issue in other target
// This test case uses level delimiter // This test case uses level delimiter
TEST_CASE("parallel_rx_unit_level_delimiter_test_via_spi", "[parlio_rx]") TEST_CASE("parallel_rx_unit_level_delimiter_test_via_spi", "[parlio_rx]")
{ {
@ -358,6 +362,7 @@ TEST_CASE("parallel_rx_unit_level_delimiter_test_via_spi", "[parlio_rx]")
TEST_ESP_OK(parlio_del_rx_delimiter(deli)); TEST_ESP_OK(parlio_del_rx_delimiter(deli));
TEST_ASSERT(is_success); TEST_ASSERT(is_success);
} }
#endif
// This test case uses pulse delimiter // This test case uses pulse delimiter
TEST_CASE("parallel_rx_unit_pulse_delimiter_test_via_i2s", "[parlio_rx]") TEST_CASE("parallel_rx_unit_pulse_delimiter_test_via_i2s", "[parlio_rx]")

View File

@ -5,6 +5,8 @@ from pytest_embedded import Dut
@pytest.mark.esp32c6 @pytest.mark.esp32c6
@pytest.mark.esp32h2
@pytest.mark.esp32p4
@pytest.mark.generic @pytest.mark.generic
@pytest.mark.parametrize( @pytest.mark.parametrize(
'config', 'config',

View File

@ -1095,10 +1095,22 @@ config SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH
int int
default 16 default 16
config SOC_PARLIO_TX_CLK_SUPPORT_GATING
bool
default y
config SOC_PARLIO_RX_CLK_SUPPORT_GATING
bool
default y
config SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT config SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT
bool bool
default y default y
config SOC_PARLIO_TRANS_BIT_ALIGN
bool
default y
config SOC_PARLIO_TX_SIZE_BY_DMA config SOC_PARLIO_TX_SIZE_BY_DMA
bool bool
default y default y

View File

@ -417,7 +417,10 @@
#define SOC_PARLIO_RX_UNITS_PER_GROUP 1U /*!< number of RX units in each group */ #define SOC_PARLIO_RX_UNITS_PER_GROUP 1U /*!< number of RX units in each group */
#define SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH 16 /*!< Number of data lines of the TX unit */ #define SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH 16 /*!< Number of data lines of the TX unit */
#define SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH 16 /*!< Number of data lines of the RX unit */ #define SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH 16 /*!< Number of data lines of the RX unit */
#define SOC_PARLIO_TX_CLK_SUPPORT_GATING 1 /*!< Support gating TX clock */
#define SOC_PARLIO_RX_CLK_SUPPORT_GATING 1 /*!< Support gating RX clock */
#define SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT 1 /*!< Support output RX clock to a GPIO */ #define SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT 1 /*!< Support output RX clock to a GPIO */
#define SOC_PARLIO_TRANS_BIT_ALIGN 1 /*!< Support bit alignment in transaction */
#define SOC_PARLIO_TX_SIZE_BY_DMA 1 /*!< Transaction length is controlled by DMA instead of indicated by register */ #define SOC_PARLIO_TX_SIZE_BY_DMA 1 /*!< Transaction length is controlled by DMA instead of indicated by register */
/*--------------------------- MPI CAPS ---------------------------------------*/ /*--------------------------- MPI CAPS ---------------------------------------*/

View File

@ -256,20 +256,12 @@ examples/peripherals/mcpwm/mcpwm_sync:
examples/peripherals/parlio: examples/peripherals/parlio:
disable: disable:
- if: SOC_PARLIO_SUPPORTED != 1 - if: SOC_PARLIO_SUPPORTED != 1
disable_test:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: lack of runner
depends_components: depends_components:
- esp_driver_parlio - esp_driver_parlio
examples/peripherals/parlio/parlio_rx: examples/peripherals/parlio/parlio_rx:
disable: disable:
- if: SOC_PARLIO_SUPPORTED != 1 - if: SOC_PARLIO_SUPPORTED != 1
disable_test:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: lack of runner
depends_components: depends_components:
- esp_driver_parlio - esp_driver_parlio

View File

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0
import pytest
from pytest_embedded import Dut
@pytest.mark.esp32c6
@pytest.mark.esp32h2
@pytest.mark.esp32p4
@pytest.mark.generic
@pytest.mark.parametrize(
'config',
[
'flash_stream',
],
indirect=True,
)
def test_logic_analyzer_flash_stream(dut: Dut) -> None:
dut.expect(r'flash_fat: Probe data partition base addr: \w+ size: \w+')
dut.expect(r'flash_fat: flash FATFS mounted')
dut.expect(r'esp_probe: Dump data size reached the max dump size')
dut.expect(r'example: Probe finished! [0-9]+ \(\w+\) bytes dumped')

View File

@ -0,0 +1 @@
CONFIG_EXAMPLE_FLASH_STREAM=y