RPi BCM2711 GPIOs

From eLinux.org
Revision as of 07:28, 28 June 2019 by Elijah (talk | contribs) (Add new I2C functions, remove references to BSC)
Jump to: navigation, search


Back to RPi_Low-level_peripherals

BCM2711 GPIO functions

This page was cloned from RPi BCM2835 GPIOs, incorporating information from raspi-gpio. All is nicely hyperlinked together and cross-referenced so that clicking on a function name will automatically take you to the description of that function.
(If you want to see how GPIO-pins map back to actual pins, see this page). A selection of common circuits for interfacing with the GPIOs is given at RPi_GPIO_Interface_Circuits.

Changes from Raspberry Pi 3 are shown in italics.

GPIO Pins Alternative Function Assignment

Bank Pull ALT0 ALT1 ALT2 ALT3 ALT4 ALT5 RPi4 signal name RPi4 connection
GPIO0
0 High SDA0 SA5 PCLK SPI3_CE0_N TXD2 SDA6 J8-27 (ID_SD)
GPIO1
0 High SCL0 SA4 DE SPI3_MISO RXD2 SCL6 J8-28 (ID_SC)
GPIO2
0 High SDA1 SA3 LCD_VSYNC SPI3_MOSI CTS2 SDA3 J8-03
GPIO3
0 High SCL1 SA2 LCD_HSYNC SPI3_SCLK RTS2 SCL3 J8-05
GPIO4
0 High GPCLK0 SA1 DPI_D0 SPI4_CE0_N TXD3 SDA3 J8-07
GPIO5
0 High GPCLK1 SA0 DPI_D1 SPI4_MISO RXD3 SCL3 J8-29
GPIO6
0 High GPCLK2 SOE_N / SE DPI_D2 SPI4_MOSI CTS3 SDA4 J8-31
GPIO7
0 High SPI0_CE1_N SWE_N / SRW_N DPI_D3 SPI4_SCLK RTS3 SCL4 J8-26
GPIO8
0 High SPI0_CE0_N SD0 DPI_D4 I2CSL CE_N TXD4 SDA4 J8-24
GPIO9
0 Low SPI0_MISO SD1 DPI_D5 I2CSL SDI / MISO RXD4 SCL4 J8-21
GPIO10
0 Low SPI0_MOSI SD2 DPI_D6 I2CSL SDA / MOSI CTS4 SDA5 J8-19
GPIO11
0 Low SPI0_SCLK SD3 DPI_D7 I2CSL SCL / SCLK RTS4 SCL5 J8-23
GPIO12
0 Low PWM0 SD4 DPI_D8 SPI5_CE0_N TXD5 SDA5 J8-32
GPIO13
0 Low PWM1 SD5 DPI_D9 SPI5_MISO RXD5 SCL5 J8-33
GPIO14
0 Low TXD0 SD6 DPI_D10 SPI5_MOSI CTS5 TXD1 J8-08
GPIO15
0 Low RXD0 SD7 DPI_D11 SPI5_SCLK RTS5 RXD1 J8-10
GPIO16
0 Low FL0 (?) SD8 DPI_D12 CTS0 SPI1_CE2_N CTS1 J8-36
GPIO17
0 Low FL1 (?) SD9 DPI_D13 RTS0 SPI1_CE1_N RTS1 J8-11
GPIO18
0 Low PCM_CLK SD10 DPI_D14 SPI6_CE0_N SPI1_CE0_N PWM0 J8-12
GPIO19
0 Low PCM_FS SD11 DPI_D15 SPI6_MISO SPI1_MISO PWM1 J8-35
GPIO20
0 Low PCM_DIN SD12 DPI_D16 SPI6_MOSI SPI1_MOSI GPCLK0 J8-38
GPIO21
0 Low PCM_DOUT SD13 DPI_D17 SPI6_SCLK SPI1_SCLK GPCLK1 J8-40
GPIO22
0 Low SD0_CLK SD14 DPI_D18 SD1_CLK ARM_TRST SDA6 J8-15
GPIO23
0 Low SD0_CMD SD15 DPI_D19 SD1_CMD ARM_RTCK SCL6 J8-16
GPIO24
0 Low SD0_DAT0 SD16 DPI_D20 SD1_DAT0 ARM_TDO SPI3_CE1_N J8-18
GPIO25
0 Low SD0_DAT1 SD17 DPI_D21 SD1_DAT1 ARM_TCK SPI4_CE1_N J8-22
GPIO26
0 Low SD0_DAT2 TE0 (?) DPI_D22 SD1_DAT2 ARM_TDI SPI5_CE1_N J8-37
GPIO27
0 Low SD0_DAT3 TE1 (?) DPI_D23 SD1_DAT3 ARM_TMS SPI6_CE1_N J8-13
GPIO28
1 - SDA0 SA5 PCM_CLK FL0 (?) MII_A_RX_ERR RGMII_MDIO
GPIO29
1 - SCL0 SA4 PCM_FS FL1 (?) MII_A_TX_ERR RGMII_MDC
GPIO30
1 Low TE0 (?) SA3 PCM_DIN CTS0 MII_A_CRS CTS1
GPIO31
1 Low FL0 (?) SA2 PCM_DOUT RTS0 MII_A_COL RTS1
GPIO32
1 Low GPCLK0 SA1 RING_OCLK (?) TXD0 SD_CARD_PRES TXD1
GPIO33
1 Low FL1 (?) SA0 TE1 (?) RXD0 SD_CARD_WRPROT RXD1
GPIO34
1 High GPCLK0 SOE_N / SE TE2 (?) SD1_CLK SD_CARD_LED RGMII_IRQ
GPIO35
1 High SPI0_CE1_N SWE_N / SRW_N SD1_CMD RGMII_START_STOP
GPIO36
1 High SPI0_CE0_N SD0 TXD0 SD1_DAT0 RGMII_RX_OK MII_A_RX_ERR
GPIO37
1 Low SPI0_MISO SD1 RXD0 SD1_DAT1 RGMII_MDIO MII_A_TX_ERR
GPIO38
1 Low SPI0_MOSI SD2 RTS0 SD1_DAT2 RGMII_MDC MII_A_CRS
GPIO39
1 Low SPI0_SCLK SD3 CTS0 SD1_DAT3 RGMII_IRQ MII_A_COL
GPIO40
1 Low PWM0 SD4 SD1_DAT4 SPI0_MISO TXD1
GPIO41
1 Low PWM1 SD5 TE0 (?) SD1_DAT5 SPI0_MOSI RXD1
GPIO42
1 Low GPCLK1 SD6 TE1 (?) SD1_DAT6 SPI0_SCLK RTS1
GPIO43
1 Low GPCLK2 SD7 TE2 (?) SD1_DAT7 SPI0_CE0_N CTS1
GPIO44
1 - GPCLK1 SDA0 SDA1 TE0 (?) SPI0_CE1_N SD_CARD_VOLT
GPIO45
1 - PWM1 SCL0 SCL1 TE1 (?) SPI0_CE2_N SD_CARD_PWR0
GPIO46
2 High SDA0 SDA1 SPI0_CE0_N <internal> SPI2_CE1_N
GPIO47
2 High SCL0 SCL1 SPI0_MISO <internal> SPI2_CE0_N
GPIO48
2 High SD0_CLK SPI0_MOSI SD1_CLK ARM_TRST SPI2_SCLK
GPIO49
2 High SD0_CMD GPCLK0 SPI0_SCLK SD1_CMD ARM_RTCK SPI2_MOSI
GPIO50
2 High SD0_DAT0 GPCLK1 PCM_CLK SD1_DAT0 ARM_TDO SPI2_MISO
GPIO51
2 High SD0_DAT1 GPCLK2 PCM_FS SD1_DAT1 ARM_TCK SD_CARD_LED
GPIO52
2 High SD0_DAT2 PWM0 PCM_DIN SD1_DAT2 ARM_TDI
GPIO53
2 High SD0_DAT3 PWM1 PCM_DOUT SD1_DAT3 ARM_TMS
Bank Pull ALT0 ALT1 ALT2 ALT3 ALT4 ALT5 RPi4 signal name RPi4 connection

