Difference between revisions of "RPi BCM2835 GPIOs"
(Added GPIO Bank column) |
(Added a DeviceTree 'function' column to the second table) |
||
Line 130: | Line 130: | ||
Special function legend: | Special function legend: | ||
{| border="1" | {| border="1" | ||
− | ! style="background-color:powderblue;" | Name !! style="background-color:powderblue;" | Function !! style="background-color:powderblue;" | Datasheet section !! style="background-color:powderblue;" | GPIOs | + | ! style="background-color:powderblue;" | Name !! style="background-color:powderblue;" | Function !! style="background-color:powderblue;" | Datasheet section !! style="background-color:powderblue;" | GPIOs !! style="background-color:powderblue;" | DeviceTree 'function' |
|- | |- | ||
− | | style="background-color:orange;" | <div id="SDA0">SDA0</div> || BSC master 0 data line || BSC || [[#GPIO0|GPIO0]] '''[[#GPIO28|GPIO28]]''' <del>[[#GPIO44|GPIO44]]</del> | + | | style="background-color:orange;" | <div id="SDA0">SDA0</div> || BSC master 0 data line || BSC || [[#GPIO0|GPIO0]] '''[[#GPIO28|GPIO28]]''' <del>[[#GPIO44|GPIO44]]</del> || i2c0 |
|- | |- | ||
− | | style="background-color:orange;" | <div id="SCL0">SCL0</div> || BSC master 0 clock line || BSC || [[#GPIO1|GPIO1]] '''[[#GPIO29|GPIO29]]''' [[#GPIO45|GPIO45]] | + | | style="background-color:orange;" | <div id="SCL0">SCL0</div> || BSC master 0 clock line || BSC || [[#GPIO1|GPIO1]] '''[[#GPIO29|GPIO29]]''' [[#GPIO45|GPIO45]] || i2c0 |
|- | |- | ||
− | | style="background-color:magenta;" | <div id="SDA1">SDA1</div> || BSC master 1 data line || BSC || '''''[[#GPIO2|GPIO2]]''''' <del>[[#GPIO44|GPIO44]]</del> | + | | style="background-color:magenta;" | <div id="SDA1">SDA1</div> || BSC master 1 data line || BSC || '''''[[#GPIO2|GPIO2]]''''' <del>[[#GPIO44|GPIO44]]</del> || i2c1 |
|- | |- | ||
− | | style="background-color:magenta;" | <div id="SCL1">SCL1</div> || BSC master 1 clock line || BSC || '''''[[#GPIO3|GPIO3]]''''' [[#GPIO45|GPIO45]] | + | | style="background-color:magenta;" | <div id="SCL1">SCL1</div> || BSC master 1 clock line || BSC || '''''[[#GPIO3|GPIO3]]''''' [[#GPIO45|GPIO45]] || i2c1 |
|- | |- | ||
− | | style="background-color:turquoise;" | <div id="GPCLK0">GPCLK0</div> || General purpose Clock 0 || '''<TBD>''' || '''''[[#GPIO4|GPIO4]]''''' <del>[[#GPIO20|GPIO20]]</del> <del>[[#GPIO32|GPIO32]]</del> <del>[[#GPIO34|GPIO34]]</del> | + | | style="background-color:turquoise;" | <div id="GPCLK0">GPCLK0</div> || General purpose Clock 0 || '''<TBD>''' || '''''[[#GPIO4|GPIO4]]''''' <del>[[#GPIO20|GPIO20]]</del> <del>[[#GPIO32|GPIO32]]</del> <del>[[#GPIO34|GPIO34]]</del> || gp_clk |
|- | |- | ||
− | | style="background-color:turquoise;" | <div id="GPCLK1">GPCLK1</div> || General purpose Clock 1 || '''<TBD>''' || [[#GPIO5|GPIO5]] [[#GPIO21|GPIO21]] <del>[[#GPIO42|GPIO42]]</del> <del>[[#GPIO44|GPIO44]]</del> | + | | style="background-color:turquoise;" | <div id="GPCLK1">GPCLK1</div> || General purpose Clock 1 || '''<TBD>''' || [[#GPIO5|GPIO5]] [[#GPIO21|GPIO21]] <del>[[#GPIO42|GPIO42]]</del> <del>[[#GPIO44|GPIO44]]</del> || gp_clk |
|- | |- | ||
− | | style="background-color:turquoise;" | <div id="GPCLK2">GPCLK2</div> || General purpose Clock 2 || '''<TBD>''' || [[#GPIO6|GPIO6]] <del>[[#GPIO43|GPIO43]]</del> | + | | style="background-color:turquoise;" | <div id="GPCLK2">GPCLK2</div> || General purpose Clock 2 || '''<TBD>''' || [[#GPIO6|GPIO6]] <del>[[#GPIO43|GPIO43]]</del> || gp_clk |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI0_CE1_N">SPI0_CE1_N</div> || SPI0 Chip select 1 || SPI || '''''[[#GPIO7|GPIO7]]''''' <del>[[#GPIO35|GPIO35]]</del> | + | | style="background-color:plum;" | <div id="SPI0_CE1_N">SPI0_CE1_N</div> || SPI0 Chip select 1 || SPI || '''''[[#GPIO7|GPIO7]]''''' <del>[[#GPIO35|GPIO35]]</del> || spi |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI0_CE0_N">SPI0_CE0_N</div> || SPI0 Chip select 0 || SPI || '''''[[#GPIO8|GPIO8]]''''' <del>[[#GPIO36|GPIO36]]</del> | + | | style="background-color:plum;" | <div id="SPI0_CE0_N">SPI0_CE0_N</div> || SPI0 Chip select 0 || SPI || '''''[[#GPIO8|GPIO8]]''''' <del>[[#GPIO36|GPIO36]]</del> || spi |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI0_MISO">SPI0_MISO</div> || SPI0 MISO || SPI || '''''[[#GPIO9|GPIO9]]''''' <del>[[#GPIO37|GPIO37]]</del> | + | | style="background-color:plum;" | <div id="SPI0_MISO">SPI0_MISO</div> || SPI0 MISO || SPI || '''''[[#GPIO9|GPIO9]]''''' <del>[[#GPIO37|GPIO37]]</del> || spi |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI0_MOSI">SPI0_MOSI</div> || SPI0 MOSI || SPI || '''''[[#GPIO10|GPIO10]]''''' <del>[[#GPIO38|GPIO38]]</del> | + | | style="background-color:plum;" | <div id="SPI0_MOSI">SPI0_MOSI</div> || SPI0 MOSI || SPI || '''''[[#GPIO10|GPIO10]]''''' <del>[[#GPIO38|GPIO38]]</del> || spi |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI0_SCLK">SPI0_SCLK</div> || SPI0 Serial clock || SPI || '''''[[#GPIO11|GPIO11]]''''' <del>[[#GPIO39|GPIO39]]</del> | + | | style="background-color:plum;" | <div id="SPI0_SCLK">SPI0_SCLK</div> || SPI0 Serial clock || SPI || '''''[[#GPIO11|GPIO11]]''''' <del>[[#GPIO39|GPIO39]]</del> || spi |
|- | |- | ||
− | | style="background-color:lightblue;" | <div id="PWMx">PWMx</div> || Pulse Width Modulator 0..1 || Pulse Width Modulator || PWM0: <del>[[#GPIO12|GPIO12]]</del> '''[[#GPIO18|GPIO18]]''' [[#GPIO40|GPIO40]]<br> PWM1: <del>[[#GPIO13|GPIO13]]</del> <del>[[#GPIO19|GPIO19]]</del> <del>[[#GPIO41|GPIO41]]</del> [[#GPIO45|GPIO45]] | + | | style="background-color:lightblue;" | <div id="PWMx">PWMx</div> || Pulse Width Modulator 0..1 || Pulse Width Modulator || PWM0: <del>[[#GPIO12|GPIO12]]</del> '''[[#GPIO18|GPIO18]]''' [[#GPIO40|GPIO40]]<br> PWM1: <del>[[#GPIO13|GPIO13]]</del> <del>[[#GPIO19|GPIO19]]</del> <del>[[#GPIO41|GPIO41]]</del> [[#GPIO45|GPIO45]] || pwm |
|- | |- | ||
− | | style="background-color:red;" | <div id="TXD0">TXD0</div> || UART 0 Transmit Data || UART || '''''[[#GPIO14|GPIO14]]''''' <del>[[#GPIO32|GPIO32]]</del> <del>[[#GPIO36|GPIO36]]</del> | + | | style="background-color:red;" | <div id="TXD0">TXD0</div> || UART 0 Transmit Data || UART || '''''[[#GPIO14|GPIO14]]''''' <del>[[#GPIO32|GPIO32]]</del> <del>[[#GPIO36|GPIO36]]</del> || uart0 |
|- | |- | ||
− | | style="background-color:red;" | <div id="RXD0">RXD0</div> || UART 0 Receive Data || UART || '''''[[#GPIO15|GPIO15]]''''' <del>[[#GPIO33|GPIO33]]</del> <del>[[#GPIO37|GPIO37]]</del> | + | | style="background-color:red;" | <div id="RXD0">RXD0</div> || UART 0 Receive Data || UART || '''''[[#GPIO15|GPIO15]]''''' <del>[[#GPIO33|GPIO33]]</del> <del>[[#GPIO37|GPIO37]]</del> || uart0 |
|- | |- | ||
− | | style="background-color:red;" | <div id="CTS0">CTS0</div> || UART 0 Clear To Send || UART || [[#GPIO16|GPIO16]] '''[[#GPIO30|GPIO30]]''' <del>[[#GPIO39|GPIO39]]</del> | + | | style="background-color:red;" | <div id="CTS0">CTS0</div> || UART 0 Clear To Send || UART || [[#GPIO16|GPIO16]] '''[[#GPIO30|GPIO30]]''' <del>[[#GPIO39|GPIO39]]</del> || uart0 |
|- | |- | ||
− | | style="background-color:red;" | <div id="RTS0">RTS0</div> || UART 0 Request To Send || UART || '''[[#GPIO17|GPIO17]]''' '''[[#GPIO31|GPIO31]]''' <del>[[#GPIO38|GPIO38]]</del> | + | | style="background-color:red;" | <div id="RTS0">RTS0</div> || UART 0 Request To Send || UART || '''[[#GPIO17|GPIO17]]''' '''[[#GPIO31|GPIO31]]''' <del>[[#GPIO38|GPIO38]]</del> || uart0 |
|- | |- | ||
− | | style="background-color:lawngreen;" | <div id="PCM_CLK">PCM_CLK</div> || PCM clock || PCM Audio || '''[[#GPIO18|GPIO18]]''' '''[[#GPIO28|GPIO28]]''' | + | | style="background-color:lawngreen;" | <div id="PCM_CLK">PCM_CLK</div> || PCM clock || PCM Audio || '''[[#GPIO18|GPIO18]]''' '''[[#GPIO28|GPIO28]]''' || pcm |
|- | |- | ||
− | | style="background-color:lawngreen;" | <div id="PCM_FS">PCM_FS</div> || PCM Frame Sync || PCM Audio || <del>[[#GPIO19|GPIO19]]</del> '''[[#GPIO29|GPIO29]]''' | + | | style="background-color:lawngreen;" | <div id="PCM_FS">PCM_FS</div> || PCM Frame Sync || PCM Audio || <del>[[#GPIO19|GPIO19]]</del> '''[[#GPIO29|GPIO29]]''' || pcm |
|- | |- | ||
− | | style="background-color:lawngreen;" | <div id="PCM_DIN">PCM_DIN</div> || PCM Data in || PCM Audio || <del>[[#GPIO20|GPIO20]]</del> '''[[#GPIO30|GPIO30]]''' | + | | style="background-color:lawngreen;" | <div id="PCM_DIN">PCM_DIN</div> || PCM Data in || PCM Audio || <del>[[#GPIO20|GPIO20]]</del> '''[[#GPIO30|GPIO30]]''' || pcm |
|- | |- | ||
− | | style="background-color:lawngreen;" | <div id="PCM_DOUT">PCM_DOUT</div> || PCM data out || PCM Audio || [[#GPIO21|GPIO21]] '''[[#GPIO31|GPIO31]]''' | + | | style="background-color:lawngreen;" | <div id="PCM_DOUT">PCM_DOUT</div> || PCM data out || PCM Audio || [[#GPIO21|GPIO21]] '''[[#GPIO31|GPIO31]]''' || pcm |
|- | |- | ||
− | | style="background-color:royalblue;color:white;" | <div id="SAx">SAx</div> || Secondary mem Address bus || Secondary Memory Interface || many | + | | style="background-color:royalblue;color:white;" | <div id="SAx">SAx</div> || Secondary mem Address bus || Secondary Memory Interface || many || smi |
|- | |- | ||
− | | style="background-color:royalblue;color:white;" | <div id="SOE_N">SOE_N / SE</div> || Secondary mem. Controls || Secondary Memory Interface || [[#GPIO6|GPIO6]] <del>[[#GPIO34|GPIO34]]</del> | + | | style="background-color:royalblue;color:white;" | <div id="SOE_N">SOE_N / SE</div> || Secondary mem. Controls || Secondary Memory Interface || [[#GPIO6|GPIO6]] <del>[[#GPIO34|GPIO34]]</del> || smi |
|- | |- | ||
− | | style="background-color:royalblue;color:white;" | <div id="SWE_N">SWE_N / SRW_N</div> || Secondary mem. Controls || Secondary Memory Interface || '''[[#GPIO7|GPIO7]]''' <del>[[#GPIO35|GPIO35]]</del> | + | | style="background-color:royalblue;color:white;" | <div id="SWE_N">SWE_N / SRW_N</div> || Secondary mem. Controls || Secondary Memory Interface || '''[[#GPIO7|GPIO7]]''' <del>[[#GPIO35|GPIO35]]</del> || smi |
|- | |- | ||
− | | style="background-color:royalblue;color:white;" | <div id="SDx">SDx</div> || Secondary mem. data bus || Secondary Memory Interface || many | + | | style="background-color:royalblue;color:white;" | <div id="SDx">SDx</div> || Secondary mem. data bus || Secondary Memory Interface || many || smi |
|- | |- | ||
− | | style="background-color:maroon;color:white;" | <div id="MOSI">BSCSL SDA / MOSI</div> || BSC slave Data, SPI slave MOSI || BSC/SPI slave || '''[[#GPIO18|GPIO18]]''' | + | | style="background-color:maroon;color:white;" | <div id="MOSI">BSCSL SDA / MOSI</div> || BSC slave Data, SPI slave MOSI || BSC/SPI slave || '''[[#GPIO18|GPIO18]]''' || spi_slave |
|- | |- | ||
− | | style="background-color:maroon;color:white;" | <div id="SCLK">BSCSL SCL / SCLK</div> || BSC slave Clock, SPI slave clock || BSC/SPI slave || <del>[[#GPIO19|GPIO19]]</del> | + | | style="background-color:maroon;color:white;" | <div id="SCLK">BSCSL SCL / SCLK</div> || BSC slave Clock, SPI slave clock || BSC/SPI slave || <del>[[#GPIO19|GPIO19]]</del> || spi_slave |
|- | |- | ||
− | | style="background-color:maroon;color:white;" | <div id="MISO">BSCSL - / MISO</div> || BSC <not used>, SPI MISO || BSC/SPI slave || <del>[[#GPIO20|GPIO20]]</del> | + | | style="background-color:maroon;color:white;" | <div id="MISO">BSCSL - / MISO</div> || BSC <not used>, SPI MISO || BSC/SPI slave || <del>[[#GPIO20|GPIO20]]</del> || spi_slave |
|- | |- | ||
− | | style="background-color:maroon;color:white;" | <div id="CE_N">BSCSL - / CE_N</div> || BSC <not used>, SPI CSn || BSC/SPI slave || [[#GPIO21|GPIO21]] | + | | style="background-color:maroon;color:white;" | <div id="CE_N">BSCSL - / CE_N</div> || BSC <not used>, SPI CSn || BSC/SPI slave || [[#GPIO21|GPIO21]] || spi_slave |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI1_CEx_N">SPI1_CEx_N</div> || SPI1 Chip select 0-2 || Auxiliary I/O || SPI1_CE0_N: '''[[#GPIO18|GPIO18]]'''<br> SPI1_CE1_N: '''[[#GPIO17|GPIO17]]'''<br> SPI1_CE2_N: [[#GPIO16|GPIO16]] | + | | style="background-color:plum;" | <div id="SPI1_CEx_N">SPI1_CEx_N</div> || SPI1 Chip select 0-2 || Auxiliary I/O || SPI1_CE0_N: '''[[#GPIO18|GPIO18]]'''<br> SPI1_CE1_N: '''[[#GPIO17|GPIO17]]'''<br> SPI1_CE2_N: [[#GPIO16|GPIO16]] || spi1 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI1_MISO">SPI1_MISO</div> || SPI1 MISO || Auxiliary I/O || <del>[[#GPIO19|GPIO19]]</del> | + | | style="background-color:plum;" | <div id="SPI1_MISO">SPI1_MISO</div> || SPI1 MISO || Auxiliary I/O || <del>[[#GPIO19|GPIO19]]</del> || spi1 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI1_MOSI">SPI1_MOSI</div> || SPI1 MOSI || Auxiliary I/O || <del>[[#GPIO20|GPIO20]]</del> | + | | style="background-color:plum;" | <div id="SPI1_MOSI">SPI1_MOSI</div> || SPI1 MOSI || Auxiliary I/O || <del>[[#GPIO20|GPIO20]]</del> || spi1 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI1_SCLK">SPI1_SCLK</div> || SPI1 Serial clock || Auxiliary I/O || [[#GPIO21|GPIO21]] | + | | style="background-color:plum;" | <div id="SPI1_SCLK">SPI1_SCLK</div> || SPI1 Serial clock || Auxiliary I/O || [[#GPIO21|GPIO21]] || spi1 |
|- | |- | ||
− | | style="background-color:red;" | <div id="TXD1">TXD1</div> || UART 1 Transmit Data || Auxiliary I/O || '''[[#GPIO14|GPIO14]]''' <del>[[#GPIO32|GPIO32]]</del> [[#GPIO40|GPIO40]] | + | | style="background-color:red;" | <div id="TXD1">TXD1</div> || UART 1 Transmit Data || Auxiliary I/O || '''[[#GPIO14|GPIO14]]''' <del>[[#GPIO32|GPIO32]]</del> [[#GPIO40|GPIO40]] || uart1 |
|- | |- | ||
− | | style="background-color:red;" | <div id="RXD1">RXD1</div> || UART 1 Receive Data || Auxiliary I/O || '''[[#GPIO15|GPIO15]]''' <del>[[#GPIO33|GPIO33]]</del> <del>[[#GPIO41|GPIO41]]</del> | + | | style="background-color:red;" | <div id="RXD1">RXD1</div> || UART 1 Receive Data || Auxiliary I/O || '''[[#GPIO15|GPIO15]]''' <del>[[#GPIO33|GPIO33]]</del> <del>[[#GPIO41|GPIO41]]</del> || uart1 |
|- | |- | ||
− | | style="background-color:red;" | <div id="CTS1">CTS1</div> || UART 1 Clear To Send || Auxiliary I/O || [[#GPIO16|GPIO16]] '''[[#GPIO30|GPIO30]]''' <del>[[#GPIO43|GPIO43]]</del> | + | | style="background-color:red;" | <div id="CTS1">CTS1</div> || UART 1 Clear To Send || Auxiliary I/O || [[#GPIO16|GPIO16]] '''[[#GPIO30|GPIO30]]''' <del>[[#GPIO43|GPIO43]]</del> || uart1 |
|- | |- | ||
− | | style="background-color:red;" | <div id="RTS1">RTS1</div> || UART 1 Request To Send || Auxiliary I/O || '''[[#GPIO17|GPIO17]]''' '''[[#GPIO31|GPIO31]]''' <del>[[#GPIO42|GPIO42]]</del> | + | | style="background-color:red;" | <div id="RTS1">RTS1</div> || UART 1 Request To Send || Auxiliary I/O || '''[[#GPIO17|GPIO17]]''' '''[[#GPIO31|GPIO31]]''' <del>[[#GPIO42|GPIO42]]</del> || uart1 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI2_CEx_N">SPI2_CEx_N</div> || SPI2 Chip select 0-2 || Auxiliary I/O || SPI2_CE0_N: <del>[[#GPIO43|GPIO43]]</del><br> SPI2_CE1_N: <del>[[#GPIO44|GPIO44]]</del><br> SPI2_CE2_N: [[#GPIO45|GPIO45]] | + | | style="background-color:plum;" | <div id="SPI2_CEx_N">SPI2_CEx_N</div> || SPI2 Chip select 0-2 || Auxiliary I/O || SPI2_CE0_N: <del>[[#GPIO43|GPIO43]]</del><br> SPI2_CE1_N: <del>[[#GPIO44|GPIO44]]</del><br> SPI2_CE2_N: [[#GPIO45|GPIO45]] || spi2 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI2_MISO">SPI2_MISO</div> || SPI2 MISO || Auxiliary I/O || [[#GPIO40|GPIO40]] | + | | style="background-color:plum;" | <div id="SPI2_MISO">SPI2_MISO</div> || SPI2 MISO || Auxiliary I/O || [[#GPIO40|GPIO40]] || spi2 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI2_MOSI">SPI2_MOSI</div> || SPI2 MOSI || Auxiliary I/O || <del>[[#GPIO41|GPIO41]]</del> | + | | style="background-color:plum;" | <div id="SPI2_MOSI">SPI2_MOSI</div> || SPI2 MOSI || Auxiliary I/O || <del>[[#GPIO41|GPIO41]]</del> || spi2 |
|- | |- | ||
− | | style="background-color:plum;" | <div id="SPI2_SCLK">SPI2_SCLK</div> || SPI2 Serial clock || Auxiliary I/O || <del>[[#GPIO42|GPIO42]]</del> | + | | style="background-color:plum;" | <div id="SPI2_SCLK">SPI2_SCLK</div> || SPI2 Serial clock || Auxiliary I/O || <del>[[#GPIO42|GPIO42]]</del> || spi2 |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_TRST">ARM_TRST</div> || ARM JTAG reset || '''<TBD>''' || '''[[#GPIO22|GPIO22]]''' | + | | style="background-color:silver;" | <div id="ARM_TRST">ARM_TRST</div> || ARM JTAG reset || '''<TBD>''' || '''[[#GPIO22|GPIO22]]''' || arm_jtag |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_RTCK">ARM_RTCK</div> || ARM JTAG return clock || '''<TBD>''' || [[#GPIO6|GPIO6]] '''[[#GPIO23|GPIO23]]''' | + | | style="background-color:silver;" | <div id="ARM_RTCK">ARM_RTCK</div> || ARM JTAG return clock || '''<TBD>''' || [[#GPIO6|GPIO6]] '''[[#GPIO23|GPIO23]]''' || arm_jtag |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_TDO">ARM_TDO</div> || ARM JTAG Data out || '''<TBD>''' || '''[[#GPIO4|GPIO4]]''' '''[[#GPIO24|GPIO24]]''' | + | | style="background-color:silver;" | <div id="ARM_TDO">ARM_TDO</div> || ARM JTAG Data out || '''<TBD>''' || '''[[#GPIO4|GPIO4]]''' '''[[#GPIO24|GPIO24]]''' || arm_jtag |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_TCK">ARM_TCK</div> || ARM JTAG Clock || '''<TBD>''' || <del>[[#GPIO13|GPIO13]]</del> '''[[#GPIO25|GPIO25]]''' | + | | style="background-color:silver;" | <div id="ARM_TCK">ARM_TCK</div> || ARM JTAG Clock || '''<TBD>''' || <del>[[#GPIO13|GPIO13]]</del> '''[[#GPIO25|GPIO25]]''' || arm_jtag |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_TDI">ARM_TDI</div> || ARM JTAG Data in || '''<TBD>''' || '''[[#GPIO4|GPIO4]]''' <del>[[#GPIO26|GPIO26]]</del> | + | | style="background-color:silver;" | <div id="ARM_TDI">ARM_TDI</div> || ARM JTAG Data in || '''<TBD>''' || '''[[#GPIO4|GPIO4]]''' <del>[[#GPIO26|GPIO26]]</del> || arm_jtag |
|- | |- | ||
− | | style="background-color:silver;" | <div id="ARM_TMS">ARM_TMS</div> || ARM JTAG Mode select || '''<TBD>''' || <del>[[#GPIO12|GPIO12]]</del> '''[[#GPIO27|GPIO27]]''' | + | | style="background-color:silver;" | <div id="ARM_TMS">ARM_TMS</div> || ARM JTAG Mode select || '''<TBD>''' || <del>[[#GPIO12|GPIO12]]</del> '''[[#GPIO27|GPIO27]]''' || arm_jtag |
|- | |- | ||
− | ! style="background-color:powderblue;" | Name !! style="background-color:powderblue;" | Function !! style="background-color:powderblue;" | Datasheet section !! style="background-color:powderblue;" | GPIOs | + | ! style="background-color:powderblue;" | Name !! style="background-color:powderblue;" | Function !! style="background-color:powderblue;" | Datasheet section !! style="background-color:powderblue;" | GPIOs !! style="background-color:powderblue;" | DeviceTree 'function' |
|} | |} |
Revision as of 06:02, 7 August 2014
Back to RPi_Low-level_peripherals
BCM2835 GPIO functions
This is a wiki-fied copy of Table 6-31 from the BCM2835 datasheet including any relevant errata, with a few extra columns, all nicely hyperlinked together and cross-referenced so that clicking on a function name will automatically take you to the description of that function.
Any GPIOs that aren't connected on the RaspberryPi Model B revision 2.0 circuit board are crossed out, and the GPIOs available on the GPIO Connector (P1) or P5 are in bold, with their default function (according to the schematics) in bold italics.
(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.
GPIO Pins Alternative Function Assignment
Bank | Pull | ALT0 | ALT1 | ALT2 | ALT3 | ALT4 | ALT5 | RPi Rev2.0 signal name / Rev1.0 if different | RPi Rev2.0 connection / Rev1.0 if different | RPi B+ connection | Compute Module connection | CM IO Board connection | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GPIO0 |
0 | High | SDA0 | SA5 | <reserved> | SDA0 | S5-14 / P1-03 | J8-27 (ID_SD) | J1-03 | J5-01 | |||
GPIO1 |
0 | High | SCL0 | SA4 | <reserved> | SCL0 | S5-13 / P1-05 | J8-28 (ID_SC) | J1-05 | J5-03 | |||
GPIO2 |
0 | High | SDA1 | SA3 | <reserved> | SDA1 | P1-03 / S5-14 | J8-03 | J1-09 | J5-05 | |||
GPIO3 |
0 | High | SCL1 | SA2 | <reserved> | SCL1 | P1-05 / S5-13 | J8-05 | J1-11 | J5-07 | |||
GPIO4 |
0 | High | GPCLK0 | SA1 | <reserved> | ARM_TDI | GPIO_GCLK | P1-07 | J8-07 | J1-15 | J5-09 | ||
GPIO5 |
0 | High | GPCLK1 | SA0 | <reserved> | ARM_TDO | CAM_CLK | S5-12 | J8-29 | J1-17 | J5-11 | ||
GPIO6 |
0 | High | GPCLK2 | SOE_N / SE | <reserved> | ARM_RTCK | LAN_RUN | IC3-12 | J8-31 | J1-21 | J5-13 | ||
GPIO7 |
0 | High | SPI0_CE1_N | SWE_N / SRW_N | <reserved> | SPI_CE1_N | P1-26 | J8-26 | J1-23 | J5-15 | |||
GPIO8 |
0 | High | SPI0_CE0_N | SD0 | <reserved> | SPI_CE0_N | P1-24 | J8-24 | J1-27 | J5-17 | |||
GPIO9 |
0 | Low | SPI0_MISO | SD1 | <reserved> | SPI_MISO | P1-21 | J8-21 | J1-29 | J5-19 | |||
GPIO10 |
0 | Low | SPI0_MOSI | SD2 | <reserved> | SPI_MOSI | P1-19 | J8-19 | J1-33 | J5-21 | |||
GPIO11 |
0 | Low | SPI0_SCLK | SD3 | <reserved> | SPI_SCLK | P1-23 | J8-23 | J1-35 | J5-23 | |||
0 | Low | PWM0 | SD4 | <reserved> | ARM_TMS | nc | J8-32 | J1-45 | J5-25 | ||||
0 | Low | PWM1 | SD5 | <reserved> | ARM_TCK | nc | J8-33 | J1-47 | J5-27 | ||||
GPIO14 |
0 | Low | TXD0 | SD6 | <reserved> | TXD1 | TXD0 | P1-08 | J8-08 | J1-51 | J5-29 | ||
GPIO15 |
0 | Low | RXD0 | SD7 | <reserved> | RXD1 | RXD0 | P1-10 | J8-10 | J1-53 | J5-31 | ||
GPIO16 |
0 | Low | <reserved> | SD8 | <reserved> | CTS0 | SPI1_CE2_N | CTS1 | STATUS_LED_N | D5 (ACT LED) / D5 (OK LED) | J8-36 | J1-57 | J5-33 |
GPIO17 |
0 | Low | <reserved> | SD9 | <reserved> | RTS0 | SPI1_CE1_N | RTS1 | GPIO_GEN0 | P1-11 | J8-11 | J1-59 | J5-35 |
GPIO18 |
0 | Low | PCM_CLK | SD10 | <reserved> | BSCSL SDA / MOSI | SPI1_CE0_N | PWM0 | GPIO_GEN1 | P1-12 | J8-12 | J1-63 | J5-37 |
0 | Low | PCM_FS | SD11 | <reserved> | BSCSL SCL / SCLK | SPI1_MISO | PWM1 | nc | J8-35 | J1-65 | J5-39 | ||
0 | Low | PCM_DIN | SD12 | <reserved> | BSCSL / MISO | SPI1_MOSI | GPCLK0 | nc | J8-38 | J1-69 | J5-41 | ||
GPIO21 |
0 | Low | PCM_DOUT | SD13 | <reserved> | BSCSL / CE_N | SPI1_SCLK | GPCLK1 | CAM_GPIO / GPIO_GEN2 | S5-11 / P1-13 | J8-40 | J1-71 | J5-43 |
GPIO22 |
0 | Low | <reserved> | SD14 | <reserved> | SD1_CLK | ARM_TRST | GPIO_GEN3 | P1-15 | J8-15 | J1-75 | J5-45 | |
GPIO23 |
0 | Low | <reserved> | SD15 | <reserved> | SD1_CMD | ARM_RTCK | GPIO_GEN4 | P1-16 | J8-16 | J1-77 | J5-47 | |
GPIO24 |
0 | Low | <reserved> | SD16 | <reserved> | SD1_DAT0 | ARM_TDO | GPIO_GEN5 | P1-18 | J8-18 | J1-81 | J5-49 | |
GPIO25 |
0 | Low | <reserved> | SD17 | <reserved> | SD1_DAT1 | ARM_TCK | GPIO_GEN6 | P1-22 | J8-22 | J1-83 | J5-51 | |
0 | Low | <reserved> | <reserved> | <reserved> | SD1_DAT2 | ARM_TDI | nc | J8-37 | J1-87 | J5-53 | |||
GPIO27 |
0 | Low | <reserved> | <reserved> | <reserved> | SD1_DAT3 | ARM_TMS | GPIO_GEN2 / CAM_GPIO | P1-13 / S5-11 | J8-13 | J1-89 | J5-55 | |
GPIO28 |
1 | - | SDA0 | SA5 | PCM_CLK | <reserved> | GPIO_GEN7 / CONFIG0 | P5-03 / R10 or R8 | J1-28 | J6-01 | |||
GPIO29 |
1 | - | SCL0 | SA4 | PCM_FS | <reserved> | GPIO_GEN8 / CONFIG1 | P5-04 / R9 or R7 | J1-30 | J6-03 | |||
GPIO30 |
1 | Low | <reserved> | SA3 | PCM_DIN | CTS0 | CTS1 | GPIO_GEN9 / CONFIG2 | P5-05 / R6 or R4 | J1-34 | J6-05 | ||
GPIO31 |
1 | Low | <reserved> | SA2 | PCM_DOUT | RTS0 | RTS1 | GPIO_GEN10 / CONFIG3 | P5-06 / R5 or R3 | J1-36 | J6-07 | ||
1 | Low | GPCLK0 | SA1 | <reserved> | TXD0 | TXD1 | nc | J1-46 | J6-09 | ||||
1 | Low | <reserved> | SA0 | <reserved> | RXD0 | RXD1 | nc | J1-48 | J6-11 | ||||
1 | High | GPCLK0 | SOE_N / SE | <reserved> | <reserved> | nc | J1-52 | J6-13 | |||||
1 | High | SPI0_CE1_N | SWE_N / SRW_N | <reserved> | nc | J1-54 | J6-15 | ||||||
1 | High | SPI0_CE0_N | SD0 | TXD0 | <reserved> | nc | J1-58 | J6-17 | |||||
1 | Low | SPI0_MISO | SD1 | RXD0 | <reserved> | nc | J1-60 | J6-19 | |||||
1 | Low | SPI0_MOSI | SD2 | RTS0 | <reserved> | nc | J1-64 | J6-21 | |||||
1 | Low | SPI0_SCLK | SD3 | CTS0 | <reserved> | nc | J1-66 | J6-23 | |||||
GPIO40 |
1 | Low | PWM0 | SD4 | <reserved> | SPI2_MISO | TXD1 | PWM0_OUT | R21 | J1-70 | J6-25 | ||
1 | Low | PWM1 | SD5 | <reserved> | <reserved> | SPI2_MOSI | RXD1 | nc | J1-72 | J6-27 | |||
1 | Low | GPCLK1 | SD6 | <reserved> | <reserved> | SPI2_SCLK | RTS1 | nc | J1-76 | J6-29 | |||
1 | Low | GPCLK2 | SD7 | <reserved> | <reserved> | SPI2_CE0_N | CTS1 | nc | J1-78 | J6-31 | |||
1 | - | GPCLK1 | SDA0 | SDA1 | <reserved> | SPI2_CE1_N | nc | J1-82 | J6-33 | ||||
GPIO45 |
1 | - | PWM1 | SCL0 | SCL1 | <reserved> | SPI2_CE2_N | PWM1_OUT | R27 | J1-84 | J6-35 | ||
GPIO46 |
2 | High | <internal> | HDMI_HPD_P | IC1-6 | J1-88 | Q4 | ||||||
GPIO47 |
2 | High | <internal> | SD_CARD_DET | S8-10 | J1-90 | Q2 | ||||||
GPIO48 |
2 | High | <internal> | SD_CLK_R | R48 | R8 | n/a | ||||||
GPIO49 |
2 | High | <internal> | SD_CMD_R | R47 | U3-1 | n/a | ||||||
GPIO50 |
2 | High | <internal> | SD_DATA0_R | R49 | U2-A3 | n/a | ||||||
GPIO51 |
2 | High | <internal> | SD_DATA1_R | R50 | U2-A4 | n/a | ||||||
GPIO52 |
2 | High | <internal> | SD_DATA2_R | R45 | U2-A5 | n/a | ||||||
GPIO53 |
2 | High | <internal> | SD_DATA3_R | R46 | U2-B2 | n/a | ||||||
Bank | Pull | ALT0 | ALT1 | ALT2 | ALT3 | ALT4 | ALT5 | RPi Rev2.0 signal name / Rev1.0 if different | RPi Rev2.0 connection / Rev1.0 if different | RPi B+ connection | Compute Module connection | CM IO Board connection |
As in the table above, the GPIOs available on the GPIO Connector (P1) or P5 are in bold, with their default function (according to the schematics) in bold italics.
Special function legend:
Name | Function | Datasheet section | GPIOs | DeviceTree 'function' |
---|---|---|---|---|
SDA0 |
BSC master 0 data line | BSC | GPIO0 GPIO28 |
i2c0 |
SCL0 |
BSC master 0 clock line | BSC | GPIO1 GPIO29 GPIO45 | i2c0 |
SDA1 |
BSC master 1 data line | BSC | GPIO2 |
i2c1 |
SCL1 |
BSC master 1 clock line | BSC | GPIO3 GPIO45 | i2c1 |
GPCLK0 |
General purpose Clock 0 | <TBD> | GPIO4 |
gp_clk |
GPCLK1 |
General purpose Clock 1 | <TBD> | GPIO5 GPIO21 |
gp_clk |
GPCLK2 |
General purpose Clock 2 | <TBD> | GPIO6 |
gp_clk |
SPI0_CE1_N |
SPI0 Chip select 1 | SPI | GPIO7 |
spi |
SPI0_CE0_N |
SPI0 Chip select 0 | SPI | GPIO8 |
spi |
SPI0_MISO |
SPI0 MISO | SPI | GPIO9 |
spi |
SPI0_MOSI |
SPI0 MOSI | SPI | GPIO10 |
spi |
SPI0_SCLK |
SPI0 Serial clock | SPI | GPIO11 |
spi |
PWMx |
Pulse Width Modulator 0..1 | Pulse Width Modulator | PWM0: PWM1: |
pwm |
TXD0 |
UART 0 Transmit Data | UART | GPIO14 |
uart0 |
RXD0 |
UART 0 Receive Data | UART | GPIO15 |
uart0 |
CTS0 |
UART 0 Clear To Send | UART | GPIO16 GPIO30 |
uart0 |
RTS0 |
UART 0 Request To Send | UART | GPIO17 GPIO31 |
uart0 |
PCM_CLK |
PCM clock | PCM Audio | GPIO18 GPIO28 | pcm |
PCM_FS |
PCM Frame Sync | PCM Audio | pcm | |
PCM_DIN |
PCM Data in | PCM Audio | pcm | |
PCM_DOUT |
PCM data out | PCM Audio | GPIO21 GPIO31 | pcm |
SAx |
Secondary mem Address bus | Secondary Memory Interface | many | smi |
SOE_N / SE |
Secondary mem. Controls | Secondary Memory Interface | GPIO6 |
smi |
SWE_N / SRW_N |
Secondary mem. Controls | Secondary Memory Interface | GPIO7 |
smi |
SDx |
Secondary mem. data bus | Secondary Memory Interface | many | smi |
BSCSL SDA / MOSI |
BSC slave Data, SPI slave MOSI | BSC/SPI slave | GPIO18 | spi_slave |
BSCSL SCL / SCLK |
BSC slave Clock, SPI slave clock | BSC/SPI slave | spi_slave | |
BSCSL - / MISO |
BSC <not used>, SPI MISO | BSC/SPI slave | spi_slave | |
BSCSL - / CE_N |
BSC <not used>, SPI CSn | BSC/SPI slave | GPIO21 | spi_slave |
SPI1_CEx_N |
SPI1 Chip select 0-2 | Auxiliary I/O | SPI1_CE0_N: GPIO18 SPI1_CE1_N: GPIO17 SPI1_CE2_N: GPIO16 |
spi1 |
SPI1_MISO |
SPI1 MISO | Auxiliary I/O | spi1 | |
SPI1_MOSI |
SPI1 MOSI | Auxiliary I/O | spi1 | |
SPI1_SCLK |
SPI1 Serial clock | Auxiliary I/O | GPIO21 | spi1 |
TXD1 |
UART 1 Transmit Data | Auxiliary I/O | GPIO14 |
uart1 |
RXD1 |
UART 1 Receive Data | Auxiliary I/O | GPIO15 |
uart1 |
CTS1 |
UART 1 Clear To Send | Auxiliary I/O | GPIO16 GPIO30 |
uart1 |
RTS1 |
UART 1 Request To Send | Auxiliary I/O | GPIO17 GPIO31 |
uart1 |
SPI2_CEx_N |
SPI2 Chip select 0-2 | Auxiliary I/O | SPI2_CE0_N: SPI2_CE1_N: SPI2_CE2_N: GPIO45 |
spi2 |
SPI2_MISO |
SPI2 MISO | Auxiliary I/O | GPIO40 | spi2 |
SPI2_MOSI |
SPI2 MOSI | Auxiliary I/O | spi2 | |
SPI2_SCLK |
SPI2 Serial clock | Auxiliary I/O | spi2 | |
ARM_TRST |
ARM JTAG reset | <TBD> | GPIO22 | arm_jtag |
ARM_RTCK |
ARM JTAG return clock | <TBD> | GPIO6 GPIO23 | arm_jtag |
ARM_TDO |
ARM JTAG Data out | <TBD> | GPIO4 GPIO24 | arm_jtag |
ARM_TCK |
ARM JTAG Clock | <TBD> | arm_jtag | |
ARM_TDI |
ARM JTAG Data in | <TBD> | GPIO4 |
arm_jtag |
ARM_TMS |
ARM JTAG Mode select | <TBD> | arm_jtag | |
Name | Function | Datasheet section | GPIOs | DeviceTree 'function' |