I2S driver implementation (#480)

* **New Features**
  * ESP32 I2S controller support: runtime-configurable digital audio I/O with read/write/set/get operations and multiple formats.

* **Board Support**
  * LilyGO T-Deck device tree entry added to enable I2S peripheral pin configuration.

* **Documentation**
  * New/updated bindings and descriptors for I2S, I2C, GPIO, and root nodes.

* **Other**
  * Added GPIO "no pin" sentinel and exposed I2S controller API symbols.
This commit is contained in:
Ken Van Hoeylandt
2026-02-04 23:40:16 +01:00
committed by GitHub
parent 9a672a30ff
commit a1c835e073
18 changed files with 526 additions and 5 deletions
+11
View File
@@ -3,6 +3,7 @@
#include <tactility/bindings/root.h>
#include <tactility/bindings/esp32_gpio.h>
#include <tactility/bindings/esp32_i2c.h>
#include <tactility/bindings/esp32_i2s.h>
/ {
compatible = "root";
@@ -13,6 +14,16 @@
gpio-count = <49>;
};
i2s0 {
compatible = "espressif,esp32-i2s";
port = <I2S_NUM_0>;
pin-bclk = <7>;
pin-ws = <5>;
pin-data-out = <6>;
pin-data-in = <GPIO_PIN_NONE>;
pin-mclk = <GPIO_PIN_NONE>;
};
i2c_internal {
compatible = "espressif,esp32-i2c";
port = <I2C_NUM_0>;