uboot/drivers/mmc/Kconfig
<<
>>
Prefs
   1menu "MMC Host controller Support"
   2
   3config MMC
   4        bool "MMC/SD/SDIO card support"
   5        default ARM || PPC || SANDBOX
   6        select HAVE_BLOCK_DEVICE
   7        select DM_MMC if DM
   8        help
   9          This selects MultiMediaCard, Secure Digital and Secure
  10          Digital I/O support.
  11
  12          If you want MMC/SD/SDIO support, you should say Y here and
  13          also to your specific host controller driver.
  14
  15config MMC_WRITE
  16        bool "support for MMC/SD write operations"
  17        depends on MMC
  18        default y
  19        help
  20          Enable write access to MMC and SD Cards
  21
  22config MMC_PWRSEQ
  23        bool "HW reset support for eMMC"
  24        depends on PWRSEQ
  25        help
  26          Ths select Hardware reset support aka pwrseq-emmc for eMMC
  27          devices.
  28
  29config MMC_BROKEN_CD
  30        bool "Poll for broken card detection case"
  31        help
  32          If card  detection feature is broken, just poll to detect.
  33
  34config DM_MMC
  35        bool "Enable MMC controllers using Driver Model"
  36        depends on DM
  37        select BLK
  38        help
  39          This enables the MultiMediaCard (MMC) uclass which supports MMC and
  40          Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
  41          and non-removable (e.g. eMMC chip) devices are supported. These
  42          appear as block devices in U-Boot and can support filesystems such
  43          as EXT4 and FAT.
  44
  45config SPL_DM_MMC
  46        bool "Enable MMC controllers using Driver Model in SPL"
  47        depends on SPL_DM && DM_MMC
  48        default y
  49        help
  50          This enables the MultiMediaCard (MMC) uclass which supports MMC and
  51          Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
  52          and non-removable (e.g. eMMC chip) devices are supported. These
  53          appear as block devices in U-Boot and can support filesystems such
  54          as EXT4 and FAT.
  55
  56if MMC
  57
  58config MMC_SDHCI_ADMA_HELPERS
  59        bool
  60
  61config MMC_SPI
  62        bool "Support for SPI-based MMC controller"
  63        depends on DM_MMC && DM_SPI
  64        help
  65          This selects SPI-based MMC controllers.
  66          If you have an MMC controller on a SPI bus, say Y here.
  67
  68          If unsure, say N.
  69
  70config MMC_SPI_CRC_ON
  71        bool "Support CRC for SPI-based MMC controller"
  72        depends on MMC_SPI
  73        default y
  74        help
  75          This enables CRC for SPI-based MMC controllers.
  76
  77          If unsure, say N.
  78
  79config ARM_PL180_MMCI
  80        bool "ARM AMBA Multimedia Card Interface and compatible support"
  81        help
  82          This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
  83          Interface (PL180, PL181 and compatible) support.
  84          If you have an ARM(R) platform with a Multimedia Card slot,
  85          say Y or M here.
  86
  87config MMC_QUIRKS
  88        bool "Enable quirks"
  89        default y
  90        help
  91          Some cards and hosts may sometimes behave unexpectedly (quirks).
  92          This option enable workarounds to handle those quirks. Some of them
  93          are enabled by default, other may require additional flags or are
  94          enabled by the host driver.
  95
  96config MMC_HW_PARTITIONING
  97        bool "Support for HW partitioning command(eMMC)"
  98        default y
  99        help
 100          This adds a command and an API to do hardware partitioning on eMMC
 101          devices.
 102
 103config SUPPORT_EMMC_RPMB
 104        bool "Support eMMC replay protected memory block (RPMB)"
 105        imply CMD_MMC_RPMB
 106        help
 107          Enable support for reading, writing and programming the
 108          key for the Replay Protection Memory Block partition in eMMC.
 109
 110config SUPPORT_EMMC_BOOT
 111        bool "Support some additional features of the eMMC boot partitions"
 112        help
 113          Enable support for eMMC boot partitions. This also enables
 114          extensions within the mmc command.
 115
 116config MMC_IO_VOLTAGE
 117        bool "Support IO voltage configuration"
 118        help
 119          IO voltage configuration allows selecting the voltage level of the IO
 120          lines (not the level of main supply). This is required for UHS
 121          support. For eMMC this not mandatory, but not enabling this option may
 122          prevent the driver of using the faster modes.
 123
 124config SPL_MMC_IO_VOLTAGE
 125        bool "Support IO voltage configuration in SPL"
 126        help
 127          IO voltage configuration allows selecting the voltage level of the IO
 128          lines (not the level of main supply). This is required for UHS
 129          support. For eMMC this not mandatory, but not enabling this option may
 130          prevent the driver of using the faster modes.
 131
 132config MMC_UHS_SUPPORT
 133        bool "enable UHS support"
 134        depends on MMC_IO_VOLTAGE
 135        help
 136          The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
 137          cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
 138          frequency can go up to 208MHz (SDR104)
 139
 140config SPL_MMC_UHS_SUPPORT
 141        bool "enable UHS support in SPL"
 142        depends on SPL_MMC_IO_VOLTAGE
 143        help
 144          The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
 145          cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
 146          frequency can go up to 208MHz (SDR104)
 147
 148config MMC_HS400_ES_SUPPORT
 149        bool "enable HS400 Enhanced Strobe support"
 150        help
 151          The HS400 Enhanced Strobe mode is support by some eMMC. The bus
 152          frequency is up to 200MHz. This mode does not tune the IO.
 153
 154config SPL_MMC_HS400_ES_SUPPORT
 155        bool "enable HS400 Enhanced Strobe support in SPL"
 156        help
 157          The HS400 Enhanced Strobe mode is support by some eMMC. The bus
 158          frequency is up to 200MHz. This mode does not tune the IO.
 159
 160config MMC_HS400_SUPPORT
 161        bool "enable HS400 support"
 162        select MMC_HS200_SUPPORT
 163        help
 164          The HS400 mode is support by some eMMC. The bus frequency is up to
 165          200MHz. This mode requires tuning the IO.
 166
 167config SPL_MMC_HS400_SUPPORT
 168        bool "enable HS400 support in SPL"
 169        select SPL_MMC_HS200_SUPPORT
 170        help
 171          The HS400 mode is support by some eMMC. The bus frequency is up to
 172          200MHz. This mode requires tuning the IO.
 173
 174config MMC_HS200_SUPPORT
 175        bool "enable HS200 support"
 176        help
 177          The HS200 mode is support by some eMMC. The bus frequency is up to
 178          200MHz. This mode requires tuning the IO.
 179
 180config SPL_MMC_HS200_SUPPORT
 181        bool "enable HS200 support in SPL"
 182        help
 183          The HS200 mode is support by some eMMC. The bus frequency is up to
 184          200MHz. This mode requires tuning the IO.
 185
 186config MMC_VERBOSE
 187        bool "Output more information about the MMC"
 188        default y
 189        help
 190          Enable the output of more information about the card such as the
 191          operating mode.
 192
 193config MMC_TRACE
 194        bool "MMC debugging"
 195        help
 196          This is an option for use by developer. Enable MMC core debugging.
 197
 198          If you need to see the MMC core message, say Y.
 199
 200config MMC_DAVINCI
 201        bool "TI DAVINCI Multimedia Card Interface support"
 202        depends on ARCH_DAVINCI
 203        default y
 204        help
 205          This selects the TI DAVINCI Multimedia card Interface.
 206          If you have an DAVINCI board with a Multimedia Card slot,
 207          say Y here.  If unsure, say N.
 208
 209config MMC_DW
 210        bool "Synopsys DesignWare Memory Card Interface"
 211        select BOUNCE_BUFFER
 212        help
 213          This selects support for the Synopsys DesignWare Mobile Storage IP
 214          block, this provides host support for SD and MMC interfaces, in both
 215          PIO, internal DMA mode and external DMA mode.
 216
 217config MMC_DW_CORTINA
 218        bool "Cortina specific extensions for Synopsys DW Memory Card Interface"
 219        depends on DM_MMC
 220        depends on MMC_DW
 221        depends on BLK
 222        help
 223          This selects support for Cortina SoC specific extensions to the
 224          Synopsys DesignWare Memory Card Interface driver. Select this option
 225          for platforms based on Cortina CAxxxx Soc's.
 226
 227config MMC_DW_EXYNOS
 228        bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
 229        depends on ARCH_EXYNOS
 230        depends on MMC_DW
 231        default y
 232        help
 233          This selects support for Samsung Exynos SoC specific extensions to the
 234          Synopsys DesignWare Memory Card Interface driver. Select this option
 235          for platforms based on Exynos4 and Exynos5 SoC's.
 236
 237config MMC_DW_K3
 238        bool "K3 specific extensions for Synopsys DW Memory Card Interface"
 239        depends on MMC_DW
 240        help
 241          This selects support for Hisilicon K3 SoC specific extensions to the
 242          Synopsys DesignWare Memory Card Interface driver. Select this option
 243          for platforms based on Hisilicon K3 SoC's.
 244
 245config MMC_DW_ROCKCHIP
 246        bool "Rockchip SD/MMC controller support"
 247        depends on DM_MMC && OF_CONTROL
 248        depends on MMC_DW
 249        help
 250          This enables support for the Rockchip SD/MMM controller, which is
 251          based on Designware IP. The device is compatible with at least
 252          SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
 253          as removeable SD and micro-SD cards.
 254
 255config MMC_DW_SOCFPGA
 256        bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
 257        depends on ARCH_SOCFPGA
 258        depends on MMC_DW
 259        default y
 260        help
 261          This selects support for Altera SOCFPGA specific extensions to the
 262          Synopsys DesignWare Memory Card Interface driver. Select this option
 263          for platforms based on Altera SOCFPGA.
 264
 265config MMC_DW_SNPS
 266        bool "Extensions for DW Memory Card Interface used in Synopsys ARC devboards"
 267        depends on MMC_DW
 268        depends on DM_MMC
 269        depends on OF_CONTROL
 270        depends on CLK
 271        help
 272          This selects support for Synopsys DesignWare Memory Card Interface driver
 273          extensions used in various Synopsys ARC devboards.
 274
 275config NEXELL_DWMMC
 276        bool "Nexell SD/MMC controller support"
 277        depends on ARCH_NEXELL
 278        depends on MMC_DW
 279        depends on DM_MMC
 280        depends on PINCTRL_NEXELL
 281        default y
 282
 283config MMC_MESON_GX
 284        bool "Meson GX EMMC controller support"
 285        depends on DM_MMC && BLK && ARCH_MESON
 286        help
 287         Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
 288
 289config MMC_MXC
 290        bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
 291        help
 292          This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
 293          Multimedia Card Interface. If you have an i.MX or MPC512x platform
 294          with a Multimedia Card slot, say Y here.
 295
 296          If unsure, say N.
 297
 298config MMC_OWL
 299        bool "Actions OWL Multimedia Card Interface support"
 300        depends on ARCH_OWL && DM_MMC && BLK
 301        help
 302          This selects the OWL SD/MMC host controller found on board
 303          based on Actions S700/S900 SoC.
 304
 305config MMC_MXS
 306        bool "Freescale MXS Multimedia Card Interface support"
 307        depends on MX23 || MX28 || MX6 || MX7
 308        select BOUNCE_BUFFER
 309        select APBH_DMA
 310        select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
 311        select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
 312        help
 313          This selects the Freescale SSP MMC controller found on MXS based
 314          platforms like mx23/28.
 315
 316          If unsure, say N.
 317
 318config MMC_PCI
 319        bool "Support for MMC controllers on PCI"
 320        depends on MMC_SDHCI
 321        help
 322          This selects PCI-based MMC controllers.
 323          If you have an MMC controller on a PCI bus, say Y here.
 324
 325config MMC_OCTEONTX
 326        bool "Marvell Octeon Multimedia Card Interface support"
 327        depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
 328        depends on DM_MMC
 329        help
 330          This selects the Octeon Multimedia card Interface.
 331          If you have an OcteonTX/TX2 or MIPS Octeon board with a
 332          Multimedia Card slot, say Y here.
 333
 334          If unsure, say N.
 335
 336config MVEBU_MMC
 337        bool "Kirkwood MMC controller support"
 338        depends on DM_MMC && BLK && ARCH_KIRKWOOD
 339        help
 340          Support for MMC host controller on Kirkwood SoCs.
 341          If you are on a Kirkwood architecture, say Y here.
 342
 343          If unsure, say N.
 344
 345config PXA_MMC_GENERIC
 346        bool "Support for MMC controllers on PXA"
 347        help
 348          This selects MMC controllers on PXA.
 349          If you are on a PXA architecture, say Y here.
 350
 351          If unsure, say N.
 352
 353config MMC_OMAP_HS
 354        bool "TI OMAP High Speed Multimedia Card Interface support"
 355        select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
 356        select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
 357        help
 358          This selects the TI OMAP High Speed Multimedia card Interface.
 359          If you have an omap2plus board with a Multimedia Card slot,
 360          say Y here.
 361
 362          If unsure, say N.
 363
 364config MMC_OMAP_HS_ADMA
 365        bool "ADMA support for OMAP HS MMC"
 366        depends on MMC_OMAP_HS && !OMAP34XX
 367        default y if !AM33XX
 368        help
 369          This enables support for the ADMA2 controller (SDA3.00 Part A2 DMA
 370          controller). If supported by the hardware, selecting this option will
 371          increase performances.
 372
 373config MMC_OMAP36XX_PINS
 374        bool "Enable MMC1 on OMAP36xx/37xx"
 375        depends on OMAP34XX && MMC_OMAP_HS
 376        help
 377          This enables extended-drain in the MMC/SD/SDIO1I/O and
 378          GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
 379          specific to the OMAP36xx/37xx using MMC1
 380
 381          If you have a controller with this interface, say Y here.
 382
 383          If unsure, say N.
 384
 385config SH_SDHI
 386        bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
 387        depends on ARCH_RMOBILE
 388        help
 389          Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
 390
 391config SH_MMCIF
 392        bool "SuperH/Renesas ARM SoCs on-chip MMCIF host controller support"
 393        depends on ARCH_RMOBILE || SH
 394        help
 395          Support for the on-chip MMCIF host controller on SuperH/Renesas ARM SoCs platform
 396
 397config MMC_UNIPHIER
 398        bool "UniPhier SD/MMC Host Controller support"
 399        depends on ARCH_UNIPHIER
 400        depends on BLK && DM_MMC
 401        depends on OF_CONTROL
 402        help
 403          This selects support for the Matsushita SD/MMC Host Controller on
 404          SocioNext UniPhier SoCs.
 405
 406config RENESAS_SDHI
 407        bool "Renesas R-Car SD/MMC Host Controller support"
 408        depends on ARCH_RMOBILE
 409        depends on BLK && DM_MMC
 410        depends on OF_CONTROL
 411        select BOUNCE_BUFFER
 412        help
 413          This selects support for the Matsushita SD/MMC Host Controller on
 414          Renesas R-Car SoCs.
 415
 416config MMC_BCM2835
 417        bool "BCM2835 family custom SD/MMC Host Controller support"
 418        depends on ARCH_BCM283X
 419        depends on BLK && DM_MMC
 420        depends on OF_CONTROL
 421        default y
 422        help
 423          This selects support for the custom SD host controller in the BCM2835
 424          family of devices.
 425
 426          If you have a BCM2835 platform with SD or MMC devices, say Y here.
 427
 428          If unsure, say N.
 429
 430config JZ47XX_MMC
 431        bool "Ingenic JZ47xx SD/MMC Host Controller support"
 432        depends on ARCH_JZ47XX
 433        help
 434          This selects support for the SD Card Controller on Ingenic JZ47xx SoCs.
 435
 436config MMC_SANDBOX
 437        bool "Sandbox MMC support"
 438        depends on SANDBOX
 439        depends on BLK && DM_MMC && OF_CONTROL
 440        help
 441          This select a dummy sandbox MMC driver. At present this does nothing
 442          other than allow sandbox to be build with MMC support. This
 443          improves build coverage for sandbox and makes it easier to detect
 444          MMC build errors with sandbox.
 445
 446config MMC_SDHCI
 447        bool "Secure Digital Host Controller Interface support"
 448        help
 449          This selects the generic Secure Digital Host Controller Interface.
 450          It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
 451          and Toshiba(R). Most controllers found in laptops are of this type.
 452
 453          If you have a controller with this interface, say Y here.
 454
 455          If unsure, say N.
 456
 457config MMC_SDHCI_IO_ACCESSORS
 458        bool
 459        depends on MMC_SDHCI
 460        help
 461          This is silent Kconfig symbol that is selected by the drivers that
 462          need to overwrite SDHCI IO memory accessors.
 463
 464config MMC_SDHCI_SDMA
 465        bool "Support SDHCI SDMA"
 466        depends on MMC_SDHCI
 467        help
 468          This enables support for the SDMA (Single Operation DMA) defined
 469          in the SD Host Controller Standard Specification Version 1.00 .
 470
 471config MMC_SDHCI_ADMA
 472        bool "Support SDHCI ADMA2"
 473        depends on MMC_SDHCI
 474        select MMC_SDHCI_ADMA_HELPERS
 475        help
 476          This enables support for the ADMA (Advanced DMA) defined
 477          in the SD Host Controller Standard Specification Version 3.00
 478
 479config SPL_MMC_SDHCI_ADMA
 480        bool "Support SDHCI ADMA2 in SPL"
 481        depends on MMC_SDHCI
 482        select MMC_SDHCI_ADMA_HELPERS
 483        help
 484          This enables support for the ADMA (Advanced DMA) defined
 485          in the SD Host Controller Standard Specification Version 3.00 in SPL.
 486
 487config MMC_SDHCI_ASPEED
 488        bool "Aspeed SDHCI controller"
 489        depends on ARCH_ASPEED
 490        depends on DM_MMC
 491        depends on MMC_SDHCI
 492        help
 493          Enables support for the Aspeed SDHCI 2.0 controller present on Aspeed
 494          SoCs. This device is compatible with SD 3.0 and/or MMC 4.3
 495          specifications. On the AST2600, the device is also compatible with
 496          MMC 5.1 and eMMC 3.0.
 497
 498config MMC_SDHCI_ATMEL
 499        bool "Atmel SDHCI controller support"
 500        depends on ARCH_AT91
 501        depends on DM_MMC && BLK && ARCH_AT91
 502        depends on MMC_SDHCI
 503        help
 504          This enables support for the Atmel SDHCI controller, which supports
 505          the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
 506          Memory Card Specification V3.0, and the SDIO V3.0 specification.
 507          It is compliant with the SD Host Controller Standard V3.0
 508          specification.
 509
 510config MMC_SDHCI_BCM2835
 511        tristate "SDHCI support for the BCM2835 SD/MMC Controller"
 512        depends on ARCH_BCM283X
 513        depends on MMC_SDHCI
 514        select MMC_SDHCI_IO_ACCESSORS
 515        help
 516          This selects the BCM2835 SD/MMC controller.
 517
 518          If you have a BCM2835 platform with SD or MMC devices,
 519          say Y here.
 520
 521          If unsure, say N.
 522
 523config MMC_SDHCI_BCMSTB
 524        tristate "SDHCI support for the BCMSTB SD/MMC Controller"
 525        depends on MMC_SDHCI
 526        help
 527          This selects the Broadcom set-top box SD/MMC controller.
 528
 529          If you have a BCMSTB platform with SD or MMC devices,
 530          say Y here.
 531
 532          If unsure, say N.
 533
 534config MMC_SDHCI_CADENCE
 535        bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
 536        depends on BLK && DM_MMC
 537        depends on MMC_SDHCI
 538        depends on OF_CONTROL
 539        help
 540          This selects the Cadence SD/SDIO/eMMC driver.
 541
 542          If you have a controller with this interface, say Y here.
 543
 544          If unsure, say N.
 545
 546config MMC_SDHCI_AM654
 547        bool "SDHCI Controller on TI's Am654 devices"
 548        depends on ARCH_K3
 549        depends on MMC_SDHCI
 550        depends on DM_MMC && OF_CONTROL && BLK
 551        depends on REGMAP
 552        select MMC_SDHCI_IO_ACCESSORS
 553        help
 554          Support for Secure Digital Host Controller Interface (SDHCI)
 555          controllers present on TI's AM654 SOCs.
 556
 557config MMC_SDHCI_IPROC
 558        bool "SDHCI support for the iProc SD/MMC Controller"
 559        depends on MMC_SDHCI
 560        help
 561          This selects the iProc SD/MMC controller.
 562
 563          If you have a Broadcom IPROC platform with SD or MMC devices,
 564          say Y or M here.
 565
 566          If unsure, say N.
 567
 568config MMC_SDHCI_F_SDH30
 569        bool "SDHCI support for Fujitsu Semiconductor F_SDH30"
 570        depends on BLK && DM_MMC
 571        depends on MMC_SDHCI
 572        help
 573          This selects the Secure Digital Host Controller Interface (SDHCI)
 574          Needed by some Fujitsu SoC for MMC / SD / SDIO support.
 575          If you have a controller with this interface, say Y or M here.
 576          If unsure, say N.
 577
 578config MMC_SDHCI_KONA
 579        bool "SDHCI support on Broadcom KONA platform"
 580        depends on MMC_SDHCI
 581        help
 582          This selects the Broadcom Kona Secure Digital Host Controller
 583          Interface(SDHCI) support.
 584          This is used in Broadcom mobile SoCs.
 585
 586          If you have a controller with this interface, say Y here.
 587
 588config MMC_SDHCI_MSM
 589        bool "Qualcomm SDHCI controller"
 590        depends on BLK && DM_MMC
 591        depends on MMC_SDHCI
 592        help
 593          Enables support for SDHCI 2.0 controller present on some Qualcomm
 594          Snapdragon devices. This device is compatible with eMMC v4.5 and
 595          SD 3.0 specifications. Both SD and eMMC devices are supported.
 596          Card-detect gpios are not supported.
 597
 598config MMC_SDHCI_MV
 599        bool "SDHCI support on Marvell platform"
 600        depends on ARCH_MVEBU
 601        depends on MMC_SDHCI
 602        help
 603          This selects the Secure Digital Host Controller Interface on
 604          Marvell platform.
 605
 606          If you have a controller with this interface, say Y here.
 607
 608          If unsure, say N.
 609
 610config MMC_SDHCI_PIC32
 611        bool "Microchip PIC32 on-chip SDHCI support"
 612        depends on DM_MMC && MACH_PIC32
 613        depends on MMC_SDHCI
 614        help
 615          Support for Microchip PIC32 SDHCI controller.
 616
 617config MMC_SDHCI_ROCKCHIP
 618        bool "Arasan SDHCI controller for Rockchip support"
 619        depends on ARCH_ROCKCHIP
 620        depends on DM_MMC && BLK
 621        depends on MMC_SDHCI
 622        help
 623          Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
 624
 625config MMC_SDHCI_S5P
 626        bool "SDHCI support on Samsung S5P SoC"
 627        depends on MMC_SDHCI
 628        help
 629          This selects the Secure Digital Host Controller Interface (SDHCI)
 630          on Samsung S5P SoCs.
 631
 632          If you have a controller with this interface, say Y here.
 633
 634          If unsure, say N.
 635
 636config MMC_SDHCI_SPEAR
 637        bool "SDHCI support on ST SPEAr platform"
 638        depends on MMC_SDHCI
 639        help
 640          This selects the Secure Digital Host Controller Interface (SDHCI)
 641          often referrered to as the HSMMC block in some of the ST SPEAR range
 642          of SoC
 643
 644          If you have a controller with this interface, say Y here.
 645
 646          If unsure, say N.
 647
 648config MMC_SDHCI_STI
 649        bool "SDHCI support for STMicroelectronics SoC"
 650        depends on MMC_SDHCI && OF_CONTROL
 651        help
 652          This selects the Secure Digital Host Controller Interface (SDHCI)
 653          on STMicroelectronics STiH410 SoC.
 654
 655config MMC_SDHCI_XENON
 656        bool "SDHCI support for the Xenon SDHCI controller"
 657        depends on MMC_SDHCI && DM_MMC && OF_CONTROL
 658        help
 659          Support for Xenon SDHCI host controller on Marvell Armada 3700
 660          7k/8k ARM SoCs platforms
 661
 662          If you have a controller with this interface, say Y here.
 663
 664          If unsure, say N.
 665
 666config MMC_SDHCI_TANGIER
 667        bool "Tangier SDHCI controller support"
 668        depends on DM_MMC && BLK
 669        depends on MMC_SDHCI
 670        help
 671          This selects support for SDHCI controller on Tanginer
 672          SoC. Note that this controller does not sit on PCI bus and,
 673          hence, cannot be enumerated by standard PCI means.
 674
 675          If you're using an Intel Tangier SoC (available on Intel
 676          Edison board), say Y here.
 677
 678          If unsure, say N.
 679
 680config MMC_SDHCI_TEGRA
 681        bool "SDHCI platform support for the Tegra SD/MMC Controller"
 682        depends on ARCH_TEGRA
 683        select BOUNCE_BUFFER
 684        default y
 685        help
 686          This selects the Tegra SD/MMC controller. If you have a Tegra
 687          platform with SD or MMC devices, say Y here.
 688
 689          If unsure, say N.
 690
 691config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
 692        bool "Disable external clock loopback"
 693        depends on MMC_SDHCI_TEGRA && TEGRA124
 694        help
 695          Disable the external clock loopback and use the internal one on SDMMC3
 696          as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
 697          being set to 0xfffd according to the TRM.
 698
 699          TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
 700          approach once proper kernel integration made it mainline.
 701
 702config MMC_SDHCI_ZYNQ
 703        bool "Arasan SDHCI controller support"
 704        depends on DM_MMC && OF_CONTROL && BLK
 705        depends on MMC_SDHCI
 706        help
 707          Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
 708
 709config ZYNQ_SDHCI_MAX_FREQ
 710        int "Set the maximum frequency of the controller"
 711        depends on MMC_SDHCI_ZYNQ
 712        help
 713          Set the maximum frequency of the controller.
 714
 715config ZYNQ_SDHCI_MIN_FREQ
 716        int "Set the minimum frequency of the controller"
 717        depends on MMC_SDHCI_ZYNQ
 718        default 0
 719        help
 720          Set the minimum frequency of the controller.
 721
 722config ZYNQ_HISPD_BROKEN
 723        bool "High speed broken for Zynq SDHCI controller"
 724        depends on MMC_SDHCI_ZYNQ
 725        help
 726          Set if high speed mode is broken.
 727
 728config MMC_SUNXI
 729        bool "Allwinner sunxi SD/MMC Host Controller support"
 730        depends on ARCH_SUNXI
 731        default y
 732        help
 733          This selects support for the SD/MMC Host Controller on
 734          Allwinner sunxi SoCs.
 735
 736config MMC_SUNXI_HAS_NEW_MODE
 737        bool
 738        depends on MMC_SUNXI
 739
 740config MMC_SUNXI_HAS_MODE_SWITCH
 741        bool
 742        depends on MMC_SUNXI
 743
 744config MMC_PITON
 745        bool "MMC support for OpenPiton SoC"
 746        depends on DM_MMC && BLK
 747        help
 748          This selects support for the SD host controller on OpenPiton SoC.
 749          Note that this SD controller directly exposes the contents of the
 750          SD card as memory mapped, so there is no manual configuration
 751          required
 752
 753config GENERIC_ATMEL_MCI
 754        bool "Atmel Multimedia Card Interface support"
 755        depends on DM_MMC && BLK && ARCH_AT91
 756        help
 757          This enables support for Atmel High Speed Multimedia Card Interface
 758          (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
 759          the SD Memory Card Specification V2.0, the SDIO V2.0 specification
 760          and CE-ATA V1.1.
 761
 762config STM32_SDMMC2
 763        bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
 764        depends on DM_MMC && BLK && OF_CONTROL
 765        help
 766          This selects support for the SD/MMC controller on STM32H7 SoCs.
 767          If you have a board based on such a SoC and with a SD/MMC slot,
 768          say Y or M here.
 769
 770config FTSDC010
 771        bool "Ftsdc010 SD/MMC controller Support"
 772        help
 773          This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
 774
 775config FTSDC010_SDIO
 776        bool "Support ftsdc010 sdio"
 777        depends on FTSDC010
 778        help
 779                This can enable ftsdc010 sdio function.
 780
 781config MMC_MTK
 782        bool "MediaTek SD/MMC Card Interface support"
 783        depends on ARCH_MEDIATEK || ARCH_MTMIPS
 784        depends on BLK && DM_MMC
 785        depends on OF_CONTROL
 786        help
 787          This selects the MediaTek(R) Secure digital and Multimedia card Interface.
 788          If you have a machine with a integrated SD/MMC card reader, say Y or M here.
 789          This is needed if support for any SD/SDIO/MMC devices is required.
 790          If unsure, say N.
 791
 792endif
 793
 794config FSL_ESDHC
 795        bool "Freescale/NXP eSDHC controller support"
 796        help
 797          This selects support for the eSDHC (Enhanced Secure Digital Host
 798          Controller) found on numerous Freescale/NXP SoCs.
 799
 800config FSL_ESDHC_SUPPORT_ADMA2
 801        bool "enable ADMA2 support"
 802        depends on FSL_ESDHC
 803        select MMC_SDHCI_ADMA_HELPERS
 804        help
 805          This enables support for the ADMA2 transfer mode. If supported by the
 806          eSDHC it will allow 64bit DMA addresses.
 807
 808config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND
 809        bool "enable eSDHC workaround for 3.3v IO reliability issue"
 810        depends on FSL_ESDHC && DM_MMC
 811        help
 812          When eSDHC operates at 3.3v, damage can accumulate in an internal
 813          level shifter at a higher than expected rate. The faster the interface
 814          runs, the more damage accumulates. This issue now is found on LX2160A
 815          eSDHC1 for only SD card. The hardware workaround is recommended to use
 816          an on-board level shifter that is 1.8v on SoC side and 3.3v on SD card
 817          side. For boards without hardware workaround, this option could be
 818          enabled, ensuring 1.8v IO voltage and disabling eSDHC if no card.
 819          This option assumes no hotplug, and u-boot has to make all the way to
 820          to linux to use 1.8v UHS-I speed mode if has card.
 821
 822config FSL_ESDHC_VS33_NOT_SUPPORT
 823        bool "3.3V power supply not supported"
 824        depends on FSL_ESDHC
 825        help
 826          For eSDHC, power supply is through peripheral circuit. 3.3V support is
 827          common. Select this if 3.3V power supply not supported.
 828
 829config FSL_ESDHC_IMX
 830        bool "Freescale/NXP i.MX eSDHC controller support"
 831        help
 832          This selects support for the i.MX eSDHC (Enhanced Secure Digital Host
 833          Controller) found on numerous Freescale/NXP SoCs.
 834
 835config FSL_USDHC
 836        bool "Freescale/NXP i.MX uSDHC controller support"
 837        depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMX8ULP || IMXRT
 838        select FSL_ESDHC_IMX
 839        help
 840          This enables the Ultra Secured Digital Host Controller enhancements
 841
 842endmenu
 843
 844config SYS_FSL_ERRATUM_ESDHC111
 845        bool
 846
 847config SYS_FSL_ERRATUM_ESDHC13
 848        bool
 849
 850config SYS_FSL_ERRATUM_ESDHC135
 851        bool
 852
 853config SYS_FSL_ERRATUM_ESDHC_A001
 854        bool
 855
 856config SYS_FSL_ERRATUM_A011334
 857        bool
 858
 859config SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
 860        bool
 861