From 443166937a9990349bd18103911fe72786dd6674 Mon Sep 17 00:00:00 2001 From: Marcio Ribeiro Date: Thu, 19 Dec 2024 19:11:25 -0300 Subject: [PATCH] boards: esp32: add i2s to non gdma soc boards Adds i2s support for those boards with socs lacking gdma peripheral: - esp32 - esp32s2 Signed-off-by: Marcio Ribeiro --- .../esp32_devkitc_wroom/doc/index.rst | 2 ++ .../esp32_devkitc_wroom-pinctrl.dtsi | 32 +++++++++++++++++++ .../esp32_devkitc_wroom_procpu.dts | 12 +++++++ .../esp32_devkitc_wroom_procpu.yaml | 1 + .../esp32_devkitc_wrover/doc/index.rst | 2 ++ .../esp32_devkitc_wrover-pinctrl.dtsi | 32 +++++++++++++++++++ .../esp32_devkitc_wrover_procpu.dts | 12 +++++++ .../esp32_devkitc_wrover_procpu.yaml | 1 + .../esp32_ethernet_kit-pinctrl.dtsi | 32 +++++++++++++++++++ .../esp32_ethernet_kit_procpu.dts | 12 +++++++ .../esp32_ethernet_kit_procpu.yaml | 1 + .../espressif/esp32s2_devkitc/doc/index.rst | 2 ++ .../esp32s2_devkitc-pinctrl.dtsi | 16 ++++++++++ .../esp32s2_devkitc/esp32s2_devkitc.dts | 6 ++++ .../esp32s2_devkitc/esp32s2_devkitc.yaml | 1 + boards/espressif/esp32s2_saola/doc/index.rst | 2 ++ .../esp32s2_saola/esp32s2_saola-pinctrl.dtsi | 16 ++++++++++ .../espressif/esp32s2_saola/esp32s2_saola.dts | 6 ++++ .../esp32s2_saola/esp32s2_saola.yaml | 1 + .../esp32s2_franzininho-pinctrl.dtsi | 16 ++++++++++ .../esp32s2_franzininho.dts | 6 ++++ .../esp32s2_franzininho.yaml | 1 + .../ttgo_lora32/ttgo_lora32-pinctrl.dtsi | 32 +++++++++++++++++++ .../ttgo_lora32/ttgo_lora32_esp32_procpu.dts | 12 +++++++ .../ttgo_lora32/ttgo_lora32_esp32_procpu.yaml | 1 + boards/lilygo/ttgo_t7v1_5/doc/index.rst | 2 ++ .../ttgo_t7v1_5/ttgo_t7v1_5-pinctrl.dtsi | 32 +++++++++++++++++++ .../ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.dts | 12 +++++++ .../ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml | 1 + boards/olimex/olimex_esp32_evb/doc/index.rst | 2 ++ .../olimex_esp32_evb-pinctrl.dtsi | 32 +++++++++++++++++++ .../olimex_esp32_evb_procpu.dts | 12 +++++++ .../olimex_esp32_evb_procpu.yaml | 1 + boards/vcc-gnd/yd_esp32/doc/index.rst | 2 ++ boards/vcc-gnd/yd_esp32/yd_esp32-pinctrl.dtsi | 32 +++++++++++++++++++ boards/vcc-gnd/yd_esp32/yd_esp32_procpu.dts | 12 +++++++ boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml | 1 + .../esp32s2_lolin_mini-pinctrl.dtsi | 16 ++++++++++ .../esp32s2_lolin_mini/esp32s2_lolin_mini.dts | 6 ++++ .../esp32s2_lolin_mini.yaml | 1 + 40 files changed, 421 insertions(+) diff --git a/boards/espressif/esp32_devkitc_wroom/doc/index.rst b/boards/espressif/esp32_devkitc_wroom/doc/index.rst index 228660a603aa..bbbfa5316061 100644 --- a/boards/espressif/esp32_devkitc_wroom/doc/index.rst +++ b/boards/espressif/esp32_devkitc_wroom/doc/index.rst @@ -77,6 +77,8 @@ Current Zephyr's ESP32-DevKitC-WROOM board supports the following features: +------------+------------+-------------------------------------+ | PCNT | on-chip | qdec | +------------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++------------+------------+-------------------------------------+ | SPI DMA | on-chip | spi | +------------+------------+-------------------------------------+ | TWAI | on-chip | can | diff --git a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom-pinctrl.dtsi b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom-pinctrl.dtsi index b1f03780559b..1cdb5cc5d90e 100644 --- a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom-pinctrl.dtsi +++ b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom-pinctrl.dtsi @@ -74,5 +74,37 @@ output-high; }; }; + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.dts b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.dts index 783a8f2a7f7b..6a568b008d3c 100644 --- a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.dts +++ b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.dts @@ -89,6 +89,18 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi2 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.yaml b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.yaml index 7bc3c8feb55f..c3e9af32006f 100644 --- a/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.yaml +++ b/boards/espressif/esp32_devkitc_wroom/esp32_devkitc_wroom_procpu.yaml @@ -9,6 +9,7 @@ supported: - dac - gpio - i2c + - i2s - watchdog - uart - nvs diff --git a/boards/espressif/esp32_devkitc_wrover/doc/index.rst b/boards/espressif/esp32_devkitc_wrover/doc/index.rst index cf1fb64f32f2..f89f365d9245 100644 --- a/boards/espressif/esp32_devkitc_wrover/doc/index.rst +++ b/boards/espressif/esp32_devkitc_wrover/doc/index.rst @@ -77,6 +77,8 @@ Current Zephyr's ESP32-DevKitC-WROVER board supports the following features: +------------+------------+-------------------------------------+ | PCNT | on-chip | qdec | +------------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++------------+------------+-------------------------------------+ | SPI DMA | on-chip | spi | +------------+------------+-------------------------------------+ | TWAI | on-chip | can | diff --git a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover-pinctrl.dtsi b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover-pinctrl.dtsi index f4f51cce98ae..810dfc1de06b 100644 --- a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover-pinctrl.dtsi +++ b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover-pinctrl.dtsi @@ -74,4 +74,36 @@ output-high; }; }; + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.dts b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.dts index 33f0f3f134b3..99e9df8c6195 100644 --- a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.dts +++ b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.dts @@ -89,6 +89,18 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi2 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.yaml b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.yaml index 62e40f71e937..32de7a52bd3c 100644 --- a/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.yaml +++ b/boards/espressif/esp32_devkitc_wrover/esp32_devkitc_wrover_procpu.yaml @@ -9,6 +9,7 @@ supported: - dac - gpio - i2c + - i2s - watchdog - uart - nvs diff --git a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit-pinctrl.dtsi b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit-pinctrl.dtsi index 3e30654db8b8..c5bf9c6dedeb 100644 --- a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit-pinctrl.dtsi +++ b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit-pinctrl.dtsi @@ -40,4 +40,36 @@ }; }; + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + }; diff --git a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.dts b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.dts index 91446897fc49..27dac29b20ff 100644 --- a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.dts +++ b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.dts @@ -43,6 +43,18 @@ status = "okay"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi2 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.yaml b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.yaml index fb3c3cdd704a..f6fd5a5f410c 100644 --- a/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.yaml +++ b/boards/espressif/esp32_ethernet_kit/esp32_ethernet_kit_procpu.yaml @@ -10,4 +10,5 @@ supported: - uart - nvs - pwm + - i2s vendor: espressif diff --git a/boards/espressif/esp32s2_devkitc/doc/index.rst b/boards/espressif/esp32s2_devkitc/doc/index.rst index e5cb0ff6191d..9ad9f93de3e8 100644 --- a/boards/espressif/esp32s2_devkitc/doc/index.rst +++ b/boards/espressif/esp32s2_devkitc/doc/index.rst @@ -66,6 +66,8 @@ Current Zephyr's ESP32-S2-devkitc board supports the following features: +------------+------------+-------------------------------------+ | PCNT | on-chip | qdec | +------------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++------------+------------+-------------------------------------+ | SPI DMA | on-chip | spi | +------------+------------+-------------------------------------+ | ADC | on-chip | adc | diff --git a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc-pinctrl.dtsi b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc-pinctrl.dtsi index 756aaf9b5b72..a0e81125b99a 100644 --- a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc-pinctrl.dtsi +++ b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc-pinctrl.dtsi @@ -65,4 +65,20 @@ }; }; + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + }; diff --git a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.dts b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.dts index 9038cea4a1ec..12f728bebbe0 100644 --- a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.dts +++ b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.dts @@ -96,6 +96,12 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &trng0 { status = "okay"; }; diff --git a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml index 44a6f971e3b7..5b9834ade937 100644 --- a/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml +++ b/boards/espressif/esp32s2_devkitc/esp32s2_devkitc.yaml @@ -9,6 +9,7 @@ supported: - dac - gpio - i2c + - i2s - watchdog - uart - nvs diff --git a/boards/espressif/esp32s2_saola/doc/index.rst b/boards/espressif/esp32s2_saola/doc/index.rst index a2ad776acfed..8384fb95ce45 100644 --- a/boards/espressif/esp32s2_saola/doc/index.rst +++ b/boards/espressif/esp32s2_saola/doc/index.rst @@ -66,6 +66,8 @@ Current Zephyr's ESP32-S2-Saola board supports the following features: +------------+------------+-------------------------------------+ | PCNT | on-chip | qdec | +------------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++------------+------------+-------------------------------------+ | SPI DMA | on-chip | spi | +------------+------------+-------------------------------------+ | ADC | on-chip | adc | diff --git a/boards/espressif/esp32s2_saola/esp32s2_saola-pinctrl.dtsi b/boards/espressif/esp32s2_saola/esp32s2_saola-pinctrl.dtsi index 7ab4fc671194..2ed38810be5a 100644 --- a/boards/espressif/esp32s2_saola/esp32s2_saola-pinctrl.dtsi +++ b/boards/espressif/esp32s2_saola/esp32s2_saola-pinctrl.dtsi @@ -65,4 +65,20 @@ }; }; + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + }; diff --git a/boards/espressif/esp32s2_saola/esp32s2_saola.dts b/boards/espressif/esp32s2_saola/esp32s2_saola.dts index c97108951ab4..d137853a9355 100644 --- a/boards/espressif/esp32s2_saola/esp32s2_saola.dts +++ b/boards/espressif/esp32s2_saola/esp32s2_saola.dts @@ -96,6 +96,12 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &trng0 { status = "okay"; }; diff --git a/boards/espressif/esp32s2_saola/esp32s2_saola.yaml b/boards/espressif/esp32s2_saola/esp32s2_saola.yaml index bebe2a293a8a..40a07474e954 100644 --- a/boards/espressif/esp32s2_saola/esp32s2_saola.yaml +++ b/boards/espressif/esp32s2_saola/esp32s2_saola.yaml @@ -9,6 +9,7 @@ supported: - dac - gpio - i2c + - i2s - watchdog - uart - nvs diff --git a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho-pinctrl.dtsi b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho-pinctrl.dtsi index 6e935a41268c..863a2fb3a548 100644 --- a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho-pinctrl.dtsi +++ b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho-pinctrl.dtsi @@ -65,4 +65,20 @@ }; }; + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + }; diff --git a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.dts b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.dts index beee6810d62b..b8f4d82e3ccc 100644 --- a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.dts +++ b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.dts @@ -88,6 +88,12 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &trng0 { status = "okay"; }; diff --git a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.yaml b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.yaml index da3da1bdc3ac..401d7cc41f73 100644 --- a/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.yaml +++ b/boards/franzininho/esp32s2_franzininho/esp32s2_franzininho.yaml @@ -7,6 +7,7 @@ toolchain: supported: - gpio - i2c + - i2s - watchdog - uart - pinmux diff --git a/boards/lilygo/ttgo_lora32/ttgo_lora32-pinctrl.dtsi b/boards/lilygo/ttgo_lora32/ttgo_lora32-pinctrl.dtsi index b8140e4451a6..062ee445616a 100644 --- a/boards/lilygo/ttgo_lora32/ttgo_lora32-pinctrl.dtsi +++ b/boards/lilygo/ttgo_lora32/ttgo_lora32-pinctrl.dtsi @@ -47,6 +47,38 @@ pinmux = ; bias-pull-up; output-high; + + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; }; + }; }; }; }; diff --git a/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.dts b/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.dts index 6ae0dbeb0152..3a5238fae23a 100644 --- a/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.dts +++ b/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.dts @@ -81,6 +81,18 @@ }; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi3 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.yaml b/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.yaml index e59818cc3dcb..a4c35d99c94a 100644 --- a/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.yaml +++ b/boards/lilygo/ttgo_lora32/ttgo_lora32_esp32_procpu.yaml @@ -7,6 +7,7 @@ toolchain: supported: - gpio - i2c + - i2s - spi - watchdog - uart diff --git a/boards/lilygo/ttgo_t7v1_5/doc/index.rst b/boards/lilygo/ttgo_t7v1_5/doc/index.rst index 13f5107cd80e..e73261108a6f 100644 --- a/boards/lilygo/ttgo_t7v1_5/doc/index.rst +++ b/boards/lilygo/ttgo_t7v1_5/doc/index.rst @@ -35,6 +35,8 @@ The ``ttgo_t7v1_5/esp32/procpu`` board target supports the following hardware fe +-----------+------------+------------------+ | I2C | on-chip | i2c_esp32 | +-----------+------------+------------------+ +| I2S | on-chip | i2s_esp32 | ++---------- +------------+------------------+ | SPI | on-chip | spi_esp32_spim | +-----------+------------+------------------+ | LoRa | SX1276 | lora_sx127x | diff --git a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5-pinctrl.dtsi b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5-pinctrl.dtsi index 13daa9b7ce91..457624f049cd 100644 --- a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5-pinctrl.dtsi +++ b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5-pinctrl.dtsi @@ -41,4 +41,36 @@ output-high; }; }; + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.dts b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.dts index 4fab0e2ae721..b8f2ed00d737 100644 --- a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.dts +++ b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.dts @@ -64,6 +64,18 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi3 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml index 45d64a292507..16ff7eff5621 100644 --- a/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml +++ b/boards/lilygo/ttgo_t7v1_5/ttgo_t7v1_5_esp32_procpu.yaml @@ -7,6 +7,7 @@ toolchain: supported: - gpio - i2c + - i2s - spi - watchdog - uart diff --git a/boards/olimex/olimex_esp32_evb/doc/index.rst b/boards/olimex/olimex_esp32_evb/doc/index.rst index 880e3933ab97..2cf80ef11be6 100644 --- a/boards/olimex/olimex_esp32_evb/doc/index.rst +++ b/boards/olimex/olimex_esp32_evb/doc/index.rst @@ -59,6 +59,8 @@ features: +-----------+------------+-------------------------------------+ | IO_MUX | on-chip | pinctrl | +-----------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++-----------+------------+-------------------------------------+ | SPI | on-chip | spi | +-----------+------------+-------------------------------------+ | TIMG | on-chip | counter | diff --git a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb-pinctrl.dtsi b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb-pinctrl.dtsi index ef4238b3c9aa..80e53ce61f70 100644 --- a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb-pinctrl.dtsi +++ b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb-pinctrl.dtsi @@ -35,6 +35,38 @@ }; }; + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + spim2_default: spim2_default { group1 { pinmux = , diff --git a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.dts b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.dts index c39916c6de62..57bf36edb7c4 100644 --- a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.dts +++ b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.dts @@ -82,6 +82,18 @@ uext_spi: &spi2 {}; pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi2 { status = "okay"; pinctrl-0 = <&spim2_default>; diff --git a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.yaml b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.yaml index 3084a2cf60c0..462279dff5b0 100644 --- a/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.yaml +++ b/boards/olimex/olimex_esp32_evb/olimex_esp32_evb_procpu.yaml @@ -10,6 +10,7 @@ supported: - gpio - hwinfo - i2c + - i2s - spi - uart - watchdog diff --git a/boards/vcc-gnd/yd_esp32/doc/index.rst b/boards/vcc-gnd/yd_esp32/doc/index.rst index 425c11c69f0c..e356c2939e9f 100644 --- a/boards/vcc-gnd/yd_esp32/doc/index.rst +++ b/boards/vcc-gnd/yd_esp32/doc/index.rst @@ -77,6 +77,8 @@ Current Zephyr's YD-ESP32 board supports the following features: +------------+------------+-------------------------------------+ | PCNT | on-chip | qdec | +------------+------------+-------------------------------------+ +| I2S | on-chip | i2s | ++------------+------------+-------------------------------------+ | SPI DMA | on-chip | spi | +------------+------------+-------------------------------------+ | TWAI | on-chip | can | diff --git a/boards/vcc-gnd/yd_esp32/yd_esp32-pinctrl.dtsi b/boards/vcc-gnd/yd_esp32/yd_esp32-pinctrl.dtsi index f4f51cce98ae..810dfc1de06b 100644 --- a/boards/vcc-gnd/yd_esp32/yd_esp32-pinctrl.dtsi +++ b/boards/vcc-gnd/yd_esp32/yd_esp32-pinctrl.dtsi @@ -74,4 +74,36 @@ output-high; }; }; + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2s1_default: i2s1_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.dts b/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.dts index 119e18f222ff..e3bf7ba0ac20 100644 --- a/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.dts +++ b/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.dts @@ -85,6 +85,18 @@ pinctrl-names = "default"; }; +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&i2s1 { + pinctrl-0 = <&i2s1_default>; + pinctrl-names = "default"; + status = "disabled"; +}; + &spi2 { #address-cells = <1>; #size-cells = <0>; diff --git a/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml b/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml index 99ac53907688..b9f2549ab760 100644 --- a/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml +++ b/boards/vcc-gnd/yd_esp32/yd_esp32_procpu.yaml @@ -9,6 +9,7 @@ supported: - dac - gpio - i2c + - i2s - watchdog - uart - nvs diff --git a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini-pinctrl.dtsi b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini-pinctrl.dtsi index c6dbf79e6767..2633ee59ce7b 100644 --- a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini-pinctrl.dtsi +++ b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini-pinctrl.dtsi @@ -20,4 +20,20 @@ bias-pull-up; }; }; + + i2s0_default: i2s0_default { + group1 { + pinmux = , + , + , + , + , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.dts b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.dts index 66761886e55d..4d3391163ff6 100644 --- a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.dts +++ b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.dts @@ -89,3 +89,9 @@ &wdt0 { status = "okay"; }; + +&i2s0 { + pinctrl-0 = <&i2s0_default>; + pinctrl-names = "default"; + status = "disabled"; +} diff --git a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.yaml b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.yaml index fcc4d03a44f9..94acc1fae2e6 100644 --- a/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.yaml +++ b/boards/wemos/esp32s2_lolin_mini/esp32s2_lolin_mini.yaml @@ -8,6 +8,7 @@ supported: - gpio - watchdog - uart + - i2s testing: ignore_tags: - bluetooth