1. 11 2月, 2016 1 次提交
  2. 08 2月, 2016 2 次提交
  3. 02 2月, 2016 2 次提交
  4. 14 1月, 2016 5 次提交
  5. 06 1月, 2016 5 次提交
  6. 28 12月, 2015 4 次提交
    • L
      mmc: tegra: implement UHS tuning · c3c2384c
      Lucas Stach 提交于
      This implements the UHS tuning sequence in a similar way to the one
      contained in the TRM. It deviates in the way how to check if the tap
      value is passing, by using the common Linux MMC function, which does
      not only check for data CRC errors, but also if the received block
      pattern is correct.
      Signed-off-by: NLucas Stach <dev@lynxeye.de>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      c3c2384c
    • L
      mmc: tegra: disable SPI_MODE_CLKEN · 74cd42bc
      Lucas Stach 提交于
      The Tegra30 and up TRM states that this bit should always be
      programmed to 0 by driver software.
      Signed-off-by: NLucas Stach <dev@lynxeye.de>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      74cd42bc
    • L
      mmc: tegra: implement module external clock change · a8e326a9
      Lucas Stach 提交于
      Allow the the driver to change the clock supplied from the CAR directly,
      minimizing the need to divide the clock inside the SDMMC module itself.
      
      This allows for higher clock speeds than the default 48MHz supplied to
      the module and is a prerequisite to support DDR signaling modes, where
      the Tegra host needs to be run with a fixed internal divider of 2 for
      data to be sampled correctly. (Tegra K1 TRM v03p chapter 29.7.1.1)
      
      Also enable the broken preset value quirk as the preset values need to
      be adapted to the changed clocking. While Tegra114+ allows this through
      vendor registers, there is no such way for Tegra30. Takes the easy way
      out  and keep things consistent between the different SoC generations by
      flagging the preset registers as unusable.
      Signed-off-by: NLucas Stach <dev@lynxeye.de>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      a8e326a9
    • J
      mmc: sdhci: restore behavior when setting VDD via external regulator · 918f4cbd
      Jisheng Zhang 提交于
      After commit 52221610 ("mmc: sdhci: Improve external VDD regulator
      support"), for the VDD is supplied via external regulators, we ignore
      the code to convert a VDD voltage request into one of the standard
      SDHCI voltage levels, then program it in the SDHCI_POWER_CONTROL. This
      brings two issues:
      
      1. SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON quirk isn't handled properly any
      more.
      
      2. What's more, once SDHCI_POWER_ON bit is set, some controllers such
      as the sdhci-pxav3 used in marvell berlin SoCs require the voltage
      levels programming in the SDHCI_POWER_CONTROL register, even the VDD
      is supplied by external regulator. So the host in marvell berlin SoCs
      still works fine after the commit. However, commit 3cbc6123 ("mmc:
      sdhci: Set SDHCI_POWER_ON with external vmmc") sets the SDHCI_POWER_ON
      bit, this would make the host in marvell berlin SoCs won't work any
      more with external vmmc.
      
      This patch restores the behavior when setting VDD through external
      regulator by moving the call of mmc_regulator_set_ocr() to the end
      of sdhci_set_power() function.
      
      After this patch, the sdcard on Marvell Berlin SoC boards work again.
      Signed-off-by: NJisheng Zhang <jszhang@marvell.com>
      Fixes: 52221610 ("mmc: sdhci: Improve external VDD ...")
      Reviewed-by: NLudovic Desroches <ludovic.desroches@atmel.com>
      Tested-by: NLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      918f4cbd
  7. 22 12月, 2015 21 次提交