dm: mmc: Add an MMC uclass

Add basic support for MMC, providing a uclass which can set up an MMC
device. This allows MMC drivers to move to using driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2015-06-23 15:38:48 -06:00
parent fdfa39d3f2
commit e7ecf7cb5a
6 changed files with 71 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ enum uclass_id {
UCLASS_LED, /* Light-emitting diode (LED) */
UCLASS_LPC, /* x86 'low pin count' interface */
UCLASS_MASS_STORAGE, /* Mass storage device */
UCLASS_MMC, /* SD / MMC card or chip */
UCLASS_MOD_EXP, /* RSA Mod Exp device */
UCLASS_PCH, /* x86 platform controller hub */
UCLASS_PCI, /* PCI bus */

View File

@@ -266,6 +266,28 @@
#define MMC_NUM_BOOT_PARTITION 2
#define MMC_PART_RPMB 3 /* RPMB partition number */
/* Driver model support */
/**
* struct mmc_uclass_priv - Holds information about a device used by the uclass
*/
struct mmc_uclass_priv {
struct mmc *mmc;
};
/**
* mmc_get_mmc_dev() - get the MMC struct pointer for a device
*
* Provided that the device is already probed and ready for use, this value
* will be available.
*
* @dev: Device
* @return associated mmc struct pointer if available, else NULL
*/
struct mmc *mmc_get_mmc_dev(struct udevice *dev);
/* End of driver model support */
struct mmc_cid {
unsigned long psn;
unsigned short oid;