29 Jan, 2018

1 commit

  • The BCM2835 family of SoCs has 2 different SD controllers: One based on
    the SDHCI spec and a custom, home-grown one.

    This patch implements a driver for the latter based on the Linux driver.
    This is needed so that we can make use of device trees that assume driver
    presence of both SD controllers.

    Signed-off-by: Alexander Graf

    Alexander Graf
     

12 Jan, 2018

1 commit


30 Nov, 2017

1 commit


28 Sep, 2017

1 commit

  • This patch adds SD/MMC support for STM32H7 SoCs.

    Here is an extraction of SDMMC main features, embedded in
    STM32H7 SoCs.
    The SD/MMC block include the following:
    _ Full compliance with MultiMediaCard System Specification
    Version 4.51. Card support for three different databus modes:
    1-bit (default), 4-bit and 8-bit.
    _ Full compatibility with previous versions of MultiMediaCards
    (backward compatibility).
    _ Full compliance with SD memory card specifications version 4.1.
    (SDR104 SDMMC_CK speed limited to maximum allowed IO speed,
    SPI mode and UHS-II mode not supported).
    _ Full compliance with SDIO card specification version 4.0.
    Card support for two different databus modes: 1-bit (default)
    and 4-bit. (SDR104 SDMMC_CK speed limited to maximum allowed IO
    speed, SPI mode and UHS-II mode not supported).
    _ Data transfer up to 208 Mbyte/s for the 8 bit mode.
    (depending maximum allowed IO speed).
    _ Data and command output enable signals to control external
    bidirectional drivers.

    The current version of the SDMMC supports only one SD/SDIO/MMC card
    at any one time and a stack of MMC Version 4.51 or previous.

    Signed-off-by: Christophe Kerello
    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     

01 Aug, 2017

1 commit

  • At present if U-Boot proper uses driver model for MMC, then SPL has to
    also. While this is desirable, it places a significant barrier to moving
    to driver model in some cases. For example, with a space-constrained SPL
    it may be necessary to enable CONFIG_SPL_OF_PLATDATA which involves
    adjusting some drivers.

    Add new SPL versions of the options for DM_MMC, DM_MMC_OPS and BLK. By
    default these follow their non-SPL versions, but this can be changed by
    boards which need it.

    Signed-off-by: Simon Glass

    Simon Glass
     

05 Jun, 2017

1 commit


15 May, 2017

2 commits


18 Apr, 2017

1 commit


14 Apr, 2017

1 commit

  • This driver implements MMC support on Meson GX (S905) based systems.
    It's based on Carlo Caione's work, changes:
    - BLK support added
    - general refactoring

    Signed-off-by: Carlo Caione
    Signed-off-by: Andreas Färber
    Signed-off-by: Heiner Kallweit
    Tested-by: Vagrant Cascadian

    Carlo Caione
     

21 Mar, 2017

2 commits

  • This patch adds Intel Tangier eMMC/SDHCI driver.

    Intel Tangier SoC contains a hybrid of PCI and non-PCI devices. SDHCI
    controller is one of the devices which are *not* on a PCI and, hence,
    cannot be enumerated by standard PCI means. This driver, allows for
    SDHCI controller on Tangier SoC to work in U-Boot.

    Signed-off-by: Vincent Tinelli
    Signed-off-by: Felipe Balbi
    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng

    Felipe Balbi
     
  • We don't want pci_mmc to compile every time x86 compiles, only when
    there's a platform that needs it. For that reason, we're adding a new
    CONFIG_MMC_PCI which platforms can choose to enable.

    Suggested-by: Jaehoon Chung
    Reviewed-by: Bin Meng
    Signed-off-by: Felipe Balbi
    Signed-off-by: Andy Shevchenko

    Felipe Balbi
     

15 Mar, 2017

1 commit

  • Add SDHCI host controller found on STMicroelectronics SoCs

    On some ST SoCs, i.e. STiH407/STiH410, the MMC devices can live
    inside a dedicated flashSS sub-system that provides an extend subset
    of registers that can be used to configure the Arasan MMC/SD Host
    Controller.

    This means, that the SDHCI Arasan Controller can be configured to be
    eMMC4.5 or 4.3 spec compliant.

    W/o these settings the SDHCI will configure and use the MMC/SD
    controller with limited features e.g. PIO mode, no DMA, no HS etc.

    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass
    Reviewed-by: Jaehoon Chung

    Patrice Chotard
     

09 Feb, 2017

1 commit


31 Jan, 2017

6 commits


25 Jan, 2017

