December 15, 2014

Commonly replaced peripherals

In our “What’s a board?” post, we described various ways that a board could be customized, and in the follow up “ i.MX6 Device Tree customization“, we showed how we created variants of our boards that re-purpose the parallel LCD pins. We also suggested the use of three common connectors when looking for additional I/O in a custom application.

This post contains the details of the functions available on those three most commonly replaced peripherals (parallel LCD, parallel camera, and Android buttons), and details the functions available on each.

If you’re designing a SOM carrier, or looking to enhance one of our standard boards, we strongly suggest that you look here first to see if these pins will provide what you need. Doing so will simplify your software development and may allow you to test the functionality before spinning a full custom board or SOM carrier.

Android button connector

Pin Pad / signal Volts Default ALT0 ALT1 ALT2 ALT3 ALT4 ALT5 ALT6
1 ON_OFF N.O. switch                
2 KEY_VOL_UP 3.3V GP7:13 ESAI_TX1 ENET_RX_CLK SD3_VSELECT SDMA_EV1 ASRC_CLK GP7:13 SNVS_VIO5
3 HOME 3.3V GP2:04 NAND_D04 SD2_D4       GP2:04  
4 SEARCH 3.3V GP2:03 NAND_D03 SD1_D7       GP2:03  
5 BACK 3.3V GP2:02 NAND_D02 SD1_D6       GP2:02  
6 MENU 3.3V GP2:01 NAND_D01 SD1_D5       GP2:01  
7 KEY_VOL_DN 3.3V GP4:05 KEY_COL5 1588/OUT SPDIF_OUT CLKO1 SPI1_RDY GP4:05 ENET_TX_ER
8 GND                  

J15 (Parallel RGB display)

