| /linux/drivers/mmc/host/ |
| H A D | meson-mx-sdhc-mmc.c | 3 * 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 D | mmc_hsq.c | 4 * 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 D | cqhci-core.c | 16 #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 D | pxamci.c | 3 * 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 D | mxcmmc.c | 3 * 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 D | litex_mmc.c | 23 #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 D | sdhci.c | 3 * 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 D | sdricoh_cs.c | 25 #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 D | sdhci-brcmstb.c | 10 #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 D | usdhi6rol0.c | 16 #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 D | mmci_stm32_sdmmc.c | 10 #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 D | moxart-mmc.c | 2 * 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 D | ushc.c | 20 #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 D | owl-mmc.c | 3 * 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 D | mmc_spi.c | 3 * 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 D | sdhci-st.txt | 1 * 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 D | cavium-mmc.txt | 1 * 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 D | ingenic,mmc.yaml | 4 $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 D | owl-mmc.yaml | 4 $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 D | mmc-controller-common.yaml | 4 $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 D | mxs-mmc.yaml | 4 $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 D | fsl-imx-mmc.yaml | 4 $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 D | moxa,moxart-mmc.txt | 1 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 D | mmc-async-req.rst | 2 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 D | clk-mod0.c | 172 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 …]
|