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>
1.5 KiB
Executable File
1.5 KiB
Executable File
1 | D0 | GPIO_AD_B0_03 |
---|---|---|
2 | D1 | GPIO_AD_B0_02 |
3 | D2 | GPIO_EMC_04 |
4 | D3 | GPIO_EMC_05 |
5 | D4 | GPIO_EMC_06 |
6 | D5 | GPIO_EMC_08 |
7 | D6 | GPIO_B0_10 |
8 | D7 | GPIO_B1_01 |
9 | D8 | GPIO_B1_00 |
10 | D9 | GPIO_B0_11 |
11 | D10 | GPIO_B0_00 |
12 | D11 | GPIO_B0_02 |
13 | D12 | GPIO_B0_01 |
14 | D13 | GPIO_B0_03 |
15 | D14 | GPIO_AD_B1_02 |
16 | D15 | GPIO_AD_B1_03 |
17 | D16 | GPIO_AD_B1_07 |
18 | D17 | GPIO_AD_B1_06 |
19 | D18 | GPIO_AD_B1_01 |
20 | D19 | GPIO_AD_B1_00 |
21 | D20 | GPIO_AD_B1_10 |
22 | D21 | GPIO_AD_B1_11 |
23 | D22 | GPIO_AD_B1_08 |
24 | D23 | GPIO_AD_B1_09 |
25 | D24 | GPIO_AD_B0_12 |
26 | D25 | GPIO_AD_B0_13 |
27 | D26 | GPIO_AD_B1_14 |
28 | D27 | GPIO_AD_B1_15 |
29 | D28 | GPIO_EMC_32 |
30 | D29 | GPIO_EMC_31 |
31 | D30 | GPIO_EMC_37 |
32 | D31 | GPIO_EMC_36 |
33 | D32 | GPIO_B0_12 |
34 | D33 | GPIO_EMC_07 |
35 | D34 | GPIO_B1_13 |
36 | D35 | GPIO_B1_12 |
37 | D36 | GPIO_B1_02 |
38 | D37 | GPIO_B1_03 |
39 | D38 | GPIO_AD_B1_12 |
40 | D39 | GPIO_AD_B1_13 |
41 | D40 | GPIO_AD_B1_04 |
42 | D41 | GPIO_AD_B1_05 |
43 | D42 | GPIO_SD_B0_03 |
44 | D43 | GPIO_SD_B0_02 |
45 | D44 | GPIO_SD_B0_01 |
46 | D45 | GPIO_SD_B0_00 |
47 | D46 | GPIO_SD_B0_05 |
48 | D47 | GPIO_SD_B0_04 |
49 | D48 | GPIO_EMC_24 |
50 | D49 | GPIO_EMC_27 |
51 | D50 | GPIO_EMC_28 |
52 | D51 | GPIO_EMC_22 |
53 | D52 | GPIO_EMC_26 |
54 | D53 | GPIO_EMC_25 |
55 | D54 | GPIO_EMC_29 |
56 | DAT1 | GPIO_SD_B0_03 |
57 | DAT0 | GPIO_SD_B0_02 |
58 | CLK | GPIO_SD_B0_01 |
59 | CMD | GPIO_SD_B0_00 |
60 | DAT3 | GPIO_SD_B0_05 |
61 | DAT2 | GPIO_SD_B0_04 |
62 | PSRAM_CS | GPIO_EMC_24 |
63 | QSPI_IO1 | GPIO_EMC_27 |
64 | QSPI_IO2 | GPIO_EMC_28 |
65 | FLASH_CS | GPIO_EMC_22 |
66 | QSPI_IO0 | GPIO_EMC_26 |
67 | QSPI_CLK | GPIO_EMC_25 |
68 | QSPI_IO3 | GPIO_EMC_29 |
69 | A0 | GPIO_AD_B1_02 |
70 | A1 | GPIO_AD_B1_03 |
71 | A2 | GPIO_AD_B1_07 |
72 | A3 | GPIO_AD_B1_06 |
73 | A4 | GPIO_AD_B1_01 |
74 | A5 | GPIO_AD_B1_00 |
75 | A6 | GPIO_AD_B1_10 |
76 | A7 | GPIO_AD_B1_11 |
77 | A8 | GPIO_AD_B1_08 |
78 | A9 | GPIO_AD_B1_09 |
79 | A10 | GPIO_AD_B0_12 |
80 | A11 | GPIO_AD_B0_13 |
81 | A12 | GPIO_AD_B1_14 |
82 | A13 | GPIO_AD_B1_15 |
83 | LED | GPIO_B0_03 |
84 | MCK | GPIO_AD_B1_09 |
85 | SCK_RX | GPIO_AD_B1_11 |
86 | WS_RX | GPIO_AD_B1_10 |
87 | SD_RX | GPIO_B1_00 |
88 | SCK_TX | GPIO_EMC_06 |
89 | WS_TX | GPIO_EMC_05 |
90 | SD_TX | GPIO_EMC_04 |