Home
last modified time | relevance | path

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

12345678910>>...44

/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 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 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 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 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 …]
H A Dowl-mmc.c3 * Actions Semi Owl SoCs SD/MMC driver
17 #include <linux/mmc/host.h>
18 #include <linux/mmc/slot-gpio.h>
115 struct mmc_host *mmc; member
170 mmc_request_done(owl_host->mmc, mrq); in owl_mmc_finish_request()
217 dev_warn(owl_host->dev, "Unknown MMC command\n"); in owl_mmc_send_cmd()
340 static void owl_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in owl_mmc_request() argument
342 struct owl_mmc_host *owl_host = mmc_priv(mmc); in owl_mmc_request()
485 static void owl_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in owl_mmc_set_ios() argument
487 struct owl_mmc_host *owl_host = mmc_priv(mmc); in owl_mmc_set_ios()
[all …]
H A Dmmc_spi.c3 * Access SD/MMC cards through SPI master controllers
22 #include <linux/mmc/host.h>
23 #include <linux/mmc/mmc.h> /* for R1_SPI_* bit values */
24 #include <linux/mmc/slot-gpio.h>
34 * - For now, we won't try to interoperate with a real mmc/sd/sdio
36 * SPI protocol. The main reason for such configs would be mmc-ish
39 * We don't have a "DataFlash/MMC/SD/SDIO card slot" abstraction to
43 * - MMC depends on a different chipselect management policy than the
105 struct mmc_host *mmc; member
135 * MMC-over-SPI protocol glue, used by the MMC stack interface
[all …]
/linux/Documentation/devicetree/bindings/mmc/
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 …]
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 …]
H A Dmxs-mmc.yaml4 $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
7 title: Freescale MXS MMC controller
13 The Freescale MXS Synchronous Serial Ports (SSP) can act as a MMC controller
14 to support MMC, SD, and SDIO types of memory cards.
16 This file documents differences between the core properties in mmc.txt
20 - $ref: mmc-controller-common.yaml#
25 - fsl,imx23-mmc
26 - fsl,imx28-mmc
55 mmc@80010000 {
56 compatible = "fsl,imx28-mmc";
H A Dfsl-imx-mmc.yaml4 $id: http://devicetree.org/schemas/mmc/fsl-imx-mmc.yaml#
13 - $ref: mmc-controller.yaml
18 - const: fsl,imx21-mmc
19 - const: fsl,imx31-mmc
21 - const: fsl,imx27-mmc
22 - const: fsl,imx21-mmc
55 mmc@10014000 {
56 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
H A Dmoxa,moxart-mmc.txt1 MOXA ART MMC Host Controller Interface
3 Inherits from mmc binding[1].
5 [1] Documentation/devicetree/bindings/mmc/mmc.txt
9 - compatible : Must be "moxa,moxart-mmc" or "faraday,ftsdc010"
12 - clocks : Should contain phandle for the clock feeding the MMC controller
22 mmc: mmc@98e00000 {
23 compatible = "moxa,moxart-mmc";
/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 …]
/linux/drivers/clk/sunxi/
H A Dclk-mod0.c172 struct clk *mmc, *mmc_parent, *clk = hw->clk; in mmc_get_phase() local
185 /* Get the main MMC clock */ in mmc_get_phase()
186 mmc = clk_get_parent(clk); in mmc_get_phase()
187 if (!mmc) in mmc_get_phase()
191 mmc_rate = clk_get_rate(mmc); in mmc_get_phase()
195 /* Now, get the MMC parent (most likely some PLL) */ in mmc_get_phase()
196 mmc_parent = clk_get_parent(mmc); in mmc_get_phase()
205 /* Get MMC clock divider */ in mmc_get_phase()
214 struct clk *mmc, *mmc_parent, *clk = hw->clk; in mmc_set_phase() local
221 /* Get the main MMC clock */ in mmc_set_phase()
[all …]

12345678910>>...44