Home
last modified time | relevance | path

Searched full:mmc (Results 1 – 25 of 1240) sorted by relevance

12345678910>>...50

/linux/drivers/mmc/host/
H A Dmeson-mx-sdhc-mmc.c3 * Amlogic Meson6/Meson8/Meson8b/Meson8m2 SDHC MMC host controller driver.
21 #include <linux/mmc/host.h>
22 #include <linux/mmc/mmc.h>
23 #include <linux/mmc/sdio.h>
24 #include <linux/mmc/slot-gpio.h>
38 void (*init_hw)(struct mmc_host *mmc);
39 void (*set_pdma)(struct mmc_host *mmc);
40 void (*wait_before_send)(struct mmc_host *mmc);
45 struct mmc_host *mmc; member
80 static void meson_mx_sdhc_clear_fifo(struct mmc_host *mmc) in meson_mx_sdhc_clear_fifo() argument
[all …]
H A Dmmc_hsq.c4 * MMC software queue support based on command queue interfaces
10 #include <linux/mmc/card.h>
11 #include <linux/mmc/host.h>
19 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_retry_handler() local
21 mmc->ops->request(mmc, hsq->mrq); in mmc_hsq_retry_handler()
26 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_modify_threshold() local
30 mmc->hsq_depth = HSQ_NORMAL_DEPTH; in mmc_hsq_modify_threshold()
37 mmc->hsq_depth = HSQ_PERFORMANCE_DEPTH; in mmc_hsq_modify_threshold()
45 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_pump_requests() local
72 if (mmc->ops->request_atomic) in mmc_hsq_pump_requests()
[all …]
H A Dcqhci-core.c16 #include <linux/mmc/mmc.h>
17 #include <linux/mmc/host.h>
18 #include <linux/mmc/card.h>
55 return cq_host->trans_desc_len * cq_host->mmc->max_segs * tag; in get_trans_desc_offset()
84 if (tag == DCMD_SLOT && (cq_host->mmc->caps2 & MMC_CAP2_CQE_DCMD)) { in setup_trans_desc()
111 pr_err("%s: " DRV_NAME ": " f, mmc_hostname(mmc), ## x)
115 struct mmc_host *mmc = cq_host->mmc; in cqhci_dumpregs() local
154 cq_host->ops->dumpregs(mmc); in cqhci_dumpregs()
208 cq_host->data_size = get_trans_desc_offset(cq_host, cq_host->mmc->cqe_qdepth); in cqhci_host_alloc_tdl()
211 mmc_hostname(cq_host->mmc), cq_host->desc_size, cq_host->data_size, in cqhci_host_alloc_tdl()
[all …]
H A DKconfig3 # MMC/SD host controller drivers
6 comment "MMC/SD/SDIO Host Controller Drivers"
9 bool "MMC host drivers debugging"
10 depends on MMC != n
13 say N here. This enables MMC host driver debugging. And further
18 tristate "Sunplus SP7021 MMC Controller"
43 Qcom SOCs and MMC, you would probably need this option to get DMA working.
126 bool "Ricoh MMC Controller Disabler"
130 This adds a pci quirk to disable Ricoh MMC Controller. This
132 supports MMC cards on the SD controller, but if it is not
[all …]
H A Dpxamci.c3 * linux/drivers/mmc/host/pxa.c - PXA MMCI driver
26 #include <linux/mmc/host.h>
27 #include <linux/mmc/slot-gpio.h>
37 #include <linux/platform_data/mmc-pxamci.h>
50 struct mmc_host *mmc; member
78 struct mmc_host *mmc = host->mmc; in pxamci_init_ocr() local
81 ret = mmc_regulator_get_supply(mmc); in pxamci_init_ocr()
85 if (IS_ERR(mmc->supply.vmmc)) { in pxamci_init_ocr()
87 mmc->ocr_avail = host->pdata ? in pxamci_init_ocr()
99 struct mmc_host *mmc = host->mmc; in pxamci_set_power() local
[all …]
H A Dmxcmmc.c3 * linux/drivers/mmc/host/mxcmmc.c - Freescale i.MX MMCI driver
25 #include <linux/mmc/host.h>
26 #include <linux/mmc/card.h>
35 #include <linux/mmc/slot-gpio.h>
39 #include <linux/platform_data/mmc-mxcmmc.h>
43 #define DRIVER_NAME "mxc-mmc"
120 struct mmc_host *mmc; member
161 .compatible = "fsl,imx21-mmc",
164 .compatible = "fsl,imx31-mmc",
221 if (!IS_ERR(host->mmc->supply.vmmc)) { in mxcmci_set_power()
[all …]
H A Dlitex_mmc.c23 #include <linux/mmc/host.h>
24 #include <linux/mmc/mmc.h>
25 #include <linux/mmc/sd.h>
77 struct mmc_host *mmc; member
126 struct device *dev = mmc_dev(host->mmc); in litex_mmc_send_cmd()
235 static int litex_mmc_get_cd(struct mmc_host *mmc) in litex_mmc_get_cd() argument
237 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_get_cd()
240 if (!mmc_card_is_removable(mmc)) in litex_mmc_get_cd()
255 struct mmc_host *mmc = arg; in litex_mmc_interrupt() local
256 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_interrupt()
[all …]
H A Djz4740_mmc.c6 * JZ4740 SD/MMC controller driver
18 #include <linux/mmc/host.h>
19 #include <linux/mmc/slot-gpio.h>
131 * The MMC core allows to prepare a mmc_request while another mmc_request
150 struct mmc_host *mmc; member
230 struct device *dev = mmc_dev(host->mmc); in jz4740_mmc_acquire_dma_channels()
241 host->dma_tx = dma_request_chan(mmc_dev(host->mmc), "tx"); in jz4740_mmc_acquire_dma_channels()
243 dev_err(mmc_dev(host->mmc), "Failed to get dma_tx channel\n"); in jz4740_mmc_acquire_dma_channels()
247 host->dma_rx = dma_request_chan(mmc_dev(host->mmc), "rx"); in jz4740_mmc_acquire_dma_channels()
249 dev_err(mmc_dev(host->mmc), "Failed to get dma_rx channel\n"); in jz4740_mmc_acquire_dma_channels()
[all …]
H A Dloongson2-mmc.c3 * Loongson-2K MMC/SDIO controller driver
17 #include <linux/mmc/core.h>
18 #include <linux/mmc/host.h>
19 #include <linux/mmc/mmc.h>
20 #include <linux/mmc/sd.h>
21 #include <linux/mmc/sdio.h>
22 #include <linux/mmc/slot-gpio.h>
325 static void loongson2_mmc_send_request(struct mmc_host *mmc) in loongson2_mmc_send_request() argument
328 struct loongson2_mmc_host *host = mmc_priv(mmc); in loongson2_mmc_send_request()
337 mmc_request_done(mmc, mrq); in loongson2_mmc_send_request()
[all …]
H A Dcavium.c2 * Shared part of driver for MMC/SDHC controller on Cavium OCTEON and
22 #include <linux/mmc/mmc.h>
23 #include <linux/mmc/slot-gpio.h>
32 "MMC Buffer",
33 "MMC Command",
34 "MMC DMA",
35 "MMC Command Error",
36 "MMC DMA Error",
37 "MMC Switch",
38 "MMC Switch Error",
[all …]
H A Dsdricoh_cs.c25 #include <linux/mmc/host.h>
26 #include <linux/mmc/mmc.h>
77 /* mmc privdata */
80 struct mmc_host *mmc; /* MMC structure */ member
254 static void sdricoh_request(struct mmc_host *mmc, struct mmc_request *mrq) in sdricoh_request() argument
256 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_request()
331 mmc_request_done(mmc, mrq); in sdricoh_request()
335 static void sdricoh_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdricoh_set_ios() argument
337 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_set_ios()
356 static int sdricoh_get_ro(struct mmc_host *mmc) in sdricoh_get_ro() argument
[all …]
H A Dsdhci-brcmstb.c10 #include <linux/mmc/host.h>
68 void (*hs400es)(struct mmc_host *mmc, struct mmc_ios *ios);
69 void (*save_restore_regs)(struct mmc_host *mmc, int save);
84 static void sdhci_brcmstb_save_regs(struct mmc_host *mmc, enum cfg_core_ver ver) in sdhci_brcmstb_save_regs() argument
86 struct sdhci_host *host = mmc_priv(mmc); in sdhci_brcmstb_save_regs()
91 bool is_emmc = mmc->caps & MMC_CAP_NONREMOVABLE; in sdhci_brcmstb_save_regs()
106 static void sdhci_brcmstb_restore_regs(struct mmc_host *mmc, enum cfg_core_ver ver) in sdhci_brcmstb_restore_regs() argument
108 struct sdhci_host *host = mmc_priv(mmc); in sdhci_brcmstb_restore_regs()
113 bool is_emmc = mmc->caps & MMC_CAP_NONREMOVABLE; in sdhci_brcmstb_restore_regs()
128 static void sdhci_brcmstb_save_restore_regs_v1(struct mmc_host *mmc, int save) in sdhci_brcmstb_save_restore_regs_v1() argument
[all …]
H A Drtsx_pci_sdmmc.c2 /* Realtek PCI-Express SD/MMC Card Interface driver
17 #include <linux/mmc/host.h>
18 #include <linux/mmc/mmc.h>
19 #include <linux/mmc/sd.h>
20 #include <linux/mmc/sdio.h>
21 #include <linux/mmc/card.h>
29 struct mmc_host *mmc; member
49 static int sdmmc_init_sd_express(struct mmc_host *mmc, struct mmc_ios *ios);
180 static void sdmmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in sdmmc_pre_req() argument
182 struct realtek_pci_sdmmc *host = mmc_priv(mmc); in sdmmc_pre_req()
[all …]
H A Dusdhi6rol0.c16 #include <linux/mmc/host.h>
17 #include <linux/mmc/mmc.h>
18 #include <linux/mmc/sd.h>
19 #include <linux/mmc/sdio.h>
159 struct mmc_host *mmc; member
212 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write()
219 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write16()
226 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read()
234 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read16()
286 dev_dbg(mmc_dev(host->mmc), in usdhi6_error_code()
[all …]
H A Dmmci_stm32_sdmmc.c10 #include <linux/mmc/host.h>
11 #include <linux/mmc/card.h>
85 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_validate_data()
98 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data()
106 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data()
117 host->mmc->max_req_size, in sdmmc_idma_validate_data()
147 n_elem = dma_map_sg(mmc_dev(host->mmc), in _sdmmc_idma_prep_data()
153 dev_err(mmc_dev(host->mmc), "dma_map_sg failed\n"); in _sdmmc_idma_prep_data()
183 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in sdmmc_idma_unprep_data()
191 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_setup()
[all …]
H A Dmoxart-mmc.c2 * MOXA ART MMC host driver.
25 #include <linux/mmc/host.h>
26 #include <linux/mmc/sd.h>
132 struct mmc_host *mmc; member
198 dev_err(mmc_dev(host->mmc), "timed out waiting for status\n"); in moxart_wait_for_status()
288 dev_err(mmc_dev(host->mmc), "dma_map_sg returned zero length\n"); in moxart_transfer_dma()
393 static void moxart_request(struct mmc_host *mmc, struct mmc_request *mrq) in moxart_request() argument
395 struct moxart_host *host = mmc_priv(mmc); in moxart_request()
438 dev_err(mmc_dev(host->mmc), "card removed\n"); in moxart_request()
458 mmc_request_done(host->mmc, mrq); in moxart_request()
[all …]
H A Dushc.c20 #include <linux/mmc/host.h>
91 struct mmc_host *mmc; member
186 mmc_signal_sdio_irq(ushc->mmc); in int_callback()
190 mmc_detect_change(ushc->mmc, msecs_to_jiffies(100)); in int_callback()
245 mmc_request_done(ushc->mmc, req); in csw_callback()
248 static void ushc_request(struct mmc_host *mmc, struct mmc_request *req) in ushc_request() argument
250 struct ushc_data *ushc = mmc_priv(mmc); in ushc_request()
317 mmc_request_done(mmc, req); in ushc_request()
371 static void ushc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in ushc_set_ios() argument
373 struct ushc_data *ushc = mmc_priv(mmc); in ushc_set_ios()
[all …]
/linux/Documentation/devicetree/bindings/mmc/
H A Dmtk-sd.yaml4 $id: http://devicetree.org/schemas/mmc/mtk-sd.yaml#
17 - mediatek,mt2701-mmc
18 - mediatek,mt2712-mmc
19 - mediatek,mt6779-mmc
20 - mediatek,mt6795-mmc
21 - mediatek,mt7620-mmc
22 - mediatek,mt7622-mmc
23 - mediatek,mt7986-mmc
24 - mediatek,mt7988-mmc
25 - mediatek,mt8135-mmc
[all …]
H A Dsdhci-st.txt1 * STMicroelectronics sdhci-st MMC/SD controller
4 Documentation/devicetree/bindings/mmc/mmc.txt and the properties
9 to set the internal glue logic used for configuring the MMC
13 - clock-names: Should be "mmc" and "icn". (NB: The latter is not compulsory)
18 - interrupts: One mmc interrupt should be described here.
31 - reg-names: Should be "mmc" and "top-mmc-delay". "top-mmc-delay" is optional
36 See: Documentation/devicetree/bindings/mmc/mmc.txt.
39 See: Documentation/devicetree/bindings/mmc/mmc.txt.
43 See: Documentation/devicetree/bindings/mmc/mmc.txt.
52 See: Documentation/devicetree/bindings/mmc/mmc.txt.
[all …]
H A Dcavium-mmc.txt1 * Cavium Octeon & ThunderX MMC controller
3 The highspeed MMC host controller on Caviums SoCs provides an interface
4 for MMC and SD types of memory cards.
11 cavium,octeon-6130-mmc
12 cavium,octeon-7890-mmc
13 cavium,thunder-8190-mmc
14 cavium,thunder-8390-mmc
15 mmc-slot
16 - reg : mmc controller base registers
20 - for cd, bus-width and additional generic mmc parameters
[all …]
H A Dingenic,mmc.yaml4 $id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml#
7 title: Ingenic SoCs MMC Controller
13 - $ref: mmc-controller.yaml#
19 - ingenic,jz4740-mmc
20 - ingenic,jz4725b-mmc
21 - ingenic,jz4760-mmc
22 - ingenic,jz4775-mmc
23 - ingenic,jz4780-mmc
24 - ingenic,x1000-mmc
26 - const: ingenic,jz4770-mmc
[all …]
H A Dloongson,ls2k0500-mmc.yaml4 $id: http://devicetree.org/schemas/mmc/loongson,ls2k0500-mmc.yaml#
10 The MMC host controller on the Loongson-2K0500/2K1000 (using an externally
12 The two MMC host controllers on the Loongson-2K2000 are similar,
20 - $ref: mmc-controller.yaml#
25 - loongson,ls2k0500-mmc
26 - loongson,ls2k1000-mmc
27 - loongson,ls2k2000-mmc
32 - description: Loongson-2K MMC controller registers.
33 - description: APB DMA config register for Loongson-2K MMC controller.
60 - loongson,ls2k0500-mmc
[all …]
H A Dowl-mmc.yaml4 $id: http://devicetree.org/schemas/mmc/owl-mmc.yaml#
7 title: Actions Semi Owl SoCs SD/MMC/SDIO controller
10 - $ref: mmc-controller.yaml
18 - const: actions,owl-mmc
21 - actions,s500-mmc
22 - actions,s700-mmc
23 - const: actions,owl-mmc
41 const: mmc
56 mmc0: mmc@e0330000 {
57 compatible = "actions,owl-mmc";
[all …]
H A Dmmc-controller-common.yaml4 $id: http://devicetree.org/schemas/mmc/mmc-controller-common.yaml#
7 title: MMC Controller & Slots Common Properties
13 These properties are common to multiple MMC host controllers and the
44 # *NOTE* on CD and WP polarity. To use common for all SD/MMC host
88 - some mmc host controllers do support a max frequency up to
135 cap-mmc-highspeed:
138 MMC high-speed timing is supported.
170 cap-mmc-hw-reset:
190 mmc-ddr-1_2v:
195 mmc-ddr-1_8v:
[all …]
/linux/Documentation/driver-api/mmc/
H A Dmmc-async-req.rst2 MMC Asynchronous Request
13 transfer, the DMA preparation overhead would not affect the MMC performance.
15 The intention of non-blocking (asynchronous) MMC requests is to minimize the
16 time between when an MMC request ends and another MMC request begins.
18 Using mmc_wait_for_req(), the MMC controller is idle while dma_map_sg and
19 dma_unmap_sg are processing. Using non-blocking MMC requests makes it
21 MMC request.
23 MMC block driver
26 The mmc_blk_issue_rw_rq() in the MMC block driver is made non-blocking.
30 a request and how fast the memory is. The faster the MMC/SD is the
[all …]

12345678910>>...50