BeagleBone Black and the reset circuit for the cape

102 views
Skip to first unread message

Dominik Fretz

unread,
Aug 14, 2013, 5:26:33 AM8/14/13
to ope...@googlegroups.com
Hi there,

Today in the dev call it was asked (I think by Sam) about the Pin 25 on the expansion header P8 that we use for the reset on the current cape.

It turns out that P8/Pin 25, that we use as GPIO is one of the pins used for communication between the BBB processor and the eMMC (onboard storage).

Section 8.1.2  eMMC Pins  of the BBB System Reference Manual point that out.
In the manual it says clearly, if you want to use those pins, you cannot use the eMMC and need to boot of the SD card.
It says as well that one needs to put the eMMC into 'reset' BEFORE the GPIO is accessed.

For us it means, if we are connecting the current cape to a BBB, we need to use the SD card and we need to find out how to put the eMMC into reset.

@David + @Eric: we should discuss the reset for the new cape ASAP!

Thanks for bringing this up!

Regards,
Dominik



--
Twitter: @codewithpassion

Len Shelton

unread,
Aug 16, 2013, 10:59:20 AM8/16/13
to ope...@googlegroups.com
Just to keep this discussion going, here is the excerpt from the SRM:

On power up, the eMMC is NOT reset. If you hold the Boot button down, this will force a boot from the microSD. This is not convenient when a cape is plugged into the board. There are two solutions to this issue:
1. Wipe the eMMC clean. This will cause the board to default to microSD boot. If you want to use the eMMC later, it can be reprogrammed.
2. You can also tie LCD_DATA2 low on the cape during boot. This will be the same as if you were holding the boot button. However, in order to prevent unforeseen issues, you need to gate this signal with RESET, when the data is sampled. After reset goes high, the signal should be removed from the pin.
BEFORE the SW reinitializes the pins, it MUST put the eMMC in reset. This is done by taking eMMC_RSTn (GPIO1_20) LOW after the eMMC has been put into a mode to enable the reset line. This pin does not connect to the expansion header and is accessible only on the board.
DO NOT automatically drive any conflicting pins until the SW enables it. This puts the SW in control to ensure that the eMMC is in reset before the signals are used from the cape. You can use a GPIO pin for this. No, we will not designate a pin for this function. It will be determined on a cape by cape basis by the designer of the respective cape.


And from the wiki:

Onboard eMMC

The onboard eMMC uses the MMC1 signals. They are also connected to the expansion header.
The expectation is that in order to use these signals, the eMMC device on the BeagleBone Black will need to be disabled by activating the reset line to the eMMC device.
It is not clear that this will work as you have to write to the eMMC first and tell it to enable the reset. At this point in time, it is not totally clear that the reset line will do the trick. Further investigation is ongoing. This will also require booting from the uSD port.
Best option is to not use the MMC1_CLK and MMC1_CMD signals at all and tie them low.
Do not use these signals for anything else will trying to use the other eMMC1 lines on the expansion header.


So it looks like they are not even sure how to do this.

Len Shelton

unread,
Aug 16, 2013, 11:00:58 AM8/16/13
to ope...@googlegroups.com
I'd hate to see us NOT use eMMC because it is 2 gigs of space that is twice as fast as the MicroSD card.
Reply all
Reply to author
Forward
0 new messages