Pin Pad / signal Volts Default ALT0 ALT1 ALT2 ALT3 ALT4 ALT5 ALT6 ALT7
1 GND                    
2 GND                    
3 GND                    
4 DISP0_CNTRST 3.3V N/A IPU1_DI0_PIN04 IPU2_DI0_PIN04 AUD6_RXD SD1_WP   GP4:20    
5 DISP0_DAT16 3.3V IPU1_DI0_D16 IPU1_DI0_D16 IPU2_DI0_D16 SPI2_MOSI AUD5_TXC SDMA_EV0 GP5:10    
6 DISP0_DAT17 3.3V IPU1_DI0_D17 IPU1_DI0_D17 IPU2_DI0_D17 SPI2_MISO AUD5_TXD SDMA_EV1 GP5:11    
7 DISP0_DAT18 3.3V IPU1_DI0_D18 IPU1_DI0_D18 IPU2_DI0_D18 SPI2_SS0 AUD5_TXFS AUD4_RXFS GP5:12   EIM_CS2_B
8 DISP0_DAT19 3.3V IPU1_DI0_D19 IPU1_DI0_D19 IPU2_DI0_D19 SPI2_SCLK AUD5_RXD AUD4_RXC GP5:13   EIM_CS3_B
9 DISP0_DAT20 3.3V IPU1_DI0_D20 IPU1_DI0_D20 IPU2_DI0_D20 SPI1_SCLK AUD4_TXC   GP5:14    
10 DISP0_DAT21 3.3V IPU1_DI0_D21 IPU1_DI0_D21 IPU2_DI0_D21 SPI1_MOSI AUD4_TXD   GP5:15    
11 DISP0_DAT22 3.3V IPU1_DI0_D22 IPU1_DI0_D22 IPU2_DI0_D22 SPI1_MISO AUD4_TXFS   GP5:16    
12 DISP0_DAT23 3.3V IPU1_DI0_D23 IPU1_DI0_D23 IPU2_DI0_D23 SPI1_SS0 AUD4_RXD   GP5:17    
13 DISP0_DAT8 3.3V IPU1_DI0_D8 IPU1_DI0_D8 IPU2_DI0_D8 PWM1_OUT WDOG1_B   GP4:29    
14 DISP0_DAT9 3.3V IPU1_DI0_D9 IPU1_DI0_D9 IPU2_DI0_D9 PWM2_OUT WDOG2_B   GP4:30    
15 DISP0_DAT10 3.3V IPU1_DI0_D10 IPU1_DI0_D10 IPU2_DI0_D10       GP4:31    
16 DISP0_DAT11 3.3V IPU1_DI0_D11 IPU1_DI0_D11 IPU2_DI0_D11       GP5:05    
17 DISP0_DAT12 3.3V IPU1_DI0_D12 IPU1_DI0_D12 IPU2_DI0_D12       GP5:06    
18 DISP0_DAT13 3.3V IPU1_DI0_D13 IPU1_DI0_D13 IPU2_DI0_D13   AUD5_RXFS   GP5:07    
19 DISP0_DAT14 3.3V IPU1_DI0_D14 IPU1_DI0_D14 IPU2_DI0_D14   AUD5_RXC   GP5:08    
20 DISP0_DAT15 3.3V IPU1_DI0_D15 IPU1_DI0_D15 IPU2_DI0_D15 SPI1_SS1 SPI2_SS1   GP5:09    
21 DISP0_DAT0 3.3V IPU1_DI0_D0 IPU1_DI0_D0 IPU2_DI0_D0 SPI3_SCLK     GP4:21    
22 DISP0_DAT1 3.3V IPU1_DI0_D1 IPU1_DI0_D1 IPU2_DI0_D1 SPI3_MOSI     GP4:22    
23 DISP0_DAT2 3.3V IPU1_DI0_D2 IPU1_DI0_D2 IPU2_DI0_D2 SPI3_MISO     GP4:23    
24 DISP0_DAT3 3.3V IPU1_DI0_D3 IPU1_DI0_D3 IPU2_DI0_D3 SPI3_SS0     GP4:24    
25 DISP0_DAT4 3.3V IPU1_DI0_D4 IPU1_DI0_D4 IPU2_DI0_D4 SPI3_SS1     GP4:25    
26 DISP0_DAT5 3.3V IPU1_DI0_D5 IPU1_DI0_D5 IPU2_DI0_D5 SPI3_SS2 AUD6_RXFS   GP4:26    
27 DISP0_DAT6 3.3V IPU1_DI0_D6 IPU1_DI0_D6 IPU2_DI0_D6 SPI3_SS3 AUD6_RXC   GP4:27    
28 DISP0_DAT7 3.3V IPU1_DI0_D7 IPU1_DI0_D7 IPU2_DI0_D7 SPI3_RDY     GP4:28    
29 GND                    
30 DISP0_CLK 3.3V IPU1_DI0_CLK IPU1_DI0_CLK IPU2_DI0_CLK       GP4:16    
31 GND                    
32 DISP0_HSYNC 3.3V IPU1_DI0_PIN02 IPU1_DI0_PIN02 IPU2_DI0_PIN02 AUD6_TXD     GP4:18    
33 DISP0_VSYNC 3.3V IPU1_DI0_PIN03 IPU1_DI0_PIN03 IPU2_DI0_PIN03 AUD6_TXFS     GP4:19    
34 DISP0_DRDY 3.3V IPU1_DI0_PIN15 IPU1_DI0_PIN15 IPU2_DI0_PIN15 AUD6_TXC     GP4:17    
35 I2C3_SCL 3.3V I2C3_SCL ESAI_TX2_RX3   KEY_ROW7 CLKO1   GP1:05 I2C3_SCL ARM_EVENTI
36 I2C3_SDA 3.3V I2C3_SDA ESAI_TX3_RX2 1588/IN ENET_REF_CLK SD1_LCTL SPDIF_IN GP7:11 I2C3_SDA JTAG_DE_B
37 PWM1 3.3V PWM1_OUT SD1_D3 SPI5_SS2 GPT_CMP3 PWM1_OUT WDOG2_B GP1:21 WDOG2_RST  
38 +5V                    
39 +5V                    
40 +5V                    

