• Jan Glauber's avatar
    mmc: cavium: Add core MMC driver for Cavium SOCs · ba3869ff
    Jan Glauber authored
    This core driver will be used by a MIPS platform driver
    or by an ARM64 PCI driver. The core driver implements the
    mmc_host_ops and slot probe & remove functions.
    Callbacks are provided to allow platform specific interrupt
    enable and bus locking.
    
    The host controller supports:
    - up to 4 slots that can contain sd-cards or eMMC chips
    - 1, 4 and 8 bit bus width
    - SDR and DDR
    - transfers up to 52 Mhz (might be less when multiple slots are used)
    - DMA read/write
    - multi-block read/write (but not stream mode)
    
    Voltage is limited to 3.3v and shared for all slots (vmmc and vmmcq).
    
    A global lock for all MMC devices is required because the host
    controller is shared.
    Signed-off-by: default avatarJan Glauber <jglauber@cavium.com>
    Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
    Signed-off-by: default avatarSteven J. Hill <steven.hill@cavium.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    ba3869ff
cavium.h 6.09 KB