1. 09 1月, 2011 1 次提交
    • T
      mmc: Add support for JMicron 388 SD/MMC controller · 8f230f45
      Takashi Iwai 提交于
      JMicron 388 SD/MMC combo controller supports the 1.8V low-voltage for
      SD, but MMC doesn't work with the low-voltage, resulting in an error
      at probing.
      
      This patch adds the support for multiple voltage mask per device type,
      so that SD works with 1.8V while MMC forces 3.3V.  Here new ocr_avail_*
      fields for each device are introduced, so that the actual OCR mask is
      switched dynamically.
      
      Also, the restriction of low-voltage in core/sd.c is removed when the
      bit is allowed explicitly via ocr_avail_sd mask.
      
      This patch was rewritten from scratch based on Aries' original code.
      Signed-off-by: NAries Lee <arieslee@jmicron.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Reviewed-by: NChris Ball <cjb@laptop.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      8f230f45
  2. 23 10月, 2010 1 次提交
    • G
      mmc: sdhci: split up sdhci.h for sdhci-pltfm users · 1978fda8
      Giuseppe Cavallaro 提交于
      Some platforms based on sdhci-pltfm need to set their own quirks.
      Previously to this patch, the quirks were in drivers/mmc/host/sdhci.h.
      
      This patch splits drivers/mmc/host/sdhci.h into two parts:
      
      * drivers/mmc/host/sdhci.h  includes the HC registers and I/O accessors.
      * include/linux/mmc/sdhci.h includes the sdhci structure and quirks.
      
      Instead of including drivers/mmc/host/sdhci.h, -pltfm drivers should
      now include include/linux/mmc/sdhci.h and include/linux/sdhci-pltfm.h.
      
      This patch avoids adding/changing the calls/flags in the
      sdhci_pltfm_data structure.  It has been tested on STM platforms
      (e.g. STx7106, STx7108, STx5206) where the driver is configured
      and used as shown in the example below:
      
      [snip]
      static int mmc_pad_resources(struct sdhci_host *sdhci)
      {
      	if (!devm_stm_pad_claim(sdhci->mmc->parent,
      				&stx7108_mmc_pad_config,
      				dev_name(sdhci->mmc->parent)))
      		return -ENODEV;
      
      	return 0;
      }
      
      static struct sdhci_pltfm_data stx7108_mmc_platform_data = {
      	.init = mmc_pad_resources,
      	.quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
      };
      
      static struct platform_device stx7108_mmc_device = {
      	.name = "sdhci",
      [snip]
      
      Note: drivers/mmc/host/sdhci.h now also includes linux/mmc/sdhci.h,
      and no modifications should be needed on other sdhci-<XXX> drivers.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Reviewed-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      1978fda8