GSOC 2015: Raspberry Pi Low Level Peripherals and SD Card
André Marques
andre.lousa.marques at gmail.com
Wed Mar 25 08:49:09 UTC 2015
Hello everyone,
My GSoC proposal entitled "Raspberry Pi Low Level Peripherals and SD
Card" can be found for review at:
https://docs.google.com/document/d/11K0qU3OsbSMhNYkTTWt4kitAbd6uuJBcMfA_07Lg6j8
One issue I would like to discuss here is related to the SD card
support, which as exposed on the proposal the GPIOs to which the SD card
is connected internally do not have SPI hardware capabilities, meaning
that to access the card via SPI mode it would have to be bit-banged on
those GPIOs (a problem on performance). This is more detailed on the
proposal, but another alternative would be to use the SD mode instead,
with the help of the PI's EMMC module, and the SD simplified
specifications as documentation for the SD protocol. I have already used
this setup with success in the past, and it should have better
performance. In this setup the FreeBSD SD/MMC stack may be used (such as
the one Sebastian Huber ported last year ->
https://git.rtems.org/sebh/rtems-libusb.git/tree/rtems/freebsd/dev/mmc?id=3c82a1500da3192de2504a1360e065fd84a1f3a0)
which implements the SD protocol also based on the simplified specs.
This would help avoiding implementing the protocol from scratch (which
is sort of what I did in my previous effort with the SD card and the PI)
and would be better for maintenance probably.
My issue is then on the feasibily (licence wise) of having the FreeBSD
SD stack or having code based on the SD Simplified Specs on the RTEMS tree.
In SPI mode an implementation of the protocol can be found in
libchip/i2c/spi-sd-card.*, which could in that case be used/improved
further during the project, if it is decided it is best to use SPI mode.
This uses the libi2c API, which is deprecated for I2C but, as I
understand, still stands as the API for SPI (information about that
would also be appreciated).
Thanks,
André Marques.
More information about the devel
mailing list