From d20140d0143e8bc2904f2e1c8f76a20ec12bddfe Mon Sep 17 00:00:00 2001 From: Raffael Rostagno Date: Wed, 8 Jan 2025 11:53:27 -0300 Subject: [PATCH] tests: esp32c3: Add USB variant Add USB variant config files for esp32c3 boards. Signed-off-by: Raffael Rostagno --- .../espressif/wifi/socs/esp32c3_usb.overlay | 9 ++++ .../drivers/adc/adc_api/socs/esp32c3_usb.conf | 1 + .../adc/adc_api/socs/esp32c3_usb.overlay | 35 ++++++++++++++ .../socs/esp32c3_usb.overlay | 7 +++ .../chan_blen_transfer/socs/esp32c3_usb.conf | 3 ++ .../socs/esp32c3_usb.overlay | 11 +++++ .../dma/loop_transfer/socs/esp32c3_usb.conf | 2 + .../loop_transfer/socs/esp32c3_usb.overlay | 11 +++++ .../flash/common/socs/esp32c3_usb.conf | 1 + .../gpio_basic_api/socs/esp32c3_usb.overlay | 13 +++++ .../pwm/pwm_api/socs/esp32c3_usb.overlay | 34 +++++++++++++ .../socs/esp32c3_usb.overlay | 48 +++++++++++++++++++ .../spi/spi_loopback/socs/esp32c3_usb.conf | 2 + .../spi/spi_loopback/socs/esp32c3_usb.overlay | 44 +++++++++++++++++ .../uart/uart_async_api/socs/esp32c3_usb.conf | 2 + .../uart_async_api/socs/esp32c3_usb.overlay | 31 ++++++++++++ .../uart_elementary/socs/esp32c3_usb.overlay | 28 +++++++++++ 17 files changed, 282 insertions(+) create mode 100644 tests/boards/espressif/wifi/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/adc/adc_api/socs/esp32c3_usb.conf create mode 100644 tests/drivers/adc/adc_api/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/counter/counter_basic_api/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.conf create mode 100644 tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/dma/loop_transfer/socs/esp32c3_usb.conf create mode 100644 tests/drivers/dma/loop_transfer/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/flash/common/socs/esp32c3_usb.conf create mode 100644 tests/drivers/gpio/gpio_basic_api/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/pwm/pwm_api/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/pwm/pwm_gpio_loopback/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/spi/spi_loopback/socs/esp32c3_usb.conf create mode 100644 tests/drivers/spi/spi_loopback/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/uart/uart_async_api/socs/esp32c3_usb.conf create mode 100644 tests/drivers/uart/uart_async_api/socs/esp32c3_usb.overlay create mode 100644 tests/drivers/uart/uart_elementary/socs/esp32c3_usb.overlay diff --git a/tests/boards/espressif/wifi/socs/esp32c3_usb.overlay b/tests/boards/espressif/wifi/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..872f2dfe2ea --- /dev/null +++ b/tests/boards/espressif/wifi/socs/esp32c3_usb.overlay @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&wifi { + status = "okay"; +}; diff --git a/tests/drivers/adc/adc_api/socs/esp32c3_usb.conf b/tests/drivers/adc/adc_api/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..b6c5c80f924 --- /dev/null +++ b/tests/drivers/adc/adc_api/socs/esp32c3_usb.conf @@ -0,0 +1 @@ +CONFIG_ADC_ASYNC=n diff --git a/tests/drivers/adc/adc_api/socs/esp32c3_usb.overlay b/tests/drivers/adc/adc_api/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..c288312aa3a --- /dev/null +++ b/tests/drivers/adc/adc_api/socs/esp32c3_usb.overlay @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2022 Wolter HV + * Copyright (c) 2023 Benjamin Björnsson + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + zephyr,user { + /* adjust channel number according to pinmux in board.dts */ + io-channels = <&adc0 0>, <&adc0 1>; + }; +}; + +&adc0 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + }; +}; diff --git a/tests/drivers/counter/counter_basic_api/socs/esp32c3_usb.overlay b/tests/drivers/counter/counter_basic_api/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..b5ba7f57398 --- /dev/null +++ b/tests/drivers/counter/counter_basic_api/socs/esp32c3_usb.overlay @@ -0,0 +1,7 @@ +&timer0 { + status = "okay"; +}; + +&rtc { + slow-clk-src = ; +}; diff --git a/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.conf b/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..56bf25e718b --- /dev/null +++ b/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.conf @@ -0,0 +1,3 @@ +CONFIG_DMA_TRANSFER_CHANNEL_NR_0=5 +CONFIG_DMA_TRANSFER_CHANNEL_NR_1=0 +CONFIG_HEAP_MEM_POOL_SIZE=32768 diff --git a/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.overlay b/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..6ac9ff08336 --- /dev/null +++ b/tests/drivers/dma/chan_blen_transfer/socs/esp32c3_usb.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma { + status = "okay"; +}; + +tst_dma0: &dma { }; diff --git a/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.conf b/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..311bfc8f535 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.conf @@ -0,0 +1,2 @@ +CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR=0 +CONFIG_DMA_LOOP_TRANSFER_SIZE=4094 diff --git a/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.overlay b/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..6ac9ff08336 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/socs/esp32c3_usb.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma { + status = "okay"; +}; + +tst_dma0: &dma { }; diff --git a/tests/drivers/flash/common/socs/esp32c3_usb.conf b/tests/drivers/flash/common/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..2bcf636958b --- /dev/null +++ b/tests/drivers/flash/common/socs/esp32c3_usb.conf @@ -0,0 +1 @@ +CONFIG_HEAP_MEM_POOL_SIZE=16384 diff --git a/tests/drivers/gpio/gpio_basic_api/socs/esp32c3_usb.overlay b/tests/drivers/gpio/gpio_basic_api/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..313d947d0c8 --- /dev/null +++ b/tests/drivers/gpio/gpio_basic_api/socs/esp32c3_usb.overlay @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + resources { + compatible = "test-gpio-basic-api"; + out-gpios = <&gpio0 4 0>; + in-gpios = <&gpio0 5 0>; + }; +}; diff --git a/tests/drivers/pwm/pwm_api/socs/esp32c3_usb.overlay b/tests/drivers/pwm/pwm_api/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..173073cecd1 --- /dev/null +++ b/tests/drivers/pwm/pwm_api/socs/esp32c3_usb.overlay @@ -0,0 +1,34 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + */ + +#include + +/ { + aliases { + pwm-0 = &ledc0; + }; +}; + +&pinctrl { + ledc0_default: ledc0_default { + group1 { + pinmux = ; + output-enable; + }; + }; +}; + +&ledc0 { + pinctrl-0 = <&ledc0_default>; + pinctrl-names = "default"; + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + channel0@0 { + reg = <0x0>; + timer = <0>; + }; +}; diff --git a/tests/drivers/pwm/pwm_gpio_loopback/socs/esp32c3_usb.overlay b/tests/drivers/pwm/pwm_gpio_loopback/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..7901b44125c --- /dev/null +++ b/tests/drivers/pwm/pwm_gpio_loopback/socs/esp32c3_usb.overlay @@ -0,0 +1,48 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + */ + +#include +#include +#include + +/ { + zephyr,user { + /* GPIO input pins order must match PWM pinctrl config */ + gpios = <&gpio0 2 ESP32_GPIO_PIN_OUT_EN>, + <&gpio0 3 ESP32_GPIO_PIN_OUT_EN>; + + pwms = <&ledc0 0 160000 PWM_POLARITY_NORMAL>, + <&ledc0 5 80000 PWM_POLARITY_INVERTED>; + }; +}; + +&pinctrl { + ledc0_default: ledc0_default { + group1 { + pinmux = , + ; + input-enable; + }; + }; +}; + +&ledc0 { + pinctrl-0 = <&ledc0_default>; + pinctrl-names = "default"; + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + channel0@0 { + reg = <0x0>; + timer = <0>; + }; + + channel5@5 { + reg = <0x5>; + timer = <1>; + }; +}; diff --git a/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.conf b/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..3438f794f66 --- /dev/null +++ b/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.conf @@ -0,0 +1,2 @@ +CONFIG_SPI_ESP32_INTERRUPT=y +CONFIG_HEAP_MEM_POOL_SIZE=32768 diff --git a/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.overlay b/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..7436f9b6aec --- /dev/null +++ b/tests/drivers/spi/spi_loopback/socs/esp32c3_usb.overlay @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2022 Kumar Gala + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + spim2_loopback: spim2_loopback { + group1 { + pinmux = ; + output-enable; /* Enable internal loopback */ + }; + group2 { + pinmux = ; + input-enable; /* Enable internal loopback */ + }; + group3 { + pinmux = , + ; + }; + }; +}; + +&spi2 { + slow@0 { + compatible = "test-spi-loopback-slow"; + reg = <0>; + spi-max-frequency = <500000>; + }; + fast@0 { + compatible = "test-spi-loopback-fast"; + reg = <0>; + spi-max-frequency = <16000000>; + }; +}; + +&spi2 { + #address-cells = <1>; + #size-cells = <0>; + dma-enabled; + pinctrl-0 = <&spim2_loopback>; + pinctrl-names = "default"; + status = "okay"; +}; diff --git a/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.conf b/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.conf new file mode 100644 index 00000000000..76f7644d896 --- /dev/null +++ b/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.conf @@ -0,0 +1,2 @@ +CONFIG_HEAP_MEM_POOL_SIZE=32768 +CONFIG_DMA=y diff --git a/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.overlay b/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..3582e7dcf94 --- /dev/null +++ b/tests/drivers/uart/uart_async_api/socs/esp32c3_usb.overlay @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + uart1_test: uart1_test { + group1 { + pinmux = ; + input-enable; + }; + group2 { + pinmux = ; + output-enable; + }; + }; +}; + +dut: &uart1 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&uart1_test>; + pinctrl-names = "default"; + dmas = <&dma 0>, <&dma 1>; + dma-names = "rx", "tx"; +}; + +&dma { + status = "okay"; +}; diff --git a/tests/drivers/uart/uart_elementary/socs/esp32c3_usb.overlay b/tests/drivers/uart/uart_elementary/socs/esp32c3_usb.overlay new file mode 100644 index 00000000000..d2df77b7ebc --- /dev/null +++ b/tests/drivers/uart/uart_elementary/socs/esp32c3_usb.overlay @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinctrl { + uart1_test: uart1_test { + group1 { + pinmux = , + ; + input-enable; + output-high; + }; + group2 { + pinmux = , + ; + output-enable; + bias-pull-up; + }; + }; +}; + +dut: &uart1 { + status = "okay"; + pinctrl-0 = <&uart1_test>; + pinctrl-names = "default"; + current-speed = <115200>; +};