1 commit

  • This driver implementes platform specific code for the Xenon SDHCI
    controller which is integrated in the Marvell MVEBU Armada 37xx and
    Armada 7k / 8K SoCs.

    History:
    This driver is ported from the Marvell U-Boot version 2015.01 which is
    written by Victor Gu with minor changes ported from
    the Linux driver which is written by Ziji Hu .

    Signed-off-by: Stefan Roese
    Cc: Jaehoon Chung
    Cc: Masahiro Yamada
    Reviewed-by: Jaehoon Chung

    Stefan Roese
     

11 Jan, 2017

5 commits

  • Move (and rename) the following CONFIG options to Kconfig:

    CONFIG_DAVINCI_MMC (renamed to CONFIG_MMC_DAVINCI)
    CONFIG_OMAP_HSMMC (renamed to CONFIG_MMC_OMAP_HS)
    CONFIG_MXC_MMC (renamed to CONFIG_MMC_MXC)
    CONFIG_MXS_MMC (renamed to CONFIG_MMC_MXS)
    CONFIG_TEGRA_MMC (renamed to CONFIG_MMC_SDHCI_TEGRA)
    CONFIG_SUNXI_MMC (renamed to CONFIG_MMC_SUNXI)

    They are the same option names as used in Linux.

    This commit was created as follows:

    [1] Rename the options with the following command:

    find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
    -type f -print | xargs sed -i -e '
    s/CONFIG_DAVINCI_MMC/CONFIG_MMC_DAVINCI/g
    s/CONFIG_OMAP_HSMMC/CONFIG_MMC_OMAP_HS/g
    s/CONFIG_MXC_MMC/CONFIG_MMC_MXC/g
    s/CONFIG_MXS_MMC/CONFIG_MMC_MXS/g
    s/CONFIG_TEGRA_MMC/CONFIG_MMC_SDHCI_TEGRA/g
    s/CONFIG_SUNXI_MMC/CONFIG_MMC_SUNXI/g
    '

    [2] Commit the changes

    [3] Create entries in driver/mmc/Kconfig.
    (copied from Linux)

    [4] Move the options with the following command
    tools/moveconfig.py -y -r HEAD \
    MMC_DAVINCI MMC_OMAP_HS MMC_MXC MMC_MXS MMC_SDHCI_TEGRA MMC_SUNXI

    [5] Sort and align drivers/mmc/Makefile for readability

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     
  • Move (and rename) the following CONFIG options to Kconfig:

    CONFIG_EXYNOS_DWMMC (renamed to CONFIG_MMC_DW_EXYNOS)
    CONFIG_HIKEY_DWMMC (renamed to CONFIG_MMC_DW_K3)
    CONFIG_SOCFPGA_DWMMC (renamed to CONFIG_MMC_DW_SOCFPGA)

    The "HIKEY" is a board name, so it is not suitable for the MMC
    controller name. I am following the name used in Linux.

    This commit was generated as follows:

    [1] Rename the config options with the following command:
    find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
    -type f -print | xargs sed -i -e '
    s/CONFIG_EXYNOS_DWMMC/CONFIG_MMC_DW_EXYNOS/g
    s/CONFIG_HIKEY_DWMMC/CONFIG_MMC_DW_K3/g
    s/CONFIG_SOCFPGA_DWMMC/CONFIG_MMC_DW_SOCFPGA/g
    '

    [2] Commit the changes

    [3] Create the entries in drivers/mmc/Kconfig
    (with default y for EXYNOS and SOCFPGA)

    [4] Run the following:
    tools/moveconfig.py -y -r HEAD MMC_DW_EXYNOS MMC_DW_K3 MMC_DW_SOCFPGA

    [5] Sort and align drivers/mmc/Makefile for readability

    [6] Clean-up doc/README.socfpga by hand

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     
  • This commit was created as follows:

    [1] Rename the option with the following command:
    find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
    -type f -print | xargs sed -i -e 's/CONFIG_DWMMC/CONFIG_MMC_DW/g'

    [2] create the entry for MMC_DW in drivers/mmc/Kconfig
    (the prompt and help were copied from Linux)

    [3] run "tools/moveconfig.py -y MMC_DW"

    [4] add "depends on MMC_DW" to the MMC_DW_ROCKCHIP entry

    [5] Clean-up doc/README.socfpga by hand

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     
  • I am trying to make all DesignWare-based driver options prefixed
    with CONFIG_MMC_DW_.

    This commit was generated as follows:

    find . -name .git -prune -o -type f -print | \
    xargs sed -i -e 's/ROCKCHIP_DWMMC/MMC_DW_ROCKCHIP/g'

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     
  • Add a driver for the Cadence SD4HC SD/SDIO/eMMC Controller.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

30 Dec, 2016

