1. 23 Jan, 2017 1 commit
  2. 01 Dec, 2016 3 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
    • Marek Vasut's avatar
      mmc: Fix warning if debug() is not used · ce9eca94
      Marek Vasut authored
      
      
      If debug() is not used, then the whole content of debug(...) will
      be removed by the preprocessor, which will result in the following
      warning. This patch adds __maybe_unused annotation to fix this.
      
      drivers/mmc/mmc.c: In function ‘mmc_init’:
      drivers/mmc/mmc.c:1685:11: warning: variable ‘start’ set but not used [-Wunused-but-set-variable]
        unsigned start;
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
      Cc: Jaehoon Chung <jh80.chung@samsung.com>
      ce9eca94
    • 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
  3. 16 Nov, 2016 1 commit
  4. 28 Oct, 2016 2 commits
  5. 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
  6. 16 Aug, 2016 1 commit
    • Yangbo Lu's avatar
      mmc: send CMD0 before CMD1 for some MMC cards · d188b113
      Yangbo Lu authored
      
      
      When the MMC framework was added in u-boot, the mmc_go_idle was
      added before mmc_send_op_cond_iter in function mmc_send_op_cond
      annotating that some cards seemed to need this. Actually, we still
      need to do this in function mmc_complete_op_cond for those cards.
      This has been verified on Micron MTFC4GACAECN eMMC chip.
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      d188b113
  7. 05 Aug, 2016 1 commit
  8. 11 Jul, 2016 6 commits
  9. 20 Jun, 2016 1 commit
  10. 09 Jun, 2016 1 commit
  11. 27 May, 2016 3 commits
  12. 17 May, 2016 10 commits
  13. 27 Mar, 2016 2 commits
  14. 14 Mar, 2016 3 commits
  15. 21 Jan, 2016 1 commit
    • Simon Glass's avatar
      dm: mmc: Try to honour the sequence order · 4a1db6d8
      Simon Glass authored
      
      
      At present we add driver-model MMC devices in the order we find them. The
      'alias' order is not honoured.
      
      It is difficult to fix this for the case where we have holes in the
      sequence. But for the common case where the devices are numbered from 0
      without any gaps, we can add the devices to the internal data structures
      in this order.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      4a1db6d8
  16. 14 Jan, 2016 2 commits
    • 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
    • Stephen Warren's avatar
      block: pass block dev not num to read/write/erase() · 7c4213f6
      Stephen Warren authored
      
      
      This will allow the implementation to make use of data in the block_dev
      structure beyond the base device number. This will be useful so that eMMC
      block devices can encompass the HW partition ID rather than treating this
      out-of-band. Equally, the existence of the priv field is crying out for
      this patch to exist.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      7c4213f6
  17. 14 Dec, 2015 1 commit