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>
685 B
685 B
| 1 | D0 | GPIO_AD_B1_07 |
|---|---|---|
| 2 | D1 | GPIO_AD_B1_06 |
| 3 | D2 | GPIO_AD_B0_11 |
| 4 | D3 | GPIO_AD_B1_08 |
| 5 | D4 | GPIO_AD_B0_09 |
| 6 | D5 | GPIO_AD_B0_10 |
| 7 | D6 | GPIO_AD_B1_02 |
| 8 | D7 | GPIO_AD_B1_03 |
| 9 | D8 | GPIO_AD_B0_03 |
| 10 | D9 | GPIO_AD_B0_02 |
| 11 | D10 | GPIO_SD_B0_01 |
| 12 | D11 | GPIO_SD_B0_02 |
| 13 | D12 | GPIO_SD_B0_03 |
| 14 | D13 | GPIO_SD_B0_00 |
| 15 | D14 | GPIO_AD_B0_01 |
| 16 | D15 | GPIO_AD_B0_00 |
| 17 | A0 | GPIO_AD_B1_10 |
| 18 | A1 | GPIO_AD_B1_11 |
| 19 | A2 | GPIO_AD_B1_04 |
| 20 | A3 | GPIO_AD_B1_05 |
| 21 | A4 | GPIO_AD_B1_01 |
| 22 | A5 | GPIO_AD_B1_00 |
| 23 | RX | GPIO_AD_B1_07 |
| 24 | TX | GPIO_AD_B1_06 |
| 25 | SCL | GPIO_AD_B1_00 |
| 26 | SDA | GPIO_AD_B1_01 |
| 27 | SCK | GPIO_SD_B0_00 |
| 28 | SDI | GPIO_SD_B0_03 |
| 29 | SDO | GPIO_SD_B0_02 |
| 30 | CS | GPIO_SD_B0_01 |
| 31 | LED_GREEN | GPIO_AD_B0_09 |
| 32 | MCK | GPIO_AD_B1_09 |
| 33 | SCK_RX | GPIO_AD_B1_11 |
| 34 | WS_RX | GPIO_AD_B1_10 |
| 35 | SD_RX | GPIO_AD_B1_12 |
| 36 | SCK_TX | GPIO_AD_B1_14 |
| 37 | WS_TX | GPIO_AD_B1_15 |
| 38 | SD_TX | GPIO_AD_B1_13 |