| /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/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 | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # 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. 94 implements a hardware byte swapper using a 32-bit datum. 106 support UHS2-capable devices. [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 …]
|
| /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/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 …]
|