I was sort of curious what pins are actually exported and used on some of the the Sparkfun carrier boards, example the Machine Learning board with camera. So added some columns to one of
my pages:
Code:
Pin MM Pin Machine Learning Machine 2nd use Name GPIO Serial I2C SPI PWM CAN Audio XBAR FlexIO Analog SD/CSI/LCD
USB D+ 3 USB_D+
28 4 3.3V_EN EMC_32 3.18 Serial7(7) RX PWM3_B1
USB D- 5 USB_D-
27/A13 8 AD_B1_15 1.31 SPI1(3) SCK 1:TX_SYNC 3:15 A2:4
4 10 D0 HEADER_CS EMC_06 4.6 PWM2_A0 2:TX_BCLK IO-08 1:6
18/A4 12 I2C_SDA AD_B1_01 1.17 Serial3(2) RTS Wire(1) SDA QT3_1 3:1 A1:6, A2:6
19/A5 14 I2C_SCL AD_B1_00 1.16 Serial3(2) CTS Wire(1) SCL QT3_0 3:0 A1:5, A2:5
29 16 CAMERA_INT EMC_31 4.31 Serial7(7) TX SPI2(1) CS1 PWM3_A1
0 17 TX1 AD_B0_03 1.3 Serial1(6) RX SPI1(3) CS0 PWM1_X1 2_RX IO-17
5 18 D1 CAMERA_TRIG EMC_08 4.8 PWM2_A1 2:RX_DATA IO-17 1:8
1 19 RX1 AD_B0_02 1.2 Serial1(6) TX SPI1(3) MISO PWM1_X0 2_TX IO-16
16/A2 20 AD_B1_07 1.23 Serial4(3) RX Wire1(3) SCL SPDIF_EXTCLK 3:7 A1:12, A2:12 USDHC2_DATA3
17/A3 22 AD_B1_06 1.22 Serial4(3) TX Wire1(3) SDA SPDIF_LOCK 3:6 A1:11, A2:11 USDHC2_DATA2
3 32 PWM0 EMC_05 4.5 PWM4_B2 2:TX_SYNC IO-07 1:5
14/A0 34 A0 AD_B1_02 1.18 Serial3(2) TX QT3_2 SPDIF_OUT 3:2 A1:7, A2:7
HUSB D+ 35
HUSB D- 37
15/A1 38 A1 AD_B1_03 1.19 Serial3(2) RX QT3_3 SPDIF_IN 3:3 A1:8, A2:8
40 40 CAMERA_D0 B0_04 2:04 Wire?(2) SCL QT2_1 2:4 LCD_DATA0
30 41 EMC_37 3.23 GPT1_3 3_RX 3:MCLK IO-23
41 42 CAMERA_D1 B0_05 2:05 Wire?(2) SDA QT2_2 2:5 LCD_DATA1
31 43 EMC_36 3.22 GPT1_2 3_TX 3:TX_DATA IO-22
42 44 CAMERA_D2 B0_06 2:06 QT3_0 2:6 LCD_DATA2
43 46 CAMERA_D3 B0_07 2:07 QT3_1 2:7 LCD_DATA3
2 47 PWM1 CAM_VDD EMC_04 4.4 PWM4_A2 2:TX_DATA IO-06 1:4
44 48 CAMERA_D4 B0_08 2:08 QT3_2 2:8 LCD_DATA4
22/A8 49 BATT_VIN3 AD_B1_08 1.24 PWM4_A0 1_TX 3:8 A1:13, A2:13 USDHC2_CMD
21/A7 50 I2S_SCK PDM_CLK AD_B1_11 1.27 Serial5(8) RX 1:RX_BCLK 3:11 A1:0, A2:0
25/A11 51 AD_B0_13 1.13 Serial6(1) RX Wire2(4) SDA PWM1_X3 GPT1_CLK A1:2
20/A6 52 I2S_WS PDM_DAT AD_B1_10 1.26 Serial5(8) TX 1:RX_SYNC 3:10 A1:15, A2:15
24/A10 53 AD_B0_12 1.12 Serial6(1) TX Wire2(4) SCL PWM1_X2 A1:1
8 54 I2S_SD CAMERA_PCLK B1_00 2.16 Serial2(4) TX PWM1_A3 1:RX_DATA IO-14 2:16, 3:16
10 55 SPI_CS B0_00 2.0 SPI(4) CS0 QT1_0 MQS_RIGHT 2:0 LCD_CLK
7 56 CAMERA_MCLK B1_01 2.17 Serial2(4) RX PWM1_B3 1:TX_DATA IO-15 2:17, 3:17
13 57 SPI_SCK B0_03 2.3 SPI(4) SCK QT2_0 1_RX 2:3 LCD_VSYNC
23/A9 58 AD_B1_09 1.25 PWM4_A1 1_RX 1:MCLK 3:9 A1:14, A2:14 USDHC2_CLK
11 59 SPI_SCOPI B0_02 2.2 SPI(4) MOSI QT1_2 1_TX 2:2 LCD_HSYNC
36 60 SD_B0_01 3.13 Wire1(3) SDA SPI2(1) CS0 PWM1_B0 IO-05 CLK
12 61 SPI_CIPO B0_01 2.1 SPI(4) MISO QT1_1 MQS_LEFT 2:1 LCD_ENABLE
37 62 SD_B0_00 3.12 Wire1(3) SCL SPI2(1) SCK PWM1_A0 IO-04 CMD
33 63 CAMERA_VSYNC EMC_07 4.7 PWM2_B0 2:MCLK IO-09 1:7
35 64 SD_B0_02 3.14 Serial5(8) CTS SPI2(1) MOSI PWM1_A1 IO-06 DATA0
32 65 CAMERA_HSYNC B0_12 2.12 1:TX1_RX3 IO-10 2:12 LCD_DATA8
34 66 SD_B0_03 3.15 Serial5(8) RTS SPI2(1) MISO PWM1_B1 IO-07 DATA1
26/A12 67 AD_B1_14 1.30 SPI1(3) MOSI 1:TX_BCLK 3:14 A2:3
38 68 SD_B0_05 3.17 Serial5(8) RX FLEXSPI B_DQS PWM1_B2 IO-09 DATA3
9 69 CAMERA_D7 B0_11 2.11 PWM2_B2,QT4_2 1:TX2_RX2 2:11 LCD_DATA7
39 70 SD_B0_04 3.16 Serial5(8) TX FLEXSPI B_SSO_B PWM1_A2 IO-08 DATA2
6 71 CAMERA_D6 B0_10 2.10 PWM2_A2, QT4_1 1:TX3_RX1 2:10 LCD_DATA6
45 73 CAMERA_D5 B0_09 2:09 QT4_0 2:9 LCD_DATA5
Was curious about which pins hooked up to camera. From previous times looking at it I knew that unlike the T4.1 which has enough of the CSI pins exposed
this module does not. However wondered about how we were playing with it with DMA on a GPIO port with the OV7670 code and wondered how close the setup
might be to redo to work with their camera on their pins:
So looking at the 8 data pins we see:
CAMERA_D0 through CAMERA_D7 is GPIO port 2 pins 4, 5, 6, 7, 8, 11, 10, 9 - So all in port but not in consecutive order so would need to adjust.
CAMERA_MCLK is on Teensy pin 7 which is PWM so probably can use that timer to run it.
CAMERA_PCLK is on teensy pin 8 which is an XBar pin which is good if like OV7670 we can use it to drive the DMA operation.
CAMERA_HSYNC is also on GPIO port 2 pin 12, so we can look at it from DMA read buffer.
CAMERA_VSYNC is on different port (4 pin 7) not sure if it helped to have it on same one or not...
But it does looks like there is enough there to play with.
Again would have been great if it was actually setup to use CSI pins, but then probably run into other issue like what
other Teensy functionality are on those pins and should those pins be in other logical places on the MM pins...