1. 01 8月, 2018 1 次提交
  2. 16 7月, 2018 1 次提交
    • S
      mmc: core: more fine-grained hooks for HS400 tuning · ba6c7ac3
      Simon Horman 提交于
      This adds two new HS400 tuning operations:
      * hs400_downgrade
      * hs400_complete
      
      These supplement the existing HS400 operation:
      * prepare_hs400_tuning
      
      This is motivated by a requirement of Renesas SDHI for the following:
      1. Disabling SCC before selecting to HS if selection of HS400 has occurred.
         This can be done in an implementation of prepare_hs400_tuning_downgrade
      2. Updating registers after switching to HS400
         This can be done in an implementation of complete_hs400_tuning
      
      If hs400_downgrade or hs400_complete are not implemented then they are not
      called. Thus means there should be no affect for existing drivers as none
      implemt these ops.
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      ba6c7ac3
  3. 29 5月, 2018 1 次提交
  4. 08 5月, 2018 1 次提交
  5. 02 5月, 2018 1 次提交
  6. 15 3月, 2018 1 次提交
  7. 06 12月, 2017 1 次提交
  8. 29 11月, 2017 2 次提交
  9. 30 10月, 2017 5 次提交
  10. 02 10月, 2017 1 次提交
  11. 30 8月, 2017 2 次提交
  12. 09 8月, 2017 1 次提交
  13. 20 6月, 2017 4 次提交
  14. 25 4月, 2017 2 次提交
  15. 15 3月, 2017 1 次提交
  16. 15 2月, 2017 2 次提交
  17. 14 2月, 2017 3 次提交
  18. 13 2月, 2017 5 次提交
  19. 05 12月, 2016 3 次提交
  20. 29 11月, 2016 2 次提交
    • U
      mmc: core: Update CMD13 polling policy when switch to HS DDR mode · e173f891
      Ulf Hansson 提交于
      According to the JEDEC specification, during bus timing change operations
      for mmc, sending a CMD13 could trigger CRC errors.
      
      As switching to HS DDR mode indeed causes a bus timing change, polling with
      CMD13 to detect card busy, may thus potentially trigger CRC errors.
      Currently these errors are treated as the switch to HS DDR mode failed.
      
      To improve this behaviour, let's instead tell __mmc_switch() to retry when
      it encounters CRC errors during polling.
      
      Moreover, when switching to HS DDR mode, let's make sure the CMD13 polling
      is done by having the mmc host and the mmc card, being configured to
      operate at the same selected bus speed timing. Fix this by providing
      MMC_TIMING_MMC_DDR52 as the timing parameter to __mmc_switch().
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Tested-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NAdrian Hunter <adrian.hunter@intel.com>
      e173f891
    • U
      mmc: core: Allow CMD13 polling when switching to HS mode for mmc · 53e60650
      Ulf Hansson 提交于
      In cases when the mmc host doesn't support HW busy detection, polling for a
      card being busy by using CMD13 is beneficial. That is because, instead of
      waiting a fixed amount of time, 500ms or the generic CMD6 time from
      EXT_CSD, we find out a lot sooner when the card stops signaling busy. This
      leads to a significant decreased total initialization time for the mmc
      card.
      
      However, to allow polling with CMD13 during a bus timing change operation,
      such as switching to HS mode, we first need to update the mmc host's bus
      timing before starting to poll. Deal with that, simply by providing
      MMC_TIMING_MMC_HS as the timing parameter to __mmc_switch() from
      mmc_select_hs().
      
      By telling __mmc_switch() to allow polling with CMD13, also makes it
      validate the CMD6 status, thus we can remove the corresponding checks.
      
      When switching to HS400ES, the mmc_select_hs() function is called in one of
      the intermediate steps. To still prevent CMD13 polling for HS400ES, let's
      call the __mmc_switch() function in this path as it enables us to keep
      using the existing method.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Tested-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NAdrian Hunter <adrian.hunter@intel.com>
      53e60650