Search by Tags

Reset State of the i.MX 8/8X SoC Pins

 

Article updated at 26 May 2021
Compare with Revision




Subscribe for this article updates

Introduction

The reset states of the GPIO pins of the i.MX 8 and i.MX 8X SoCs have been documented in the datasheets of the Apalis iMX8, Colibri iMX8X, and Apalis iMX8X modules.

However, the i.MX 8/8X SoCs feature a System Controller Unit (SCU) that handles all of the pin configurations. The SCU comes with firmware (SCFW) that has its own default pin configurations. By the time of the release of the RESET_MOCI# signal, the SCU already overrides the pin configurations. Therefore, the SCU default settings are the relevant reset states for the pins. In the case of some of the GPIO-capable pins, the SCFW reset states are different from the register reset states.

The Apalis iMX8, Colibri iMX8X, and Apalis iMX8X module datasheets have been updated to these values, please have more information for each one of the modules below:

This document compares the reset state previously stated in the datasheet (SoC's register reset state) with the relevant SCUFW reset state.

Prerequisites

This article applies to the following Toradex SoMs:

Reset state

Reset state comparison

Abbreviations:

PD: Push-down PU: Push-up

Apalis iMX8

X1 Pin i.MX 8 Ball Name Apalis Signal Name Reset State (Register) Reset State (SCFW) Differ
1 M40_GPIO0_00 GPIO1 PD PD -
3 M40_GPIO0_01 GPIO2 PD PD -
5 M41_GPIO0_00 GPIO3 PD PD -
7 M41_GPIO0_01 GPIO4 PD PD -
11 FLEXCAN2_RX GPIO5 PD PD -
13 FLEXCAN2_TX GPIO6 Drive-1 PD Yes
15 MLB_SIG GPIO7 PD PD -
17 MLB_DATA GPIO8 PD PD -
35 ESAI1_TX0 SATA1_ACT# PD PD -
37 SPI3_CS0 WAKE1_MICO PD PD -
63 MLB_CLK TS_1 PD PD -
87 LVDS0_I2C0_SCL TS_2 PD PU Yes
99 LVDS0_I2C0_SDA TS_3 PD PU Yes
123 MIPI_DSI1_GPIO0_00 TS_4 PD PD -
135 SIM0_IO TS_5 Drive-0 PD Yes
159 USDHC1_STROBE TS_6 PD PU Yes
173 MIPI_DSI1_I2C0_SCL CAM1_D7 PD PU Yes
175 MIPI_DSI1_I2C0_SDA CAM1_D6 PD PU Yes
177 ESAI0_TX0 CAM1_D5 PD PD -
179 ESAI0_TX1 CAM1_D4 PD PD -
181 ESAI0_TX2_RX3 CAM1_D3 PD PD -
183 ESAI0_TX3_RX2 CAM1_D2 PD PD -
185 ESAI0_TX4_RX1 CAM1_D1 PD PD -
187 ESAI0_TX5_RX0 CAM1_D0 PD PD -
191 MCLK_IN0 CAM1_PCLK PD PD -
193 SPI3_SDO CAM1_MCLK Drive-1 PD Yes
195 ESAI0_SCKR CAM1_VSYNC PD PD -
197 ESAI0_SCKT CAM1_HSYNC PD PD -
201 SIM0_POWER_EN I2C3_SDA (CAM) Drive-0 PD Yes
203 SIM0_PD I2C3_SCL (CAM) PD PD -
209 GPT1_CAPTURE I2C1_SDA PD PD -
211 GPT1_CLK I2C1_SCL PD PD -
215 SPDIF0_TX SPDIF1_OUT Drive-0 PD Yes
217 SPDIF0_RX SPDIF1_IN PD PD -
221 SPI0_SCK SPI1_CLK PD PD -
223 SPI0_SDI SPI1_MISO PD PD -
225 SPI0_SDO SPI1_MOSI Drive-1 PD Yes
227 SPI0_CS0 SPI1_CS PD PD -
229 SPI2_SDI SPI2_MISO PD PD -
231 SPI2_SDO SPI2_MOSI Drive-1 PD Yes
233 SPI2_CS0 SPI2_CS PD PD -
235 SPI2_SCK SPI2_CLK PD PD -
239 LVDS1_GPIO00 BKL1_PWM PD PD -
243 ENET1_RGMII_RXD3 LCD1_PCLK PD PD -
245 ENET1_RGMII_RXD2 LCD1_VSYNC PD PD -
247 ENET1_RGMII_RXD1 LCD1_HSYNC PD PD -
249 ENET1_RGMII_RXD0 LCD1_DE PD PD -
251 ENET1_MDIO LCD1_R0 PD PU Yes
253 ENET1_MDC LCD1_R1 Drive-0 PD Yes
255 ENET1_RGMII_TXD2 LCD1_R2 Drive-0 PD Yes
257 ENET1_RGMII_TXD1 LCD1_R3 Drive-0 PD Yes
259 ENET1_RGMII_TXD0 LCD1_R4 Drive-0 PD Yes
261 ENET1_RGMII_TXC LCD1_R5 Drive-0 PD Yes
263 ENET1_RGMII_TX_CTL LCD1_R6 Drive-0 PD Yes
265 ENET1_RGMII_RX_CTL LCD1_R7 PD PD -
269 ENET1_REFCLK_125M_25M LCD1_G0 Drive-0 PD Yes
271 ESAI0_FSR LCD1_G1 PD PD -
273 ESAI0_FST LCD1_G2 PD PD -
275 SIM0_GPIO0_00 LCD1_G3 Drive-0 PD Yes
277 SIM0_RST LCD1_G4 Drive-0 PD Yes
279 SIM0_CLK LCD1_G5 Drive-0 PD Yes
281 LVDS1_I2C0_SCL LCD1_G6 PD PU Yes
283 LVDS1_I2C0_SDA LCD1_G7 PD PU Yes
287 QSPI1A_DATA0 LCD1_B0 PD PD -
289 QSPI1A_DATA1 LCD1_B1 PD PD -
291 QSPI1A_DATA2 LCD1_B2 PD PD -
293 QSPI1A_DATA3 LCD1_B3 PD PD -
295 QSPI1A_SS0_B LCD1_B4 PD PU Yes
297 QSPI1A_DQS LCD1_B5 PD PD -
299 QSPI1A_SS1_B LCD1_B6 PD PU Yes
301 QSPI1A_SCLK LCD1_B7 PD PD -
305 ADC_IN0 AN1_ADC0 PD PD -
307 ADC_IN1 AN1_ADC1 PD PD -
309 ADC_IN2 AN1_ADC2 PD PD -
311 ADC_IN3 AN1_TSWIP_ADC3 PD PD -
315 ADC_IN4 AN1_TSPX PD PD -
317 ADC_IN5 AN1_TSMX PD PD -
319 ADC_IN6 AN1_TSPY PD PD -
321 ADC_IN7 AN1_TSMY PD PD -
2 GPT1_COMPARE PWM1 PD PD -
4 GPT0_COMPARE PWM2 PD PD -
6 UART0_RTS_B PWM3 Drive-1 PD Yes
8 UART0_CTS_B PWM4 PD PD -
12 FLEXCAN0_RX CAN1_RX PD PD -
14 FLEXCAN0_TX CAN1_TX Drive-1 PD Yes
16 FLEXCAN1_RX CAN2_RX PD PD -
18 FLEXCAN1_TX CAN2_TX Drive-1 PD Yes
84 USB_SS3_TC1 USBH_EN PD PU Yes
96 USB_SS3_TC3 USBH_OC# PD PU Yes
110 M40_I2C0_SCL UART1_DTR PD PU Yes
112 UART1_TX UART1_TXD Drive-1 PD Yes
114 UART1_RTS_B UART1_RTS Drive-1 PD Yes
116 UART1_CTS_B UART1_CTS PD PD -
118 UART1_RX UART1_RXD PD PD -
120 M40_I2C0_SDA UART1_DSR PD PU Yes
122 M41_I2C0_SDA UART1_RI PD PU Yes
124 M41_I2C0_SCL UART1_DCD PD PU Yes
126 LVDS1_I2C1_SCL UART2_TXD PD PU Yes
128 ENET1_RGMII_TXD3 UART2_RTS Drive-0 PD Yes
130 ENET1_RGMII_RXC UART2_CTS PD PD -
132 LVDS1_I2C1_SDA UART2_RXD PD PU Yes
134 UART0_TX UART3_TXD Drive-1 PD Yes
136 UART0_RX UART3_RXD PD PD -
138 LVDS0_I2C1_SCL UART4_TXD PD PU Yes
140 LVDS0_I2C1_SDA UART4_RXD PD PU Yes
144 USDHC1_DATA2 MMC1_D2 PD PU Yes
146 USDHC1_DATA3 MMC1_D3 PD PU Yes
148 USDHC1_DATA4 MMC1_D4 PD PU Yes
150 USDHC1_CMD MMC1_CMD PD PD -
152 USDHC1_DATA5 MMC1_D5 PD PU Yes
154 USDHC1_CLK MMC1_CLK Drive-0 Drive-0 -
156 USDHC1_DATA6 MMC1_D6 PD PU Yes
158 USDHC1_DATA7 MMC1_D7 PD PU Yes
160 USDHC1_DATA0 MMC1_D0 PD PU Yes
162 USDHC1_DATA1 MMC1_D1 PD PU Yes
164 ESAI1_TX1 MMC1_CD# PD PD -
176 USDHC2_DATA2 SD1_D2 PD PU Yes
178 USDHC2_DATA3 SD1_D3 PD PU Yes
180 USDHC2_CMD SD1_CMD PD PD -
184 USDHC2_CLK SD1_CLK Drive-0 PD Yes
186 USDHC2_DATA0 SD1_D0 PD PU Yes
188 USDHC2_DATA1 SD1_D1 PD PU Yes
190 USDHC2_CD_B SD1_CD# PD PU Yes
194 SPI3_SDI DAP1_MCLK PD PD -
196 SAI1_RXC DAP1_D_OUT PD PD -
198 ESAI1_SCKT DAP1_RESET PD PD -
200 SPI0_CS1 DAP1_BIT_CLK PD PD -
202 SAI1_RXFS DAP1_D_IN PD PD -
204 SPI2_CS1 DAP1_SYNC PD PD -
262 USB_SS3_TC2 USBO1_OC# PD PU Yes
274 USB_SS3_TC0 USBO1_EN PD PU Yes
286 LVDS0_GPIO00 BKL1_ON PD PD -

Impacts on Toradex Carrier Boards

Four pins could have the following impact with the Toradex carrier boards:

Pin Difference Effect
USBO1_EN pulled-up instead of pulled-down The USB power gets enabled during reset
USBH_EN pulled-up instead of pulled-down Depending on the carrier board, the USB power gets enabled during the reset
MMC1_D5 pulled-up instead of pulled-down On Ixora, this pin is used for driving an LED (LED5_GREEN). This LED could be lit during the reset state
MMC1_D6 pulled-up instead of pulled-down On Ixora, this pin is used for driving an LED (LED5_RED). This LED could be lit during the reset state

Colibri iMX8X

X1 Pin i.MX 8X Ball Name Colibri Signal Name Reset State (Register) Reset State (SCFW) Differ
19 UART2_RX UART_C_RXD PD PD -
21 UART2_TX UART_C_TXD PD PD -
23 MIPI_DSI1_GPIO0_01 UART_A_DTR PD PD -
25 SAI1_RXD UART_A_CTS PD PD -
27 SAI1_RXC UART_A_RTS, SSPSYSCLK PD PD -
29 CSI_RESET UART_A_DSR PD PD -
31 USDHC1_CD_B UART_A_DCD PU PU -
33 FLEXCAN2_RX UART_A_RXD PD PD -
35 FLEXCAN2_TX UART_A_TXD PD PD -
37 CSI_EN UART_A_RI PD PD -
43 QSPI0A_DATA0 GPIO: MMCD, WAKEUP Source0 PD PD -
45 QSPI0A_DATA1 GPIO: PRDY, WAKEUP Source1 PD PD -
47 USDHC1_CLK MMC_CLK PD PD -
49 USDHC1_DATA1 MMC_DAT1 PU PU -
51 USDHC1_DATA2 MMC_DAT2 PU PU -
53 USDHC1_DATA3 MMC_DAT3 PU PU -
55 FLEXCAN1_TX GPIO: PS2.SDA1 PD PD -
57 SPI3_CS1 LDD<16> PD PD -
57 ENET0_RGMII_TXD2 LDD<16> PD PD -
59 SPI0_CS1 PWM/VID7 PD PD -
59 CSI_D05 PWM/VID7 PD PD -
61 UART1_CTS_B LDD<17> PD PD -
63 FLEXCAN1_RX GPIO: PS2.SCL1 PD PD -
65 CSI_D07 GPIO: PS2.SDA2/VID9 PD PD -
65 ENET0_RGMII_TXD3 GPIO: PS2.SDA2/VID9 PD PD -
67 UART1_RTS_B PWM/VID6 PD PD -
67 CSI_D04 PWM/VID6 PD PD -
69 QSPI0A_DATA2 GPIO: PS2.SCL2/VID10 PD PD -
71 QSPI0A_DATA3 GPIO: BL_ON/VID0 PD PD -
73 QSPI0A_DQS GPIO: CAN_INT PD PD -
75 CSI_MCLK GPIO: PRST/VIDMCLK PD PD -
79 SAI0_TXC GPIO: PBVD1/VID4 PD PD -
79 CSI_D02 GPIO: PBVD1/VID4 PD PD -
81 CSI_VSYNC GPIO: PCD/VIDVSYNC PD PD -
81 PCIE_CTRL0_PERST_B GPIO: PCD/VIDVSYNC PD PD -
85 CSI_D06 GPIO: nPPEN/VID8 PD PD -
85 ENET0_RGMII_RXC GPIO: nPPEN/VID8 PD PD -
95 QSPI0B_SCLK RDY PD PD -
97 SAI0_RXD nPOE/VID5 PD PD -
97 CSI_D03 nPOE/VID5 PD PD -
99 QSPI0B_DATA0 nPWE PD PD -
101 SAI0_TXFS nPIOW/VID2 PD PD -
101 CSI_D00 nPIOW/VID2 PD PD -
103 SAI0_TXD nPIOR/VID3 PD PD -
103 CSI_D01 nPIOR/VID3 PD PD -
105 QSPI0B_DATA1 nCS_CAN PD PD -
107 QSPI0B_DATA2 nEXT_CS1 PD PD -
127 USB_SS3_TC2 GPIO: EXT_IO2 PU PD Yes
129 USB_SS3_TC0 USBH_PEN PD PD -
131 USB_SS3_TC3 USBH_OC PU PD Yes
133 USB_SS3_TC1 GPIO: EXT_IO1 PD PD -
135 ENET0_RGMII_RXD3 GPIO: EXT_IO0 / USB_ID/SPDIF_IN PD PD -
137 ENET0_REFCLK_125M_25M GPIO: USBC_DET(VBUS)/SPDIF/OUT PD PD -
2 ADC_IN5 AD3 PD PD -
4 ADC_IN4 AD2 PD PD -
6 ADC_IN1 AD1 PD PD -
8 ADC_IN0 AD0 PD PD -
28 UART1_TX PWM PD PD -
30 UART1_RX PWM PD PD -
32 FLEXCAN0_TX UART_B_CTS PD PD -
34 FLEXCAN0_RX UART_B_RTS PD PD -
36 UART0_RX UART_B_RXD PD PD -
38 UART0_TX UART_B_TXD PD PD -
44 MCLK_IN1 L_BIAS PD PD -
44 USDHC1_RESET_B L_BIAS PU PU -
46 ESAI0_TX3_RX2 LDD<7> PD PD -
48 ESAI0_TX5_RX0 LDD<9> PD PD -
50 SPDIF0_TX LDD<11> PD PD -
52 SPDIF0_EXT_CLK LDD<12> PD PD -
54 SPI3_SCK LDD<13> PD PD -
56 MCLK_OUT0 L_PCLK_WR PD PD -
58 ESAI0_SCKT LDD<3> PD PD -
60 ESAI0_SCKR LDD<2> PD PD -
62 ESAI0_TX4_RX1 LDD<8> PD PD -
64 SPI3_SDI LDD<15> PD PD -
66 SPI3_SDO LDD<14> PD PD -
68 SPI3_CS0 L_LCLK_A0 PD PD -
70 ESAI0_FST LDD<1> PD PD -
72 ESAI0_TX1 LDD<5> PD PD -
74 SPDIF0_RX LDD<10> PD PD -
76 ESAI0_FSR LDD<0> PD PD -
76 USDHC1_WP LDD<0> PD PD -
78 ESAI0_TX0 LDD<4> PD PD -
80 ESAI0_TX2_RX3 LDD<6> PD PD -
82 MCLK_IN0 L_FCLK_RD PD PD -
86 SPI2_CS0 SSPFRM PD PD -
88 SPI2_SCK SPSCLK PD PD -
90 SPI2_SDI SSPRXD PD PD -
92 SPI2_SDO SSPTXD PD PD -
94 CSI_HSYNC nPCE1/VIDHSYNC PD PD -
94 PCIE_CTRL0_WAKE_B nPCE1/VIDHSYNC PU PU -
96 CSI_PCLK nPCE2/VIDPCLK PD PD -
98 QSPI0B_DATA3 nPREG/VID1 PD PD -
100 SAI1_RXFS nPXCVREN PD PD -
102 QSPI0B_DQS nPWAIT PD PD -
104 QSPI0B_SS0_B nIOIS16 PU PU -
106 QSPI0B_SS1_B nEXT_CS2 PU PU -
144 SCU_GPIO0_00 ADDRESS20/LCD_R0 PD PD -
146 SCU_GPIO0_01 ADDRESS19/LCD_R1 PU PU -
178 PCIE_CTRL0_CLKREQ_B DATA30 PD PD -
180 ENET0_MDIO DATA31 PU PU -
184 ENET0_MDC ADDRESS18 PD PD -
190 USDHC1_CMD MMC_CMD PU PU -
192 USDHC1_DATA0 MMC_DAT0 PU PU -
194 MIPI_DSI0_GPIO0_01 I2C_SDA PD PD -
196 MIPI_DSI0_GPIO0_00 I2C_SCL PD PD -

Apalis iMX8X

X1 Pin i.MX 8X Ball Name Apalis Signal Name Reset State (Register) Reset State (SCFW) Differ
11 QSPI0B_SCLK GPIO5 PD PD -
13 QSPI0B_DATA0 GPIO6 PD PD -
35 MIPI_DSI0_I2C0_SCL SATA1_ACT# PU PU -
37 MIPI_DSI0_I2C0_SDA WAKE1_MICO PU PU -
173 CSI_D07 CAM1_D7 PD PD -
175 CSI_D06 CAM1_D6 PD PD -
177 CSI_D05 CAM1_D5 PD PD -
179 CSI_D04 CAM1_D4 PD PD -
181 CSI_D03 CAM1_D3 PD PD -
183 CSI_D02 CAM1_D2 PD PD -
185 CSI_D01 CAM1_D1 PD PD -
187 CSI_D00 CAM1_D0 PD PD -
191 CSI_PCLK CAM1_PCLK PD PD -
193 CSI_MCLK CAM1_MCLK PD PD -
195 CSI_VSYNC CAM1_VSYNC PD PD -
197 CSI_HSYNC CAM1_HSYNC PD PD -
201 CSI_RESET I2C3_SDA (CAM) PD PD -
203 CSI_EN I2C3_SCL (CAM) PD PD -
205 MIPI_DSI1_I2C0_SDA I2C2_SDA (DDC) PU PU -
207 MIPI_DSI1_I2C0_SCL I2C2_SCL (DDC) PU PU -
209 USB_SS3_TC3 I2C1_SDA PU PD Yes
211 USB_SS3_TC0 I2C1_SCL PD PD -
221 SPI0_SCK SPI1_CLK PD PD -
223 SPI0_SDI SPI1_MISO PD PD -
225 SPI0_SDO SPI1_MOSI PD PD -
227 SPI0_CS0 SPI1_CS PD PD -
229 SPI2_SCK SPI2_MISO PD PD -
231 SPI2_SDI SPI2_MOSI PD PD -
233 SPI2_SDO SPI2_CS PD PD -
235 SPI2_CS0 SPI2_CLK PD PD -
239 MIPI_DSI1_GPIO0_00 BKL1_PWM PD PD -
243 MCLK_OUT0 LCD1_PCLK PD PD -
245 MCLK_IN0 LCD1_VSYNC PD PD -
247 SPI3_CS0 LCD1_HSYNC PD PD -
249 MCLK_IN1 LCD1_DE PD PD -
255 SPDIF0_EXT_CLK LCD1_R2 PD PD -
257 SPI3_SCK LCD1_R3 PD PD -
259 SPI3_SDO LCD1_R4 PD PD -
261 SPI3_SDI LCD1_R5 PD PD -
263 SPI3_CS1 LCD1_R6 PD PD -
265 UART1_CTS_B LCD1_R7 PD PD -
273 ESAI0_TX2_RX3 LCD1_G2 PD PD -
275 ESAI0_TX3_RX2 LCD1_G3 PD PD -
277 ESAI0_TX4_RX1 LCD1_G4 PD PD -
279 ESAI0_TX5_RX0 LCD1_G5 PD PD -
281 SPDIF0_RX LCD1_G6 PD PD -
283 SPDIF0_TX LCD1_G7 PD PD -
291 ESAI0_FSR LCD1_B2 PD PD -
293 ESAI0_FST LCD1_B3 PD PD -
295 ESAI0_SCKR LCD1_B4 PD PD -
297 ESAI0_SCKT LCD1_B5 PD PD -
299 ESAI0_TX0 LCD1_B6 PD PD -
301 ESAI0_TX1 LCD1_B7 PD PD -
305 ADC_IN0 AN1_ADC0 PD PD -
307 ADC_IN1 AN1_ADC1 PD PD -
309 ADC_IN4 AN1_ADC2 PD PD -
311 ADC_IN5 AN1_TSWIP_ADC3 PD PD -
2 UART1_RTS_B PWM1 PD PD -
4 MIPI_DSI0_GPIO0_00 PWM2 PD PD -
6 MIPI_DSI0_GPIO0_01 PWM3 PD PD -
8 MIPI_DSI1_GPIO0_01 PWM4 PD PD -
12 FLEXCAN1_RX CAN1_RX PD PD -
14 FLEXCAN1_TX CAN1_TX PD PD -
16 FLEXCAN2_RX CAN2_RX PD PD -
18 FLEXCAN2_TX CAN2_TX PD PD -
84 USB_SS3_TC1 USBH_EN PD PD -
96 QSPI0A_DATA0 USBH_OC# PD PD -
112 UART1_TX UART1_TXD PD PD -
114 QSPI0A_DATA2 UART1_RTS PD PD -
116 QSPI0A_DATA3 UART1_CTS PD PD -
118 UART1_RX UART1_RXD PD PD -
126 UART0_TX UART2_TXD PD PD -
128 FLEXCAN0_RX UART2_RTS PD PD -
130 FLEXCAN0_TX UART2_CTS PD PD -
132 UART0_RX UART2_RXD PD PD -
134 UART2_TX UART3_TXD PD PD -
136 UART2_RX UART3_RXD PD PD -
138 SCU_GPIO0_01 UART4_TXD PU PU -
140 SCU_GPIO0_00 UART4_RXD PD PD -
144 USDHC1_DATA2 MMC1_D2 PU PU -
146 USDHC1_DATA3 MMC1_D3 PU PU -
148 QSPI0A_DATA1 MMC1_D4 PD PD -
150 USDHC1_CMD MMC1_CMD PU PU -
152 USDHC1_RESET_B MMC1_D5 PU PU -
154 USDHC1_CLK MMC1_CLK PD PD -
156 USDHC1_WP MMC1_D6 PD PD -
158 QSPI0A_SS0_B MMC1_D7 PU PU -
160 USDHC1_DATA0 MMC1_D0 PU PU -
162 USDHC1_DATA1 MMC1_D1 PU PU -
164 USDHC1_CD_B MMC1_CD# PU PU -
194 ADC_IN3 DAP1_MCLK PD PD -
196 SAI0_TXD DAP1_D_OUT PD PD -
198 QSPI0A_SS1_B DAP1_RESET PU PU -
200 SAI0_TXC DAP1_BIT_CLK PD PD -
202 SAI0_RXD DAP1_D_IN PD PD -
204 SAI0_TXFS DAP1_SYNC PD PD -
262 USB_SS3_TC2 USBO1_OC# PU PD Yes
274 QSPI0A_SCLK USBO1_EN PD PD -
286 QSPI0A_DQS BKL1_ON PD PD -
310 SAI1_RXD AAP1_LIN_L PD PD -
312 SAI1_RXC AAP1_LIN_R PD PD -
316 SPI0_CS1 AAP1_HP_L PD PD -
318 SAI1_RXFS AAP1_HP_R PD PD -