Special function legend:

Name Function Datasheet section GPIOs DeviceTree 'function'
SDA0
I2C master 0 data line I2C GPIO0 GPIO28 GPIO44 GPIO46 i2c0
SCL0
I2C master 0 clock line I2C GPIO1 GPIO29 GPIO45 GPIO47 i2c0
SDA1
I2C master 1 data line I2C GPIO2 GPIO44 GPIO46 i2c1
SCL1
I2C master 1 clock line I2C GPIO3 GPIO45 GPIO47 i2c1
SDA3
I2C master 3 data line I2C GPIO2 GPIO4 i2c3
SCL3
I2C master 3 clock line I2C GPIO3 GPIO5 i2c3
SDA4
I2C master 4 data line I2C GPIO6 GPIO8 i2c4
SCL4
I2C master 4 clock line I2C GPIO7 GPIO9 i2c4
SDA5
I2C master 5 data line I2C GPIO10 GPIO12 i2c5
SCL5
I2C master 5 clock line I2C GPIO11 GPIO13 i2c5
SDA6
I2C master 6 data line I2C GPIO0 GPIO22 i2c6
SCL6
I2C master 6 clock line I2C GPIO1 GPIO23 i2c6
GPCLK0
General purpose Clock 0 <TBD> GPIO4 GPIO20 GPIO32 GPIO34 GPIO49 gp_clk
GPCLK1
General purpose Clock 1 <TBD> GPIO5 GPIO21 GPIO42 GPIO44 GPIO50 gp_clk
GPCLK2
General purpose Clock 2 <TBD> GPIO6 GPIO43 GPIO51 gp_clk
SPI0_CE0_N
SPI0 Chip select 0 SPI GPIO8 GPIO36 GPIO43 GPIO46 spi0
SPI0_CE1_N
SPI0 Chip select 1 SPI GPIO7 GPIO35 GPIO44 spi0
SPI0_CE2_N
SPI0 Chip select 2 SPI GPIO45 spi0
SPI0_MISO
SPI0 MISO SPI GPIO9 GPIO37 GPIO40 GPIO47 spi
SPI0_MOSI
SPI0 MOSI SPI GPIO10 GPIO38 GPIO41 GPIO48 spi
SPI0_SCLK
SPI0 Serial clock SPI GPIO11 GPIO39 GPIO42 GPIO49 spi
PWM0
Pulse Width Modulator 0 Pulse Width Modulator GPIO12 GPIO18 GPIO40 GPIO52 pwm0
PWM1
Pulse Width Modulator 1 Pulse Width Modulator GPIO13 GPIO19 GPIO41 GPIO45 GPIO53 pwm1
TXD0
UART 0 Transmit Data UART GPIO14 GPIO32 GPIO36 uart0
RXD0
UART 0 Receive Data UART GPIO15 GPIO33 GPIO37 uart0
CTS0
UART 0 Clear To Send UART GPIO16 GPIO30 GPIO39 uart0
RTS0
UART 0 Request To Send UART GPIO17 GPIO31 GPIO38 uart0
TXD1
UART 1 Transmit Data Auxiliary I/O GPIO14 GPIO32 GPIO40 uart1
RXD1
UART 1 Receive Data Auxiliary I/O GPIO15 GPIO33 GPIO41 uart1
CTS1
UART 1 Clear To Send Auxiliary I/O GPIO16 GPIO30 GPIO43 uart1
RTS1
UART 1 Request To Send Auxiliary I/O GPIO17 GPIO31 GPIO42 uart1
TXD2
UART 2 Transmit Data UART GPIO0 uart2
RXD2
UART 2 Receive Data UART GPIO1 uart2
CTS2
UART 2 Clear To Send UART GPIO3 uart2
RTS2
UART 2 Request To Send UART GPIO3 uart2
TXD3
UART 3 Transmit Data UART GPIO4 uart3
RXD3
UART 3 Receive Data UART GPIO5 uart3
CTS3
UART 3 Clear To Send UART GPIO6 uart3
RTS3
UART 3 Request To Send UART GPIO7 uart3
TXD4
UART 4 Transmit Data UART GPIO8 uart4
RXD4
UART 4 Receive Data UART GPIO9 uart4
CTS4
UART 4 Clear To Send UART GPIO10 uart4
RTS4
UART 4 Request To Send UART GPIO11 uart4
TXD5
UART 5 Transmit Data UART GPIO12 uart5
RXD5
UART 5 Receive Data UART GPIO13 uart5
CTS5
UART 5 Clear To Send UART GPIO14 uart5
RTS5
UART 5 Request To Send UART GPIO14 uart5
PCM_CLK
PCM clock PCM Audio GPIO18 GPIO28 GPIO50 pcm
PCM_FS
PCM Frame Sync PCM Audio GPIO19 GPIO29 GPIO51 pcm
PCM_DIN
PCM Data in PCM Audio GPIO20 GPIO30 GPIO52 pcm
PCM_DOUT
PCM data out PCM Audio GPIO21 GPIO31 GPIO53 pcm
SAx
Secondary mem Address bus Secondary Memory Interface many smi
SOE_N / SE
Secondary mem. Controls Secondary Memory Interface GPIO6 GPIO34 smi
SWE_N / SRW_N
Secondary mem. Controls Secondary Memory Interface GPIO7 GPIO35 smi
SDx
Secondary mem. data bus Secondary Memory Interface many smi
I2CSL SDA / MOSI
I2C slave Data, SPI slave MOSI I2C/SPI slave GPIO10 i2c_slave
I2CSL SCL / SCLK
I2C slave Clock, SPI slave clock I2C/SPI slave GPIO11 i2c_slave
I2CSL SDI / MISO
I2C slave ???, SPI slave MISO I2C/SPI slave GPIO9 i2c_slave
I2CSL CE_N
I2C slave <not used>, SPI slave Chip Select I2C/SPI slave GPIO8 i2c_slave
SPI1_CE0_N
SPI1 Chip select 0 Auxiliary I/O GPIO18 spi1
SPI1_CE1_N
SPI1 Chip select 1 Auxiliary I/O GPIO17 spi1
SPI1_CE2_N
SPI1 Chip select 2 Auxiliary I/O GPIO16 spi1
SPI1_MISO
SPI1 MISO Auxiliary I/O GPIO19 spi1
SPI1_MOSI
SPI1 MOSI Auxiliary I/O GPIO20 spi1
SPI1_SCLK
SPI1 Serial clock Auxiliary I/O GPIO21 spi1
SPI2_CE0_N
SPI2 Chip select 0 Auxiliary I/O GPIO47 spi2
SPI2_CE1_N
SPI2 Chip select 1 Auxiliary I/O GPIO46 spi2
SPI2_MISO
SPI2 MISO Auxiliary I/O GPIO50 spi2
SPI2_MOSI
SPI2 MOSI Auxiliary I/O GPIO49 spi2
SPI2_SCLK
SPI2 Serial clock Auxiliary I/O GPIO48 spi2
ARM_TRST
ARM JTAG reset <TBD> GPIO22 GPIO48 arm_jtag
ARM_RTCK
ARM JTAG return clock <TBD> GPIO23 GPIO49 arm_jtag
ARM_TDO
ARM JTAG Data out <TBD> GPIO24 GPIO50 arm_jtag
ARM_TCK
ARM JTAG Clock <TBD> GPIO25 GPIO51 arm_jtag
ARM_TDI
ARM JTAG Data in <TBD> GPIO26 GPIO52 arm_jtag
ARM_TMS
ARM JTAG Mode select <TBD> GPIO27 GPIO53 arm_jtag
PCLK
DPI Pixel Clock Parallel Display Interface GPIO0 dpi
DE
DPI Data Enable Parallel Display Interface GPIO1 dpi
LCD_VSYNC
DPI Vertical Sync Parallel Display Interface GPIO2 dpi
LCD_HSYNC
DPI Horizontal Sync Parallel Display Interface GPIO3 dpi
DPI_Dx
DPI Parallel Data Parallel Display Interface many dpi
Name Function Datasheet section GPIOs DeviceTree 'function'