Driver complaint to SD Host Controller Specification 3.0
muditjain18011995 at gmail.com
Mon May 30 08:13:21 UTC 2016
I have ported the code from the present FreeBSD.
Link : https://github.com/spark1729/rtems-libbsd/commits/rpi_sd_card
Kindly review the same and suggest changes.
The commits are a bit unstructured, the second last one being a huge one. I
will be breaking it down into smaller and logical patches while submitting.
Files changed/added in the three commits are as follows :
Files added to the build process [ libbsd_waf.py ]
Errors and how they were resolved :
1. The *_if.m files were converted into *_if.c and *_if.h using the
following script : Link
2. fdt and ofw support was added as the driver had dependencies on that.
3. *taskqueue_swi_giant* global is not provided by RTEMS. That was solved
by adding a new field to the *sdhci slot* structure - *sdhci_tq*.
4. BUS_PHYSADDR used in bcm_sdhci.c is a macro defined in
arm/include/bus.h. This macro is copied bcm_sdhci.c.
Presently the SD driver module is built from bcm_sdhci.c using the generic
and other functions defined in sdhci.c. However for modularity a different
1. Presently I have just kept the bcm2835 specific code in /dev/sdhci/
directory. I don't think that would be ideal, I wanted to discuss the
positioning of the bcm2835 specific files.
2. Presently the SD driver module is built from bcm_sdhci.c using the
generic and other functions defined in sdhci.c. Is this fine ?
3. I have used the *.start_actual *in nexus-devices.h for *rpi_dma_res *as*
0x7e007000. *Is this the correct value ? Link
Note : I have not added the macro LIBBSP_ARM_RASPBERRYPI_BSP_H to bcm2835
specific code. I will be doing that.
waf builds everything that was added successfully.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the devel