1. 05 Aug, 2016 1 commit
  2. 31 Jul, 2016 1 commit
  3. 11 Jul, 2016 1 commit
    • Simon Glass's avatar
      dm: mmc: Add a way to use driver model for MMC operations · 8ca51e51
      Simon Glass authored
      The driver model conversion for MMC has moved in small steps. The first step
      was to have an MMC device (CONFIG_DM_MMC). The second was to use a child
      block device (CONFIG_BLK). The final one is to use driver model for MMC
      operations (CONFIG_DM_MMC_OP). Add support for this.
      
      The immediate priority is to make all boards that use DM_MMC also use those
      other two options. This will allow them to be removed.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      8ca51e51
  4. 20 Jun, 2016 1 commit
  5. 27 May, 2016 2 commits
  6. 17 May, 2016 5 commits
  7. 14 Mar, 2016 1 commit
  8. 01 Feb, 2016 1 commit
  9. 14 Jan, 2016 1 commit
    • Stephen Warren's avatar
      mmc: store hwpart in the block device · 873cc1d7
      Stephen Warren authored
      This will allow us to have multiple block device structs each referring
      to the same eMMC device, yet different HW partitions.
      
      For now, there is still a single block device per eMMC device. As before,
      this block device always accesses whichever HW partition was most recently
      selected. Clients wishing to make use of multiple block devices referring
      to different HW partitions can simply take a copy of this block device
      once it points at the correct HW partition, and use each one as they wish.
      This feature will be used by the next patch.
      
      In the future, perhaps get_device() could be enhanced to return a
      dynamically allocated block device struct, to avoid the client needing to
      copy it in order to maintain multiple block devices. However, this would
      require all users to be updated to free those block device structs at some
      point, which is rather a large change.
      
      Most callers of mmc_switch_part() wish to permanently switch the default
      MMC block device's HW partition. Enhance mmc_switch_part() so that it does
      this. This removes the need for callers to do this. However,
      common/env_mmc.c needs to save and restore the current HW partition. Make
      it do this more explicitly.
      
      Replace use of mmc_switch_part() with mmc_select_hwpart() in order to
      remove duplicate code that skips the call if that HW partition is already
      selected.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      873cc1d7
  10. 12 Jan, 2016 1 commit
    • Simon Glass's avatar
      dm: Convert PCI MMC over to use DM PCI API · 4abe8e40
      Simon Glass authored
      At present pci_mmc_init() does not correctly use the PCI function since the
      list it passes is not terminated. The array size passed to pci_mmc_init() is
      actually not used correctly. Fix this and adjust the pci_mmc_init() to scan
      all available MMC devices.
      
      Adjust this code to use the new driver model PCI API.
      
      This should move over to the new MMC uclass at some point.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      4abe8e40
  11. 04 Jan, 2016 1 commit
  12. 21 Jul, 2015 1 commit
  13. 05 May, 2015 4 commits
    • Rob Herring's avatar
      mmc: remove the MMC_MODE_HC flag · 5a20397b
      Rob Herring authored
      High capacity support is not a host capability, but a device capability
      that is queried via the OCR. The flag in the operating conditions
      request argument can just be set unconditionally. This matches the Linux
      implementation.
      
      [panto] Hand merged and renumbering MMC_MODE_DDR_52MHz.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarPantelis Antoniou <pantelis.antoniou@konsulko.com>
      Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
      5a20397b
    • Andrew Gabbasov's avatar
      mmc: Fix splitting device initialization · bd47c135
      Andrew Gabbasov authored
      Starting part of device initialization sets the init_in_progress flag
      only if the MMC card did not yet come to ready state and needs to continue
      polling. If the card is SD or if the MMC card became ready quickly,
      the flag is not set and (if using pre-initialization) the starting
      phase will be re-executed from mmc_init function.
      
      Set the init_in_progress flag in all non-error cases. Also, move flags
      setting statements around so that the flags are not set in error paths.
      Also, IN_PROGRESS return status becomes unnecessary, so get rid of it.
      Signed-off-by: default avatarAndrew Gabbasov <andrew_gabbasov@mentor.com>
      bd47c135
    • Andrew Gabbasov's avatar
      mmc: Avoid extra duplicate entry in mmc device structure · a626c8d4
      Andrew Gabbasov authored
      The 'op_cond_response' field in mmc structure contains the response
      from the last SEND_OP_COND MMC command while making iterational
      polling of the card. Later it is copied to 'ocr' field, designed
      to contain the OCR register value, which is actually the same
      response from the same command. So, these fields have actually
      the same data, just in different time periods. It's easier to use
      the same 'ocr' field in both cases at once, without temporary using
      of the 'op_cond_response' field.
      Signed-off-by: default avatarAndrew Gabbasov <andrew_gabbasov@mentor.com>
      a626c8d4
    • Andrew Gabbasov's avatar
      mmc: Fix typo in MMC type checking macro · 3f2da751
      Andrew Gabbasov authored
      The version flag constant name used in IS_MMC macro is incorrect/undefined.
      Signed-off-by: default avatarAndrew Gabbasov <andrew_gabbasov@mentor.com>
      3f2da751
  14. 23 Feb, 2015 2 commits
  15. 06 Feb, 2015 1 commit
  16. 19 Jan, 2015 7 commits
  17. 12 Dec, 2014 3 commits
  18. 04 Dec, 2014 1 commit
  19. 25 Oct, 2014 1 commit
  20. 18 Jul, 2014 1 commit
  21. 23 May, 2014 2 commits
  22. 16 May, 2014 1 commit