1. 02 5月, 2018 1 次提交
    • H
      mmc: sdhci: add SDHCI_QUIRK_BROKEN_HISPD_MODE · 88a57125
      Hannes Schmelzer 提交于
      Some IP-core implementations of the SDHCI have different troubles on the
      silicon where they are placed.
      
      On ZYNQ platform for example Xilinx doesn't accept the hold timing of an
      eMMC chip which operates in High-Speed mode and must be forced to
      operate in non high-speed mode. To get rid of this
      "SDHCI_QUIRK_BROKEN_HISPD_MODE" is introduced.
      
      For more details about this refer to the Xilinx answer-recor #59999
      https://www.xilinx.com/support/answers/59999.html
      
      This commit:
      - doesn't set HISPD bit on the host-conroller
      - reflects this fact within the host-controller capabilities
      
      Upon this the layer above (mmc-driver) can setup the card correctly.
      
      Otherwise the MMC card will be switched into high-speed mode and causes
      possible timing violation on the host-controller side.
      Signed-off-by: NHannes Schmelzer <oe5hpm@oevsv.at>
      Signed-off-by: NHannes Schmelzer <hannes.schmelzer@br-automation.com>
      88a57125
  2. 17 8月, 2017 1 次提交
  3. 25 1月, 2017 1 次提交
  4. 23 1月, 2017 1 次提交
  5. 11 1月, 2017 5 次提交
  6. 20 9月, 2016 1 次提交
  7. 16 8月, 2016 1 次提交
  8. 05 8月, 2016 2 次提交
  9. 12 7月, 2016 1 次提交
  10. 26 4月, 2016 1 次提交
  11. 30 1月, 2015 1 次提交
  12. 24 3月, 2014 1 次提交
    • P
      mmc: Split mmc struct, rework mmc initialization (v2) · 93bfd616
      Pantelis Antoniou 提交于
      The way that struct mmc was implemented was a bit of a mess;
      configuration and internal state all jumbled up in a single structure.
      
      On top of that the way initialization is done with mmc_register leads
      to a lot of duplicated code in drivers.
      
      Typically the initialization got something like this in every driver.
      
      	struct mmc *mmc = malloc(sizeof(struct mmc));
      	memset(mmc, 0, sizeof(struct mmc);
      	/* fill in fields of mmc struct */
      	/* store private data pointer */
      	mmc_register(mmc);
      
      By using the new mmc_create call one just passes an mmc config struct
      and an optional private data pointer like this:
      
      	struct mmc = mmc_create(&cfg, priv);
      
      All in tree drivers have been updated to the new form, and expect
      mmc_register to go away before long.
      
      Changes since v1:
      
      * Use calloc instead of manually calling memset.
      * Mark mmc_register as deprecated.
      Signed-off-by: NPantelis Antoniou <panto@antoniou-consulting.com>
      93bfd616
  13. 12 3月, 2014 1 次提交
  14. 18 9月, 2013 1 次提交
  15. 24 7月, 2013 1 次提交
  16. 28 11月, 2012 1 次提交
  17. 22 10月, 2012 1 次提交
  18. 06 9月, 2012 2 次提交
  19. 09 5月, 2012 2 次提交
  20. 26 11月, 2011 1 次提交
  21. 03 11月, 2011 2 次提交
    • L
      mmc: sdhci: add mmc structure for host · 6cf1b17c
      Lei Wen 提交于
      So that sdhci host would tell in the driver that the mmc current
      attributes.
      Signed-off-by: NLei Wen <leiwen@marvell.com>
      6cf1b17c
    • L
      mmc: sdhci: fix build warning · 0d2f15f9
      Lei Wen 提交于
      If CONFIG_MMC_SDHCI_IO_ACCESSORS is defined, the following warning would
      shows up:
      
      include/sdhci.h:224: warning: 'struct sdhci_host' declared inside
      parameter list
      include/sdhci.h:224: warning: its scope is only this definition or
      declaration, which is probably not what you want
      include/sdhci.h:225: warning: 'struct sdhci_host' declared inside
      parameter list
      include/sdhci.h:226: warning: 'struct sdhci_host' declared inside
      parameter list
      include/sdhci.h:227: warning: 'struct sdhci_host' declared inside
      parameter list
      include/sdhci.h:228: warning: 'struct sdhci_host' declared inside
      parameter list
      include/sdhci.h:229: warning: 'struct sdhci_host' declared inside
      parameter list
      Signed-off-by: NLei Wen <leiwen@marvell.com>
      0d2f15f9
  22. 16 7月, 2011 1 次提交