Sorry, I did not realise you were asking about the specific Alt-functions of the GPIO's on P5, and thus you simply triggered my "teaching mode".
No each SoC GPIO pin has its own dedicated set of alternate functions, all pins can do generic I/O, but not all can function as I2C port or as UART, only some specific pins have those specific alt-functions.
AFAIK the P5 pins specifically are suitable for an I2S interface. I think the original front page article gave some details.
lets see;
To utilise GPIO signals released by the removal of the version identification links, a new connector site P5 has been added. This carries the four GPIO signals [BCM2835/GPIO28 – BCM2835/GPIO31] named GPIO7 – GPIO10 respectively, along with +5V0, +3V3 and two 0V. Currently this connector is not populated.
This GPIO allocation provides access to one of:
SDA0, SCL0 (Operating independently of P1 SDA1, SCL1); or
PCM_CLK, PCM_FS, PCM_DIN, PCM_DOUT or I2S; or
Four GPIO signals.
This connector is intended to be a suitable attachment point for third-party clock and audio codec boards, and is pinned to be mounted (ideally) on the underside due to connector clash. Pin 1 is marked with the square pad (top left – looking from the top).
The document "BCM2835-ARM-Peripherals 06-53-23.pdf" gives details about the Alt functions of GPIO28 to 31 .
Code: Select all
GPIO# ALT0 ALT1 ALT2 ALT3 ALT5
28 SDA0 SA5 PCM_CLK <reserved>
29 SLC0 SA4 PCM_FS <reserved>
30 <reserved> SA3 PCM_DIN CTS0 CTS1
31 <reserved> SA2 PCM_DOUT RTS0 RTS1
Note that the ALT1 functions are useless (part of a databus interface, with SA2 being the third address line etc), and none of the ports has an ALT4 function.
So generally speaking, using ALT0 for ports 28 & 29 will give you I2C port #0 and simultaneously you can have hardware handshake lines for either UART0 or UART1 by using ALT5 for ports 30 &31. Note that because only complete (RXD & TXD) signals for only one of the two UARTs available are routed out, you can only have one complete serial port (but now one including hardware handshaking). One way to use the two UARTS available simultaneously through would be by having the transmitter running at a UART with different baud rate than the other UART for the receiver (known as "split speed", in the past mainly used with V.23 modems).
By using all ports with ALT2 settings you can have a complete I2S interface with clock, frame clock, data-in and data-out.
in fact the wiki should be updated to give this information also, in a table like that for P1.