Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
Makefile | H A D | 12-Nov-2015 | 361 | 19 | 11 | |
README.txt | H A D | 28-Jul-2014 | 2.1 KiB | 52 | 40 | |
emmc.c | H A D | 02-Jul-2015 | 23.9 KiB | 1,031 | 624 | |
emmc.txt | H A D | 22-Feb-2017 | 970 | 24 | 19 | |
mmcblk.c | H A D | 22-Feb-2017 | 18.9 KiB | 665 | 459 | |
mmchost.h | H A D | 28-Jul-2014 | 4.5 KiB | 157 | 82 | |
mmchost_dummy.c | H A D | 28-Jul-2014 | 3.6 KiB | 171 | 133 | |
mmchost_mmchs.c | H A D | 02-Dec-2014 | 30.4 KiB | 1,268 | 928 | |
omap_mmc.h | H A D | 20-Jun-2015 | 15 KiB | 276 | 227 | |
sdhcreg.h | H A D | 28-Jul-2014 | 7.3 KiB | 203 | 168 | |
sdmmcreg.h | H A D | 28-Jul-2014 | 14 KiB | 356 | 279 |
README.txt
1This directory contains code to access MMC based devices. 2 3It was created during the initial port of MINIX to the ARM platform. mmbclk 4implements a normal MINIX block device. It uses the interfaces defined in 5mmchost.h to perform it's operations. 6 7mmchost_mmchs is the MMC host controller driver for the TI omap device range. 8It contains the logic to access SD cards on that device. 9 10 drivers/mmc 11 |-- Makefile (The makefile) 12 |-- mmclog.h (A simpel logging system) 13 |-- omap_mmc.h (TI Omap register definitions) 14 |-- sdhcreg.h (BSD headers for the MMC layer) 15 |-- sdmmcreg.h (BSD headers for the MMC layer) 16 |-- mmcblk.c (MINIX 3 block device) 17 |-- mmchost.h (interface between the block device and the MMC layer) 18 |-- mmchost_mmchs.c (Driver to use on the ARM port/beagle) 19 '-- README.txt (This file) 20 21 22Future work: 23============ 24 25* Creating a more generic MMC layer 26The SD protocol is well defined and the imported the netbsd sdhcreg and 27sdmmcreg headers will allow us to make the MMC interface more generic. We would 28like mmchost_mmchs to be split in a generic part and a specific part. 29 30* 8 bits access 31The driver currently only reads data over 1 or 4 bits address lines. Adding support 32for 4 or 8 bits(for movinands) mode is very welcome. 33 34* DMA. 35The OMAP driver allows the usage of DMA. Adding DMA support will increase the 36performance of the driver 37 38* Removal of the PRIVCTL call. 39The MMC driver uses memory mapped IO to perform it's operations. On i386 it is 40the pci driver that will grant access to certain piece of memory to a driver. 41On the ARM port we lack pci and other self describing busses. In the current 42driver the driver will itself grant itself access to the correct piece of 43memory but this is unwanted behavior. We currently as thinking about two 44possible solutions. The first would be to add the memory ranges in system.conf. 45The second would be to modify the PCI driver to grant access to memory based on 46a fixed configuration. For example we could use the driver tree to perform 47device discovery and granting access to devices. 48 49 50* TODO removal 51The driver contains (quite a few) TODO's where the code need to be improved. 52