J5 (CSI0 parallel camera interface)

    Pin Pad / signal Volts Default ALT0 ALT1 ALT2 ALT3 ALT4 ALT5 ALT6 ALT7
    1 GND                    
    2 CSI0_DAT19 2.5V IPU1_CSI0_D19 IPU1_CSI0_D19 EIM_D15   UART5_CTS   GP6:05    
    3 CSI0_DAT18 2.5V IPU1_CSI0_D18 IPU1_CSI0_D18 EIM_D14   UART5_RTS   GP6:04   ARM_TR15
    4 CSI0_DAT17 2.5V IPU1_CSI0_D17 IPU1_CSI0_D17 EIM_D13   UART4_CTS   GP6:03   ARM_TR14
    5 CSI0_DAT16 2.5V IPU1_CSI0_D16 IPU1_CSI0_D16 EIM_D12   UART4_RTS   GP6:02   ARM_TR13
    6 CSI0_DAT15 2.5V IPU1_CSI0_D15 IPU1_CSI0_D15 EIM_D11   UART5_RXD   GP6:01   ARM_TR12
    7 CSI0_DAT14 2.5V IPU1_CSI0_D14 IPU1_CSI0_D14 EIM_D10   UART5_TXD   GP6:00   ARM_TR11
    8 CSI0_DAT13 2.5V IPU1_CSI0_D13 IPU1_CSI0_D13 EIM_D09   UART4_RXD   GP5:31   ARM_TR10
    9 CSI0_DAT12 2.5V IPU1_CSI0_D12 IPU1_CSI0_D12 EIM_D08   UART4_TXD   GP5:30   ARM_TR09
    10 CSI0_DAT11 2.5V N/A IPU1_CSI0_D11 AUD3_RXFS SPI2_SS0 UART1_RXD   GP5:29   ARM_TR08
    11 CSI0_DAT10 2.5V N/A IPU1_CSI0_D10 AUD3_RXC SPI2_MISO UART1_TXD   GP5:28   ARM_TR07
    12 CSI0_DAT9 2.5V N/A IPU1_CSI0_D09 EIM_D07 SPI2_MOSI KEY_ROW7 I2C1_SCL GP5:27   ARM_TR06
    13 CSI0_DAT8 2.5V N/A IPU1_CSI0_D08 EIM_D06 SPI2_SCLK KEY_COL7 I2C1_SDA GP5:26   ARM_TR05
    14 I2C2_SCL 3.3V I2C2_SCL SPI1_SS3 ENET_CRS HDMI_SCL KEY_COL3 I2C2_SCL GP4:12 SPDIF_IN  
    15 I2C2_SDA 3.3V I2C2_SDA 32K_OUT ASRC_CLK HDMI_SDA KEY_ROW3 I2C2_SDA GP4:13 SD1_VSEL  
    16 GND                    
    17 GPIO_3_CLKO2 3.3V CLKO2 ESAI_RXC   I2C3_SCL CLK_24M CLKO2 GP1:03 USB_H1OC MLB_CLK
    18 GND                    
    19 +2.5V                    
    20 +2.5V                    
    21 +2.5V                    
    22 +2.5V                    
    23 GND                    
    24 CSI0_DATA_EN 2.5V IPU1_CSI0_EN IPU1_CSI0_EN EIM_D00       GP5:20   ARM_TRCLK
    25 GND                    
    26 CSI0_RST 3.3V GP1:08 ESAI_TX5_RX0 REF_CLK_32K EPIT2_OUT CAN1_RX UART2_RXD GP1:08 SPDIF_CLK OTG_PWAKE
    27 CSI0_VSYNC 2.5V IPU1_CSI0_VSYN IPU1_CSI0_VSYN EIM_D01       GP5:21   ARM_TR00
    28 CSI0_HSYNC 2.5V IPU1_CSI0_HSYN IPU1_CSI0_HSYN     CLKO1   GP5:19   ARM_TRCTL
    29 GND                    
    30 CSI0_PIXCLK 2.5V IPU1_CSI0_CLK IPU1_CSI0_CLK         GP5:18   ARM_EVENTO
    31 GP6 3.3V GP1:06 ESAI_TX_CLK   I2C3_SDA     GP1:06 SD2_LCTL MLB_SIG
    32 GND                    
    33 GP1_16 3.3V N/A SD1_D0 SPI5_MISO   GPT_CAP1   GP1:16