/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 | sdhci-uhs2.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * linux/drivers/mmc/host/sdhci_uhs2.c - Secure Digital Host Controller 18 #include <linux/mmc/mmc.h> 19 #include <linux/mmc/host.h> 22 #include "sdhci-uhs2.h" 28 pr_err("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x) 39 if (!(mmc_card_uhs2(host->mmc))) in sdhci_uhs2_dump_regs() 73 return be16_to_cpu((__force __be16)cmd->uhs2_cmd->arg) & UHS2_ARG_IOADR_MASK; in uhs2_dev_cmd() 76 static inline int mmc_opt_regulator_set_ocr(struct mmc_host *mmc, in mmc_opt_regulator_set_ocr() argument 80 return IS_ERR_OR_NULL(supply) ? 0 : mmc_regulator_set_ocr(mmc, supply, vdd_bit); in mmc_opt_regulator_set_ocr() [all …]
|
H A D | davinci_mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * davinci_mmc.c - TI DaVinci MMC/SD/SDIO driver 13 #include <linux/dma-mapping.h> 20 #include <linux/mmc/host.h> 21 #include <linux/mmc/mmc.h> 22 #include <linux/mmc/slot-gpio.h> 24 #include <linux/platform_data/mmc-davinci.h> 36 #define DAVINCI_MMCTOR 0x14 /* Response Time-Out Register */ 37 #define DAVINCI_MMCTOD 0x18 /* Data Read Time-Out Register */ 143 #define MAX_CCNT ((1 << 16) - 1) [all …]
|
H A D | meson-gx-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <linux/dma-mapping.h> 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> 24 #include <linux/clk-provider.h> 31 #define DRIVER_NAME "meson-gx-mmc" 51 #define CLK_TX_DELAY_MASK(h) (h->data->tx_delay_mask) 52 #define CLK_RX_DELAY_MASK(h) (h->data->rx_delay_mask) [all …]
|
H A D | wmt-sdmmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * WM8505/WM8650 SD/MMC Host Controller 14 #include <linux/dma-mapping.h> 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/mmc.h> 27 #include <linux/mmc/sd.h> 32 #define DRIVER_NAME "wmt-sdhc" 35 /* MMC/SD controller registers */ 121 /* MMC/SD DMA Controller Registers */ 185 struct mmc_host *mmc; member [all …]
|
H A D | sunxi-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver for sunxi SD/MMC host controllers 4 * (C) Copyright 2007-2011 Reuuimlla Technology Co., Ltd. 5 * (C) Copyright 2007-2011 Aaron Maoye <leafy.myeh@reuuimllatech.com> 6 * (C) Copyright 2013-2014 O2S GmbH <www.o2s.ch> 7 * (C) Copyright 2013-2014 David Lanzendörfer <david.lanzendoerfer@o2s.ch> 8 * (C) Copyright 2013-2014 Hans de Goede <hdegoede@redhat.com> 13 #include <linux/clk/sunxi-ng.h> 16 #include <linux/dma-mapping.h> 21 #include <linux/mmc/card.h> [all …]
|
H A D | mxs-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Portions copyright (C) 2004-2005 Pierre Ossman, W83L51xD SD/MMC driver 7 * Copyright 2009-2011 Freescale Semiconductor, Inc. 17 #include <linux/dma-mapping.h> 19 #include <linux/dma/mxs-dma.h> 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> 31 #include <linux/spi/mxs-spi.h> [all …]
|
H A D | tmio_mmc_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for the MMC / SD / SDIO IP found in: 5 * TC6393XB, TC6391XB, TC6387XB, T7L66XB, ASIC3, SH-Mobile SoCs 7 * Copyright (C) 2015-19 Renesas Electronics Corporation 8 * Copyright (C) 2016-19 Sang Engineering, Wolfram Sang 22 * Handle MMC errors better 29 #include <linux/dma-mapping.h> 34 #include <linux/mmc/card.h> 35 #include <linux/mmc/host.h> 36 #include <linux/mmc/mmc.h> [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 | omap_hsmmc.c | 2 * drivers/mmc/host/omap_hsmmc.c 4 * Driver for OMAP2430/3430 MMC controller. 27 #include <linux/dma-mapping.h> 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> 44 #include <linux/platform_data/hsmmc-omap.h> 153 #define mmc_pdata(host) host->pdata 156 * MMC Host controller read/write API's [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 | sdhci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * linux/drivers/mmc/host/sdhci.c - Secure Digital Host Controller Interface driver 5 * Copyright (C) 2005-2008 Pierre Ossman, All Rights Reserved. 9 * - JMicron (hardware and technical support) 19 #include <linux/dma-mapping.h> 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> [all …]
|
H A D | sdhci-sprd.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/dma-mapping.h> 12 #include <linux/mmc/host.h> 13 #include <linux/mmc/mmc.h> 22 #include "sdhci-pltfm.h" 105 { "sprd,phy-delay-legacy", MMC_TIMING_LEGACY, }, 106 { "sprd,phy-delay-sd-highspeed", MMC_TIMING_SD_HS, }, 107 { "sprd,phy-delay-sd-uhs-sdr50", MMC_TIMING_UHS_SDR50, }, 108 { "sprd,phy-delay-sd-uhs-sdr104", MMC_TIMING_UHS_SDR104, }, 109 { "sprd,phy-delay-mmc-highspeed", MMC_TIMING_MMC_HS, }, [all …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | allwinner,sun4i-a10-mmc.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/allwinner,sun4i-a10-mmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Allwinner A10 MMC Controller 10 - $ref: mmc-controller.yaml 13 - Chen-Yu Tsai <wens@csie.org> 14 - Maxime Ripard <mripard@kernel.org> 17 "#address-cells": true 18 "#size-cells": true [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 | 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 | 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 …]
|
/linux/drivers/mmc/core/ |
H A D | regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Helper functions for MMC regulators. 11 #include <linux/mmc/host.h> 19 * mmc_ocrbitnum_to_vdd - Convert a OCR bit number to its voltage 32 return -EINVAL; in mmc_ocrbitnum_to_vdd() 40 tmp = vdd_bit - ilog2(MMC_VDD_165_195); in mmc_ocrbitnum_to_vdd() 53 * mmc_regulator_get_ocrmask - return mask of supported voltages 57 * can be provided to MMC/SD/SDIO devices using the specified voltage 59 * MMC host adapter. 95 * mmc_regulator_set_ocr - set regulator to match host->ios voltage [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 …]
|