1f6cb8f047
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>
623 B
623 B
1 | D0 | GPIO_09 |
---|---|---|
2 | D1 | GPIO_10 |
3 | D2 | GPIO_AD_05 |
4 | D3 | GPIO_AD_06 |
5 | D4 | GPIO_08 |
6 | D5 | GPIO_01 |
7 | D6 | GPIO_AD_01 |
8 | D7 | GPIO_AD_02 |
9 | D8 | GPIO_SD_02 |
10 | D9 | GPIO_03 |
11 | D10 | GPIO_AD_05 |
12 | D11 | GPIO_AD_04 |
13 | D12 | GPIO_AD_03 |
14 | D13 | GPIO_AD_06 |
15 | D14 | GPIO_01 |
16 | D15 | GPIO_02 |
17 | CUR_A | GPIO_AD_01 |
18 | CUR_B | GPIO_AD_02 |
19 | CUR_C | GPIO_AD_07 |
20 | VOLT_DCB | GPIO_AD_09 |
21 | CUR_DCB | GPIO_AD_10 |
22 | A0 | GPIO_AD_07 |
23 | A1 | GPIO_AD_09 |
24 | A2 | GPIO_AD_10 |
25 | A3 | GPIO_AD_14 |
26 | A4 | GPIO_AD_01 |
27 | A5 | GPIO_AD_02 |
28 | PWM_AT | GPIO_02 |
29 | PWM_AB | GPIO_01 |
30 | PWM_BT | GPIO_04 |
31 | PWM_BB | GPIO_03 |
32 | PWM_CT | GPIO_06 |
33 | PWM_CB | GPIO_05 |
34 | ENC_A | GPIO_AD_05 |
35 | ENC_B | GPIO_AD_06 |
36 | LED_GREEN | GPIO_11 |
37 | MCK | GPIO_08 |
38 | SCK_RX | GPIO_01 |
39 | WS_RX | GPIO_02 |
40 | SD_RX | GPIO_03 |
41 | SCK_TX | GPIO_06 |
42 | WS_TX | GPIO_07 |
43 | SD_TX | GPIO_04 |