2 commits

  • While I moved the options, I also renamed them so that they are all
    prefixed with MMC_SDHCI_.

    This commit was created in the following steps.

    [1] Rename with the following command
    find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
    -type f -print | xargs sed -i -e '
    s/CONFIG_MMC_SDMA/CONFIG_MMC_SDHCI_SDMA/g
    s/CONFIG_BCM2835_SDHCI/CONFIG_MMC_SDHCI_BCM2835/g
    s/CONFIG_KONA_SDHCI/CONFIG_MMC_SDHCI_KONA/g
    s/CONFIG_MV_SDHCI/CONFIG_MMC_SDHCI_MV/g
    s/CONFIG_S5P_SDHCI/CONFIG_MMC_SDHCI_S5P/g
    s/CONFIG_SPEAR_SDHCI/CONFIG_MMC_SDHCI_SPEAR/g
    '

    [2] create the Kconfig entries in drivers/mmc/Kconfig

    [3] Move the options by the following command
    tools/moveconfig.py -y MMC_SDHCI_SDMA MMC_SDHCI_BCM2835 \
    MMC_SDHCI_KONA MMC_SDHCI_MV MMC_SDHCI_S5P MMC_SDHCI_SPEAR

    [4] Sort drivers/mmc/Makefile for readability

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Reviewed-by: Jaehoon Chung

    Masahiro Yamada
     
  • Move CONFIG_SDHCI to Kconfig and rename it to CONFIG_MMC_SDHCI.
    My motivation for the rename is, ultimately, to make all the MMC
    options prefixed with MMC_ and SDHCI options with MMC_SDHCI_,
    like Linux.

    This commit was created as follows:

    [1] Rename the config option with the following command:
    find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
    -type f -print | xargs sed -i -e 's/CONFIG_SDHCI/CONFIG_MMC_SDHCI/g'

    [2] create the entry for MMC_SDHCI in drivers/mmc/Kconfig

    [3] run "tools/moveconfig.py -y MMC_SDHCI"

    [4] add "depends on MMC_SDHCI" to existing SDHCI driver entries

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Reviewed-by: Jaehoon Chung

    Masahiro Yamada
     

22 Dec, 2016

1 commit


08 Oct, 2016

1 commit

  • By default saveenv option is not supported for SPL. This patch
    enable the support for save environment variable for SPL build.

    Enable save environment support in SPL after setenv. By default
    the saveenv option is not provided in SPL, but some boards need
    this support in 'Falcon' boot, where SPL need to boot from
    different images based on environment variable set by OS. For
    example OS may set "reboot_image" environment variable to
    "recovery" inorder to boot recovery image by SPL. The SPL read
    "reboot_image" and act accordingly and change the reboot_image
    to default mode using setenv and save the environemnt.

    Signed-off-by: Ravi Babu
    Reviewed-by: Simon Glass

    change in v1:
    - dropped SUPPORT, use CONFIG_SPL_SAVEENV
    - updates the comments in mmc_private.h

    B, Ravi
     

26 Jul, 2016

1 commit

  • Rockchip rk3399 using arasan sdhci-5.1 controller.
    This patch add the controller support to enable mmc device
    with full driver-model support, tested on rk3399 evb board.

    According to my test result, this driver should be OK,
    the command "part list mmc 0" can result in a right output,
    but all the mmc command failed like this:
    => mmc info
    No MMC device available
    Command failed, result=1

    The result of get_mmc_num in cmd/mmc.c is always 0?

    Signed-off-by: Kever Yang
    Acked-by: Simon Glass

    Kever Yang
     

12 Jul, 2016

1 commit


17 May, 2016

3 commits


02 Apr, 2016

1 commit

  • Add support for SD/eMMC controller present on some Qualcomm Snapdragon
    devices. This controller implements SDHCI 2.0 interface but requires
    vendor-specific initialization.
    Driver works in PIO mode as ADMA is not supported by U-Boot (yet).

    Signed-off-by: Mateusz Kulikowski
    Reviewed-by: Simon Glass
    Tested-by: Simon Glass

    Mateusz Kulikowski
     

29 Feb, 2016

1 commit


02 Feb, 2016

1 commit


03 Nov, 2015

1 commit

  • The SDHCI is introduced by sama5d2, named as Secure Digital Multimedia
    Card Controller(SDMMC). It supports the embedded MultiMedia Card (e.MMC)
    Specification V4.41, the SD Memory Card Specification V3.0, and the SDIO
    V3.0 specification. It is compliant with the SD Host Controller Standard
    V3.0 specification.

    Signed-off-by: Wenyou Yang
    Reviewed-by: Andreas Bießmann

    Wenyou Yang
     

03 Sep, 2015

1 commit