micropython/ports/mimxrt/boards/MIMXRT1010_EVK
MikeTeachman 1f6cb8f047 mixmrt/machine_i2s: Add I2S protocol support.
This commit adds support for machine.I2S on the mimxrt port.  The I2S API
is consistent with the existing stm32, esp32, and rp2 implementations.

I2S features:
- controller transmit and controller receive
- 16-bit and 32-bit sample sizes
- mono and stereo formats
- sampling frequencies from 8kHz to 48kHz
- 3 modes of operation:
  - blocking
  - non-blocking with callback
  - uasyncio
- configurable internal buffer
- optional MCK

Tested with the following development boards:
- MIMXRT1010_EVK, MIMXRT1015_EVK, MIMXRT1020_EVK, MIMXRT1050_EVK
- Teensy 4.0, Teensy 4.1
- Olimex RT1010
- Seeed ARCH MIX

Tested with the following I2S hardware peripherals:
- UDA1334
- GY-SPH0645LM4H
- WM8960 codec on board the MIMXRT boards and separate breakout board
- INMP441
- PCM5102
- SGTL5000 on the Teensy audio shield

Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
2022-03-30 14:12:40 +11:00
..
board.json mimxrt/boards: Update the board.json files and add deploy_xx.md files. 2021-11-16 23:17:42 +11:00
clock_config.h mimxrt: Rework flash configuration. 2021-09-14 13:52:52 +02:00
mpconfigboard.h mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
mpconfigboard.mk mimxrt/sdram: Add SDRAM support. 2021-10-22 08:23:24 +02:00
pins.csv mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00