micropython/ports/mimxrt/boards
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
..
MIMXRT1010_EVK mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
MIMXRT1015_EVK
MIMXRT1020_EVK mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
MIMXRT1050_EVK mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
MIMXRT1060_EVK mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
MIMXRT1064_EVK mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
OLIMEX_RT1010 mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
SEEED_ARCH_MIX mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
TEENSY40 mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
TEENSY41 mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
MIMXRT1011.ld
MIMXRT1011_af.csv
MIMXRT1015.ld
MIMXRT1015_af.csv
MIMXRT1021.ld
MIMXRT1021_af.csv
MIMXRT1052.ld
MIMXRT1052_af.csv
MIMXRT1062.ld
MIMXRT1062_af.csv
MIMXRT1064.ld
MIMXRT1064_af.csv
common.ld
deploy_mimxrt.md
deploy_teensy.md
make-flexram-config.py
make-pins.py
manifest.py mimxrt/boards: Support using an optional board-specific manifest.py. 2022-03-08 23:10:41 +11:00
mimxrt_prefix.c