/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | mmc_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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 */ [all …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | mtk-sd.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/mtk-sd.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Chaotian Jing <chaotian.jing@mediatek.com> 11 - Wenbin Mei <wenbin.mei@mediatek.com> 16 - enum: 17 - mediatek,mt2701-mmc 18 - mediatek,mt2712-mmc 19 - mediatek,mt6779-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 5 used by the sdhci-st driver. 8 - compatible: Must be "st,sdhci" and it can be compatible to "st,sdhci-stih407" 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) 14 See: Documentation/devicetree/bindings/resource-names.txt 15 - clocks: Phandle to the clock. 16 See: Documentation/devicetree/bindings/clock/clock-bindings.txt 18 - interrupts: One mmc interrupt should be described here. [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. 10 - compatible : should be one of: 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 [all …]
|
H A D | ingenic,mmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Ingenic SoCs MMC Controller 10 - Paul Cercueil <paul@crapouillou.net> 13 - $ref: mmc-controller.yaml# 18 - enum: 19 - ingenic,jz4740-mmc 20 - ingenic,jz4725b-mmc [all …]
|
H A D | loongson,ls2k0500-mmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mmc/loongson,ls2k0500-mmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: The SD/SDIO/eMMC host controller for Loongson-2K family SoCs 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, 17 - Binbin Zhou <zhoubinbin@loongson.cn> 20 - $ref: mmc-controller.yaml# 25 - loongson,ls2k0500-mmc [all …]
|
H A D | owl-mmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mmc/owl-mmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Actions Semi Owl SoCs SD/MMC/SDIO controller 10 - $ref: mmc-controller.yaml 13 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 18 - const: actions,owl-mmc 19 - items: 20 - enum: [all …]
|
/linux/drivers/mmc/host/ |
H A D | meson-mx-sdhc-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Amlogic Meson6/Meson8/Meson8b/Meson8m2 SDHC MMC host controller driver. 10 #include <linux/dma-mapping.h> 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> 26 #include "meson-mx-sdhc.h" 38 void (*init_hw)(struct mmc_host *mmc); 39 void (*set_pdma)(struct mmc_host *mmc); [all …]
|
H A D | mmc_hsq.c | 1 // SPDX-License-Identifier: GPL-2.0 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() 32 mrq = hsq->slot[tag].mrq; in mmc_hsq_modify_threshold() 33 if (mrq && mrq->data && in mmc_hsq_modify_threshold() [all …]
|
H A D | cqhci-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/dma-mapping.h> 16 #include <linux/mmc/mmc.h> 17 #include <linux/mmc/host.h> 18 #include <linux/mmc/card.h> 21 #include "cqhci-crypto.h" 43 return cq_host->desc_base + (tag * cq_host->slot_sz); in get_desc() 50 return desc + cq_host->task_desc_len; in get_link_desc() 55 return cq_host->trans_desc_len * cq_host->mmc->max_segs * tag; in get_trans_desc_offset() 62 return cq_host->trans_desc_dma_base + offset; in get_trans_desc_dma() [all …]
|
H A D | meson-mx-sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * meson-mx-sdio.c - Meson6, Meson8 and Meson8b SDIO/MMC Host Controller 12 #include <linux/clk-provider.h> 15 #include <linux/dma-mapping.h> 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> 98 #define MESON_MX_SDIO_RESPONSE_CRC16_BITS (16 - 1) 118 struct mmc_host *mmc; member [all …]
|
H A D | pxamci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/host/pxa.c - PXA MMCI driver 8 * - No way to clear interrupts. 9 * - Have to turn off the clock whenever we touch the device. 10 * - Doesn't tell you how many data blocks were transferred. 23 #include <linux/dma-mapping.h> 26 #include <linux/mmc/host.h> 27 #include <linux/mmc/slot-gpio.h> 37 #include <linux/platform_data/mmc-pxamci.h> 41 #define DRIVER_NAME "pxa2xx-mci" [all …]
|
H A D | mxcmmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/host/mxcmmc.c - Freescale i.MX MMCI driver 24 #include <linux/dma-mapping.h> 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> 41 #include <linux/dma/imx-dma.h> 43 #define DRIVER_NAME "mxc-mmc" 120 struct mmc_host *mmc; member [all …]
|
H A D | litex_mmc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2019-2020 Antmicro <contact@antmicro.com> 6 * Copyright (C) 2019-2020 Kamil Rakoczy <krakoczy@antmicro.com> 7 * Copyright (C) 2019-2020 Maciej Dudek <mdudek@internships.antmicro.com> 9 * Copyright (C) 2020-2022 Gabriel Somlo <gsomlo@gmail.com> 15 #include <linux/dma-mapping.h> 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/mmc.h> 25 #include <linux/mmc/sd.h> 77 struct mmc_host *mmc; member [all …]
|
H A D | jz4740_mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2009-2010, Lars-Peter Clausen <lars@metafoo.de> 6 * JZ4740 SD/MMC controller driver 13 #include <linux/dma-mapping.h> 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 132 * is in-flight. This is used via the pre_req/post_req hooks. 150 struct mmc_host *mmc; member 192 if (host->version >= JZ_MMC_JZ4725B) in jz4740_mmc_write_irq_mask() [all …]
|
H A D | loongson2-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Loongson-2K MMC/SDIO controller driver 5 * Copyright (C) 2018-2025 Loongson Technology Corporation Limited. 14 #include <linux/dma-mapping.h> 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> [all …]
|
H A D | cavium.c | 2 * Shared part of driver for MMC/SDHC controller on Cavium OCTEON and 9 * Copyright (C) 2012-2017 Cavium Inc. 18 #include <linux/dma-direction.h> 19 #include <linux/dma-mapping.h> 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", [all …]
|
H A D | omap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/host/omap.c 18 #include <linux/dma-mapping.h> 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> 74 #define mmc_omap7xx() (host->features & MMC_OMAP7XX) 75 #define mmc_omap15xx() (host->features & MMC_OMAP15XX) 76 #define mmc_omap16xx() (host->features & MMC_OMAP16XX) [all …]
|
H A D | sdricoh_cs.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * sdricoh_cs.c - driver for Ricoh Secure Digital Card Readers that can be 6 * Copyright (C) 2006 - 2008 Sascha Sommer <saschasommer@freenet.de> 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/mmc.h> 77 /* mmc privdata */ 80 struct mmc_host *mmc; /* MMC structure */ member 91 unsigned int value = readl(host->iobase + reg); in sdricoh_readl() 92 dev_vdbg(host->dev, "rl %x 0x%x\n", reg, value); in sdricoh_readl() 99 writel(value, host->iobase + reg); in sdricoh_writel() [all …]
|
H A D | rtsx_pci_sdmmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* Realtek PCI-Express SD/MMC Card Interface driver 4 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved. 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); [all …]
|
H A D | usdhi6rol0.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2013-2014 Renesas Electronics Europe Ltd. 10 #include <linux/dma-mapping.h> 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 169 size_t offset; /* offset within a page, including sg->offset */ 211 iowrite32(data, host->base + reg); in usdhi6_write() [all …]
|
H A D | moxart-mmc.c | 2 * MOXA ART MMC host driver. 23 #include <linux/dma-mapping.h> 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/sd.h> 82 /* 1-10 below can be sent to either registers, interrupt or clear. */ 119 #define MIN_POWER (MMC_VDD_360 - SD_POWER_MASK) 132 struct mmc_host *mmc; member 154 host->cur_sg = data->sg; in moxart_init_sg() 155 host->num_sg = data->sg_len; in moxart_init_sg() 156 host->data_remain = host->cur_sg->length; in moxart_init_sg() [all …]
|
H A D | mmci_stm32_sdmmc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) STMicroelectronics 2018 - All Rights Reserved 8 #include <linux/dma-mapping.h> 10 #include <linux/mmc/host.h> 11 #include <linux/mmc/card.h> 84 struct sdmmc_idma *idma = host->dma_priv; in sdmmc_idma_validate_data() 85 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_validate_data() 93 idma->use_bounce_buffer = false; in sdmmc_idma_validate_data() 94 for_each_sg(data->sg, sg, data->sg_len - 1, i) { in sdmmc_idma_validate_data() 95 if (!IS_ALIGNED(sg->offset, sizeof(u32)) || in sdmmc_idma_validate_data() [all …]
|
/linux/drivers/staging/greybus/ |
H A D | sdio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * SD/MMC Greybus driver. 5 * Copyright 2014-2015 Google Inc. 6 * Copyright 2014-2015 Linaro Ltd. 10 #include <linux/mmc/core.h> 11 #include <linux/mmc/host.h> 12 #include <linux/mmc/mmc.h> 22 struct mmc_host *mmc; member 53 u32 opcode = cmd->opcode; in single_op() 86 host->mmc->caps = caps; in _gb_sdio_set_host_caps() [all …]
|
/linux/Documentation/driver-api/mmc/ |
H A D | mmc-async-req.rst | 2 MMC Asynchronous Request 11 pre-fetch makes the cache overhead relatively significant. If the DMA 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. [all …]
|