mmc: make MMC driver entries dependent on MMC
[platform/kernel/u-boot.git] / drivers / mmc / Kconfig
1 menu "MMC Host controller Support"
2
3 config MMC
4         bool "MMC/SD/SDIO card support"
5         default ARM || PPC || SANDBOX
6         help
7           This selects MultiMediaCard, Secure Digital and Secure
8           Digital I/O support.
9
10           If you want MMC/SD/SDIO support, you should say Y here and
11           also to your specific host controller driver.
12
13 config DM_MMC
14         bool "Enable MMC controllers using Driver Model"
15         depends on DM
16         help
17           This enables the MultiMediaCard (MMC) uclass which supports MMC and
18           Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
19           and non-removable (e.g. eMMC chip) devices are supported. These
20           appear as block devices in U-Boot and can support filesystems such
21           as EXT4 and FAT.
22
23 config DM_MMC_OPS
24         bool "Support MMC controller operations using Driver Model"
25         depends on DM_MMC
26         default y if DM_MMC
27         help
28           Driver model provides a means of supporting device operations. This
29           option moves MMC operations under the control of driver model. The
30           option will be removed as soon as all DM_MMC drivers use it, as it
31           will the only supported behaviour.
32
33 if MMC
34
35 config SPL_MMC_TINY
36         bool "Tiny MMC framework in SPL"
37         help
38           Enable MMC framework tinification support. This option is useful if
39           if your SPL is extremely size constrained. Heed the warning, enable
40           this option if and only if you know exactly what you are doing, if
41           you are reading this help text, you most likely have no idea :-)
42
43           The MMC framework is reduced to bare minimum to be useful. No malloc
44           support is needed for the MMC framework operation with this option
45           enabled. The framework supports exactly one MMC device and exactly
46           one MMC driver. The MMC driver can be adjusted to avoid any malloc
47           operations too, which can remove the need for malloc support in SPL
48           and thus further reduce footprint.
49
50 config MSM_SDHCI
51         bool "Qualcomm SDHCI controller"
52         depends on DM_MMC && BLK && DM_MMC_OPS
53         help
54           Enables support for SDHCI 2.0 controller present on some Qualcomm
55           Snapdragon devices. This device is compatible with eMMC v4.5 and
56           SD 3.0 specifications. Both SD and eMMC devices are supported.
57           Card-detect gpios are not supported.
58
59 config ATMEL_SDHCI
60         bool "Atmel SDHCI controller support"
61         depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
62         help
63           This enables support for the Atmel SDHCI controller, which supports
64           the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
65           Memory Card Specification V3.0, and the SDIO V3.0 specification.
66           It is compliant with the SD Host Controller Standard V3.0
67           specification.
68
69 config ROCKCHIP_DWMMC
70         bool "Rockchip SD/MMC controller support"
71         depends on DM_MMC && OF_CONTROL
72         help
73           This enables support for the Rockchip SD/MMM controller, which is
74           based on Designware IP. The device is compatible with at least
75           SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
76           as removeable SD and micro-SD cards.
77
78 config SH_SDHI
79         bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
80         depends on RMOBILE
81         help
82           Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
83
84 config PIC32_SDHCI
85         bool "Microchip PIC32 on-chip SDHCI support"
86         depends on DM_MMC && MACH_PIC32
87         help
88           Support for Microchip PIC32 SDHCI controller.
89
90 config ZYNQ_SDHCI
91         bool "Arasan SDHCI controller support"
92         depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
93         help
94           Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
95
96 config ROCKCHIP_SDHCI
97         bool "Arasan SDHCI controller for Rockchip support"
98         depends on DM_MMC && BLK && DM_MMC_OPS
99         help
100           Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
101
102 config MMC_UNIPHIER
103         bool "UniPhier SD/MMC Host Controller support"
104         depends on ARCH_UNIPHIER
105         depends on BLK
106         select DM_MMC_OPS
107         help
108           This selects support for the SD/MMC Host Controller on UniPhier SoCs.
109
110 config SANDBOX_MMC
111         bool "Sandbox MMC support"
112         depends on MMC && SANDBOX
113         help
114           This select a dummy sandbox MMC driver. At present this does nothing
115           other than allow sandbox to be build with MMC support. This
116           improves build coverage for sandbox and makes it easier to detect
117           MMC build errors with sandbox.
118
119 endif
120
121 endmenu