/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | mmc_core.c | 14 #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/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 | meson-mx-sdio.c | 3 * 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 D | meson-gx-mmc.c | 18 #include <linux/mmc/host.h> 19 #include <linux/mmc/mmc.h> 20 #include <linux/mmc/sdio.h> 21 #include <linux/mmc/slot-gpio.h> 31 #define DRIVER_NAME "meson-gx-mmc" 154 struct mmc_host *mmc; member 228 static void meson_mmc_get_transfer_mode(struct mmc_host *mmc, in meson_mmc_get_transfer_mode() argument 231 struct meson_host *host = mmc_priv(mmc); in meson_mmc_get_transfer_mode() 256 dev_warn_once(mmc_dev(mmc), in meson_mmc_get_transfer_mode() 267 dev_warn_once(mmc_dev(mmc), in meson_mmc_get_transfer_mode() [all …]
|
H A D | sunxi-mmc.c | 3 * Driver for sunxi SD/MMC host controllers 21 #include <linux/mmc/card.h> 22 #include <linux/mmc/core.h> 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/mmc.h> 25 #include <linux/mmc/sd.h> 26 #include <linux/mmc/sdio.h> 27 #include <linux/mmc/slot-gpio.h> 259 * a mode switch in the clock controller, or the mmc controller 271 struct mmc_host *mmc; member [all …]
|
H A D | mxs-mmc.c | 4 * Portions copyright (C) 2004-2005 Pierre Ossman, W83L51xD SD/MMC driver 24 #include <linux/mmc/host.h> 25 #include <linux/mmc/mmc.h> 26 #include <linux/mmc/sdio.h> 27 #include <linux/mmc/slot-gpio.h> 33 #define DRIVER_NAME "mxs-mmc" 50 struct mmc_host *mmc; member 61 static int mxs_mmc_get_cd(struct mmc_host *mmc) in mxs_mmc_get_cd() argument 63 struct mxs_mmc_host *host = mmc_priv(mmc); in mxs_mmc_get_cd() 70 ret = mmc_gpio_get_cd(mmc); in mxs_mmc_get_cd() [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 | wmt-sdmmc.c | 3 * WM8505/WM8650 SD/MMC Host Controller 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/mmc.h> 27 #include <linux/mmc/sd.h> 35 /* MMC/SD controller registers */ 121 /* MMC/SD DMA Controller Registers */ 185 struct mmc_host *mmc; member 222 static void wmt_mci_read_response(struct mmc_host *mmc) in wmt_mci_read_response() argument 229 priv = mmc_priv(mmc); in wmt_mci_read_response() 253 static int wmt_mci_send_command(struct mmc_host *mmc, u8 command, u8 cmdtype, in wmt_mci_send_command() argument [all …]
|
H A D | davinci_mmc.c | 3 * davinci_mmc.c - TI DaVinci MMC/SD/SDIO driver 16 #include <linux/mmc/host.h> 22 #include <linux/mmc/mmc.h> 24 #include <linux/mmc/slot-gpio.h> 27 #include <linux/platform_data/mmc-davinci.h> 170 struct mmc_host *mmc; member 196 /* Version of the MMC/SD controller */ 222 dev_err(mmc_dev(host->mmc), "ran out of sglist prematurely\n"); in davinci_fifo_data_trans() 264 dev_dbg(mmc_dev(host->mmc), "CMD%d, arg 0x%08x%s\n", in mmc_davinci_start_command() 305 dev_dbg(mmc_dev(host->mmc), "unknown resp_type %04x\n", in mmc_davinci_start_command() [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) 159 !mmc_card_is_removable(host->mmc) || mmc_can_gpio_cd(host->mmc)) in sdhci_set_card_detection() 191 pm_runtime_get_noresume(mmc_dev(host->mmc)); in sdhci_runtime_pm_bus_on() [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 | jz4740_mmc.c | 6 * 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 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 | omap_hsmmc.c | 2 * drivers/mmc/host/omap_hsmmc.c 4 * Driver for OMAP2430/3430 MMC controller. 34 #include <linux/mmc/host.h> 35 #include <linux/mmc/core.h> 36 #include <linux/mmc/mmc.h> 37 #include <linux/mmc/slot-gpio.h> 156 * MMC Host controller read/write API's 171 struct mmc_host *mmc; member 216 static int omap_hsmmc_enable_supply(struct mmc_host *mmc) in omap_hsmmc_enable_supply() argument 219 struct omap_hsmmc_host *host = mmc_priv(mmc); in omap_hsmmc_enable_supply() [all …]
|
H A D | sdhci-sprd.c | 12 #include <linux/mmc/host.h> 13 #include <linux/mmc/mmc.h> 109 { "sprd,phy-delay-mmc-highspeed", MMC_TIMING_MMC_HS, }, 110 { "sprd,phy-delay-mmc-ddr52", MMC_TIMING_MMC_DDR52, }, 111 { "sprd,phy-delay-mmc-hs200", MMC_TIMING_MMC_HS200, }, 112 { "sprd,phy-delay-mmc-hs400", MMC_TIMING_MMC_HS400, }, 113 { "sprd,phy-delay-mmc-hs400es", MMC_TIMING_MMC_HS400 + 1, }, 282 pr_err("%s: DLL locked fail!\n", mmc_hostname(host->mmc)); in sdhci_sprd_enable_phy_dll() 284 mmc_hostname(host->mmc), in sdhci_sprd_enable_phy_dll() 335 struct mmc_host *mmc = host->mmc; in sdhci_sprd_set_uhs_signaling() local [all …]
|
H A D | cavium.c | 2 * 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 …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | mtk-sd.yaml | 4 $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,mt8135-mmc 25 - mediatek,mt8173-mmc [all …]
|
H A D | allwinner,sun4i-a10-mmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/allwinner,sun4i-a10-mmc.yaml# 7 title: Allwinner A10 MMC Controller 10 - $ref: mmc-controller.yaml 22 - const: allwinner,sun4i-a10-mmc 23 - const: allwinner,sun5i-a13-mmc 24 - const: allwinner,sun7i-a20-mmc 26 - const: allwinner,sun9i-a80-mmc 27 - const: allwinner,sun20i-d1-mmc 29 - const: allwinner,sun50i-a64-mmc 31 - const: allwinner,sun50i-a100-mmc [all …]
|
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 …]
|
/linux/drivers/staging/greybus/ |
H A D | sdio.c | 3 * 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 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 …]
|