RPi BCM2835 GPIOs

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 couple of 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 1.0 circuit board are crossed out, and the GPIOs available on the GPIO Connector (P1) 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

This next paragraph (which I've crossed out) only applies to Rev.1 boards, and even then these GPIOs were apparently never actually used for board identification! Board revision coding GPIO 28-31 are brought out, with each pin attached to a voltage divider. These four GPIO's are used to auto detect the revision version, as is indicated in the schematic (sheet to, location 7D). With 10K resistors either mounted or unmounted the pins are either pulled low or high, giving a four bit condition that can be read, with currently only two of the sixteen possible combinations used, one (code '0') for the model A and the other (code '1') for the model B, with codes '2' to 'F' reserved for future use.

As in the table above, the GPIOs available on the GPIO Connector (P1) are in bold, with their default function (according to the schematics) in bold italics.

Special function legend: