9#include <zephyr/device.h>
10#include <zephyr/drivers/i2s.h>
11#include <zephyr/kernel.h>
17#if defined(CONFIG_SOC_ESP32)
18#include <zephyr/drivers/gpio.h>
19#define I2S0O_CLK_OUT_IDX 80
21void esp_rom_gpio_connect_out_signal(uint32_t gpio_num, uint32_t signal_idx,
22 bool out_inv,
bool oen_inv);
26#define IS_I2S_IMPLEMENTED
83 LOGE(
"Invalid Zephyr I2S slab size");
89 LOGE(
"Could not resize Zephyr I2S slabs");
94 LOGE(
"Failed to initialize Zephyr I2S slabs");
102 LOGE(
"No Zephyr I2S device found");
109 LOGE(
"i2s_configure failed for TX");
117 LOGE(
"i2s_configure failed for RX");
166 return (result == 0) ? size_bytes : 0;
173 size_t result_size = size_bytes;
175 return (result == 0) ? result_size : 0;
197#if defined(CONFIG_SOC_ESP32)
240 if (result == 0)
return true;
241 if (result != -
ENOSYS)
return false;
253 LOGI(
"Using provided I2S device");
255 LOGI(
"Using i2s device %s",
260 LOGE(
"I2S device is not set in configuration");
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGE(...)
Definition AudioLoggerIDF.h:30
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:26
@ RXTX_MODE
Definition AudioTypes.h:26
@ TX_MODE
Definition AudioTypes.h:26
@ RX_MODE
Definition AudioTypes.h:26