Home
last modified time | relevance | path

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

12345678910>>...54

/linux/drivers/net/ethernet/stmicro/stmmac/
H A Dmmc_core.c14 #include "mmc.h"
18 #define MMC_CNTRL 0x00 /* MMC Control */
19 #define MMC_RX_INTR 0x04 /* MMC RX Interrupt */
20 #define MMC_TX_INTR 0x08 /* MMC TX Interrupt */
21 #define MMC_RX_INTR_MASK 0x0c /* MMC Interrupt Mask */
22 #define MMC_TX_INTR_MASK 0x10 /* MMC Interrupt Mask */
25 /* MMC TX counter registers */
58 /* MMC RX counter registers */
137 /* XGMAC MMC Registers */
243 pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n", in dwmac_mmc_ctrl()
[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 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 …]
/linux/drivers/mmc/core/
H A Dregulator.c3 * Helper functions for MMC regulators.
11 #include <linux/mmc/host.h>
57 * can be provided to MMC/SD/SDIO devices using the specified voltage
59 * MMC host adapter.
96 * @mmc: the host to regulate
102 * MMC host drivers may use this to enable or disable a regulator using
106 int mmc_regulator_set_ocr(struct mmc_host *mmc, in mmc_regulator_set_ocr() argument
120 if (result == 0 && !mmc->regulator_enabled) { in mmc_regulator_set_ocr()
123 mmc->regulator_enabled = true; in mmc_regulator_set_ocr()
125 } else if (mmc->regulator_enabled) { in mmc_regulator_set_ocr()
[all …]
/linux/drivers/mmc/host/
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 Dmeson-mx-sdio.c3 * meson-mx-sdio.c - Meson6, Meson8 and Meson8b SDIO/MMC Host Controller
25 #include <linux/mmc/host.h>
26 #include <linux/mmc/mmc.h>
27 #include <linux/mmc/sdio.h>
28 #include <linux/mmc/slot-gpio.h>
118 struct mmc_host *mmc; member
125 static void meson_mx_mmc_mask_bits(struct mmc_host *mmc, char reg, u32 mask, in meson_mx_mmc_mask_bits() argument
128 struct meson_mx_mmc_host *host = mmc_priv(mmc); in meson_mx_mmc_mask_bits()
155 static void meson_mx_mmc_start_cmd(struct mmc_host *mmc, in meson_mx_mmc_start_cmd() argument
158 struct meson_mx_mmc_host *host = mmc_priv(mmc); in meson_mx_mmc_start_cmd()
[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 Dtmio_mmc_core.c3 * Driver for the MMC / SD / SDIO IP found in:
22 * Handle MMC errors better
34 #include <linux/mmc/card.h>
35 #include <linux/mmc/host.h>
36 #include <linux/mmc/mmc.h>
37 #include <linux/mmc/slot-gpio.h>
46 #include <linux/mmc/sdio.h>
138 static void tmio_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable) in tmio_mmc_enable_sdio_irq() argument
140 struct tmio_mmc_host *host = mmc_priv(mmc); in tmio_mmc_enable_sdio_irq()
146 pm_runtime_get_sync(mmc_dev(mmc)); in tmio_mmc_enable_sdio_irq()
[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 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 Dsdhci.c3 * linux/drivers/mmc/host/sdhci.c - Secure Digital Host Controller Interface driver
29 #include <linux/mmc/mmc.h>
30 #include <linux/mmc/host.h>
31 #include <linux/mmc/card.h>
32 #include <linux/mmc/sdio.h>
33 #include <linux/mmc/slot-gpio.h>
40 pr_debug("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x)
43 pr_err("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x)
161 !mmc_card_is_removable(host->mmc) || mmc_host_can_gpio_cd(host->mmc)) in sdhci_set_card_detection()
193 pm_runtime_get_noresume(mmc_dev(host->mmc)); in sdhci_runtime_pm_bus_on()
[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 Domap.c3 * linux/drivers/mmc/host/omap.c
23 #include <linux/mmc/host.h>
24 #include <linux/mmc/card.h>
25 #include <linux/mmc/mmc.h>
30 #include <linux/platform_data/mmc-omap.h>
115 struct mmc_host *mmc; member
127 struct mmc_host * mmc; member
129 unsigned char id; /* 16xx chips have 2 MMC blocks */
209 while (host->mmc != NULL) { in mmc_omap_select_slot()
211 wait_event(host->slot_wq, host->mmc == NULL); in mmc_omap_select_slot()
[all …]
H A Dmmci.c3 * linux/drivers/mmc/host/mmci.c - ARM PrimeCell MMCI PL180/1 driver
21 #include <linux/mmc/mmc.h>
22 #include <linux/mmc/pm.h>
23 #include <linux/mmc/host.h>
24 #include <linux/mmc/card.h>
25 #include <linux/mmc/sd.h>
26 #include <linux/mmc/slot-gpio.h>
371 static int mmci_card_busy(struct mmc_host *mmc) in mmci_card_busy() argument
373 struct mmci_host *host = mmc_priv(mmc); in mmci_card_busy()
485 host->mmc->actual_clock = host->cclk; in mmci_set_clkreg()
[all …]
H A Dsdhci-msm.c3 * drivers/mmc/host/sdhci-msm.c - Qualcomm SDHCI Platform driver
10 #include <linux/mmc/mmc.h>
280 struct mmc_host *mmc; member
348 struct mmc_ios ios = host->mmc->ios; in msm_get_clock_mult_for_bus_mode()
368 struct mmc_ios curr_ios = host->mmc->ios; in msm_set_clock_rate_for_bus_mode()
377 rc = dev_pm_opp_set_rate(mmc_dev(host->mmc), desired_rate); in msm_set_clock_rate_for_bus_mode()
380 mmc_hostname(host->mmc), desired_rate, curr_ios.timing); in msm_set_clock_rate_for_bus_mode()
392 mmc_hostname(host->mmc), desired_rate, achieved_rate); in msm_set_clock_rate_for_bus_mode()
393 host->mmc->actual_clock = achieved_rate / mult; in msm_set_clock_rate_for_bus_mode()
399 mmc_hostname(host->mmc), achieved_rate, curr_ios.timing); in msm_set_clock_rate_for_bus_mode()
[all …]
H A Dsdhci-of-k1.c12 #include <linux/mmc/card.h>
13 #include <linux/mmc/host.h>
14 #include <linux/mmc/mmc.h>
100 if (!(host->mmc->caps2 & MMC_CAP2_NO_MMC)) in spacemit_sdhci_reset()
114 if (!(host->mmc->caps2 & MMC_CAP2_NO_SDIO)) in spacemit_sdhci_set_uhs_signaling()
120 struct mmc_host *mmc = host->mmc; in spacemit_sdhci_set_clock() local
122 if (mmc->ios.timing <= MMC_TIMING_UHS_SDR50) in spacemit_sdhci_set_clock()
150 dev_warn(mmc_dev(host->mmc), "fail to lock phy dll in 100us!\n"); in spacemit_sdhci_phy_dll_init()
153 static void spacemit_sdhci_hs400_enhanced_strobe(struct mmc_host *mmc, struct mmc_ios *ios) in spacemit_sdhci_hs400_enhanced_strobe() argument
155 struct sdhci_host *host = mmc_priv(mmc); in spacemit_sdhci_hs400_enhanced_strobe()
[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 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/drivers/staging/greybus/
H A Dsdio.c3 * SD/MMC Greybus driver.
10 #include <linux/mmc/core.h>
11 #include <linux/mmc/host.h>
12 #include <linux/mmc/mmc.h>
22 struct mmc_host *mmc; member
86 host->mmc->caps = caps; in _gb_sdio_set_host_caps()
87 host->mmc->caps2 = caps2 | MMC_CAP2_CORE_RUNTIME_PM; in _gb_sdio_set_host_caps()
118 struct mmc_host *mmc = host->mmc; in gb_sdio_get_caps() local
141 mmc->max_blk_size = rounddown_pow_of_two(blksz); in gb_sdio_get_caps()
142 mmc->max_blk_count = le16_to_cpu(response.max_blk_count); in gb_sdio_get_caps()
[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>>...54