1. 02 Nov, 2017 17 commits
  2. 11 Jan, 2017 1 commit
  3. 01 Dec, 2016 2 commits
    • Marek Vasut's avatar
      mmc: Tinification of the mmc code · b5b838f1
      Marek Vasut authored
      Add new configuration option CONFIG_MMC_TINY which strips away all
      memory allocation within the MMC code and code for handling multiple
      cards. This allows extremely space-constrained SPL code use the MMC
      framework.
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Jaehoon Chung <jh80.chung@samsung.com>
      b5b838f1
    • Tomas Melin's avatar
      mmc: add bkops-enable command · cd3d4880
      Tomas Melin authored
      Add new command that provides possibility to enable the
      background operations handshake functionality
      (BKOPS_EN, EXT_CSD byte [163]) on eMMC devices.
      
      This is an optional feature of eMMCs, the setting is write-once.
      The command must be explicitly taken into use with
      CONFIG_CMD_BKOPS_ENABLE.
      Signed-off-by: default avatarTomas Melin <tomas.melin@vaisala.com>
      cd3d4880
  4. 19 Sep, 2016 1 commit
    • Peng Fan's avatar
      mmc: sd: extracting erase related information from sd status · 3697e599
      Peng Fan authored
      Add function to read SD_STATUS information.
      According to the information, get erase_timeout/erase_size/erase_offset.
      Add a structure sd_ssr to include the erase related information.
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Cc: Jaehoon Chung <jh80.chung@samsung.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Bin Meng <bmeng.cn@gmail.com>
      Cc: Stefan Wahren <stefan.wahren@i2se.com>
      Cc: Clemens Gruber <clemens.gruber@pqgruber.com>
      Cc: Kever Yang <kever.yang@rock-chips.com>
      Cc: Eric Nelson <eric@nelint.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      3697e599
  5. 05 Aug, 2016 1 commit
  6. 31 Jul, 2016 1 commit
  7. 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
  8. 20 Jun, 2016 1 commit
  9. 27 May, 2016 2 commits
  10. 17 May, 2016 5 commits
  11. 14 Mar, 2016 1 commit
  12. 01 Feb, 2016 1 commit
  13. 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
  14. 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
  15. 04 Jan, 2016 1 commit
  16. 21 Jul, 2015 1 commit
  17. 05 May, 2015 2 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