"Forbidden" pins on P8 and P9


I’m doing some low-level bare-metal programming with the BBB and “abuse” the pins on P8 and P9 for different things. Thus I multiplex these pins to the functions I need (mainly GPIOs).

As far as I understood it some of these pins are used for SD-card reader and eMMC and therefore should not be used and multiplexed to something different.

In case my understanding is correct: is there an overview which pins are affected by SD-Card and eMMC? LCD/HDMI is not used by my application and therefore can be overwritten but CD and MMC should work in every case.


There are no pins on the expansion header that are connected to the SD card connector. LCD and eMMC, yes. The information is found in the System Reference Manual for the board.




I already know the pinout-listing of the BeagleBone Black but this
does not seem to solve my problem. Depending on the choosen
pin-mux-mode the eMMC signals can appear on different pins on P8/P9.
So I need to know the real wiring, means which pins on P8/P9 are
electrically connected to CPU and eMMC. Unfortunately I do not
understand the wiring diagram good enough to find the answer there. So
I hoped there is a pinout-listing available somewere that contains the
information which of the pins are also wired to eMMC...

OK, found it: page 11 of BBB_SCH.pdf shows the used signals on P8
header, corresponding MUX-modes can be found in pinout-overview.

I'm looking for the same answer, and actually I'm studying this page on the subject:


I understand (and maybe can be wrong) that it's possible to disable the virtual cape manager referring to HDMI (video), and gain access to P8-27..P8-46 pins, but since we are using the eMMC, we can't disable it's viertual cape manager, so the pins P8-3 .. p8-6; p8-20 .. p8-25 are reserved.

This it's true when you use the Angstrom linux delivered with the boards, don't know what happens if you install something else in your system.


There are a pages in the SRM that lists those pins.

Table 14 page 94 is the eMMC pins.
Table 15 page 95 is the LCD pins.


So what happens if a cape wants to use the GPIOs that are also HDMI signals?
In my case, I am toying with a cape that uses 53 GPIOs… I had hoped that it’s eeprom could indicate that I’m using P8_26 through P8_46 (among others) and I don’t intend to have any HDMI going on.
Is that not possible?

I mean, if it’s the virtual cape manager that makes capes just “work” by reading their eeprom, and you’re saying that the Virt Cape mgr needs to be disabled (to also disable HDMI)… then does that mean it’s pointless to have an eeprom on my cape?

Disable the HDMI interface. http://www.elinux.org/Beagleboard:BeagleBone_Black_FAQ


You don't disable the cape manager, you just tell it not to
automatically load the HDMI interface. Note that you have to disable
*TWO* virtual capes, the normal HDMI with audio, and the HDMIN without
audio. This will leave the HDMI/LCD pins available for your cape, which
will be automatically supported assuming you have your eeprom contents
and kernel device tree files all sorted out.

Take care you don’t change one of the SYSBOOT pin’s value by your own pullup/pulldown. This happend on my cape, so that the automatic clock detection does not work and we’re getting wrong system time.
A kernel patch solves that, but it may become worse if touching others.

Günter (dl4mea)

And, you shouldn’t rely on the pull up/down pins that are there now since they could change with the next beaglebone (as they did between the black and white). You can make them high impedance at boot by using something like a bilateral switch enabled with 3V3_EXP.

Thats interesting...what are the SYSBOOT pins exactly?

The tell the internal boot ROM where to find the code to load. It is described in the System Reference Manual for the board. Being set wrong due to interference with the boot pins, the board will never run.


OK, just to verify that: when I use these pins for something different
and set an input signal to them only when SYS_RESETn is HIGH,
everything is fine and the board will boot!?

In my experimentations, you can use the SYSBOOT muxed pins without problem as long as you just let them float during powerup

The SYSBOOT pins are sampled on the rising edge of the POR signal. Your SW after the fact has no affect. Your HW before the fact, does.