/linux/drivers/mmc/host/ |
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 | 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 | 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 | 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 | 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 189 static void jz4740_mmc_write_irq_mask(struct jz4740_mmc_host *host, in jz4740_mmc_write_irq_mask() argument [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 | 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 | mmci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/host/mmci.c - ARM PrimeCell MMCI PL180/1 driver 6 * Copyright (C) 2010 ST-Ericsson SA 21 #include <linux/mmc/mmc.h> 22 #include <linux/mmc/pm.h> 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/card.h> 25 #include <linux/mmc/sd.h> 26 #include <linux/mmc/slot-gpio.h> 33 #include <linux/dma-mapping.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 14 added host drivers please don't invent their private macro for 18 tristate "Sunplus SP7021 MMC Controller" 21 If you say yes here, you will get support for eMMC host interface 43 Qcom SOCs and MMC, you would probably need this option to get DMA working. [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 88 static inline unsigned int sdricoh_readl(struct sdricoh_host *host, in sdricoh_readl() argument 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() [all …]
|
H A D | sdhci-msm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/mmc/host/sdhci-msm.c - Qualcomm SDHCI Platform driver 5 * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. 10 #include <linux/mmc/mmc.h> 23 #include "sdhci-cqhci.h" 24 #include "sdhci-pltfm.h" 123 #define INVALID_TUNING_PHASE -1 140 /* Max load for eMMC Vdd-io supply */ 146 /* Max load for SD Vdd-io supply */ 149 #define msm_host_readl(msm_host, host, offset) \ argument [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> 69 int (*tuning_prepare)(struct mmci_host *host); 81 static int sdmmc_idma_validate_data(struct mmci_host *host, in sdmmc_idma_validate_data() argument 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() [all …]
|
H A D | mtk-sd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2014-2015, 2022 MediaTek Inc. 12 #include <linux/dma-mapping.h> 28 #include <linux/mmc/card.h> 29 #include <linux/mmc/core.h> 30 #include <linux/mmc/host.h> 31 #include <linux/mmc/mmc.h> 32 #include <linux/mmc/sd.h> 33 #include <linux/mmc/sdio.h> 34 #include <linux/mmc/slot-gpio.h> [all …]
|
H A D | sdhci-of-k1.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2023-2025 SpacemiT (Hangzhou) Technology Co. Ltd 12 #include <linux/mmc/card.h> 13 #include <linux/mmc/host.h> 14 #include <linux/mmc/mmc.h> 21 #include "sdhci-pltfm.h" 69 static inline void spacemit_sdhci_setbits(struct sdhci_host *host, u32 val, int reg) in spacemit_sdhci_setbits() argument 71 sdhci_writel(host, sdhci_readl(host, reg) | val, reg); in spacemit_sdhci_setbits() 74 static inline void spacemit_sdhci_clrbits(struct sdhci_host *host, u32 val, int reg) in spacemit_sdhci_clrbits() argument 76 sdhci_writel(host, sdhci_readl(host, reg) & ~val, reg); in spacemit_sdhci_clrbits() [all …]
|
H A D | toshsd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Toshiba PCI Secure Digital Host Controller Interface driver 9 * sdhci.c, copyright (C) 2005-2006 Pierre Ossman 21 #include <linux/mmc/host.h> 22 #include <linux/mmc/mmc.h> 35 static void toshsd_init(struct toshsd_host *host) in toshsd_init() argument 38 pci_write_config_byte(host->pdev, SD_PCICFG_CLKSTOP, in toshsd_init() 40 pci_write_config_byte(host->pdev, SD_PCICFG_CARDDETECT, 2); in toshsd_init() 43 iowrite16(0, host->ioaddr + SD_SOFTWARERESET); /* assert */ in toshsd_init() 45 iowrite16(1, host->ioaddr + SD_SOFTWARERESET); /* deassert */ in toshsd_init() [all …]
|
H A D | sdhci-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/dma-mapping.h> 17 #include <linux/mmc/card.h> 18 #include <linux/mmc/host.h> 19 #include <linux/mmc/mmc.h> 20 #include <linux/mmc/slot-gpio.h> 32 #include "sdhci-cqhci.h" 33 #include "sdhci-pltfm.h" 130 /* SDMMC CQE Base Address for Tegra Host Ver 4.1 and Higher */ 188 static u16 tegra_sdhci_readw(struct sdhci_host *host, int reg) in tegra_sdhci_readw() argument [all …]
|
H A D | wbsd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * linux/drivers/mmc/host/wbsd.c - Winbond W83L51xD SD/MMC driver 5 * Copyright (C) 2004-2007 Pierre Ossman, All Rights Reserved. 12 * - FIFO size field in FSR is always zero. 14 * - FIFO interrupts tend not to work as they should. Interrupts are 17 * - On APIC systems the FIFO empty interrupt is sometimes lost. 26 #include <linux/dma-mapping.h> 30 #include <linux/mmc/host.h> 31 #include <linux/mmc/mmc.h> 32 #include <linux/mmc/sd.h> [all …]
|
H A D | alcor.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2018 Oleksij Rempel <linux@rempel-privat.de> 10 * As soon as some one with documentation or more experience in SD/MMC, or 12 * thing what I did. 2018 Oleksij Rempel <linux@rempel-privat.de> 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/mmc.h> 73 static inline void alcor_rmw8(struct alcor_sdmmc_host *host, unsigned int addr, in alcor_rmw8() argument 76 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_rmw8() 88 static inline void alcor_mask_sd_irqs(struct alcor_sdmmc_host *host) in alcor_mask_sd_irqs() argument 90 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_mask_sd_irqs() [all …]
|
H A D | sdhci-brcmstb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sdhci-brcmstb.c Support for SDHCI on Broadcom BRCMSTB SoC's 10 #include <linux/mmc/host.h> 16 #include "sdhci-cqhci.h" 17 #include "sdhci-pltfm.h" 57 void (*cfginit)(struct sdhci_host *host); 58 void (*hs400es)(struct mmc_host *mmc, struct mmc_ios *ios); 63 static inline void enable_clock_gating(struct sdhci_host *host) in enable_clock_gating() argument 65 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); in enable_clock_gating() 69 if (!(priv->flags & BRCMSTB_PRIV_FLAGS_GATE_CLOCK)) in enable_clock_gating() [all …]
|
H A D | mvsdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Marvell MMC/SD/SDIO driver 6 * Copyright (C) 2008-2009 Marvell Ltd. 16 #include <linux/dma-mapping.h> 21 #include <linux/mmc/host.h> 22 #include <linux/mmc/slot-gpio.h> 48 struct mmc_host *mmc; member 56 static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data) in mvsd_setup_data() argument 58 void __iomem *iobase = host->base; in mvsd_setup_data() 77 dev_warn(host->dev, "FIFO_EMPTY bit missing\n"); in mvsd_setup_data() [all …]
|
H A D | dw_mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include <linux/dma-mapping.h> 30 #include <linux/mmc/card.h> 31 #include <linux/mmc/host.h> 32 #include <linux/mmc/mmc.h> 33 #include <linux/mmc/sd.h> 34 #include <linux/mmc/sdio.h> 38 #include <linux/mmc/slot-gpio.h> 73 ((d)->des2 = ((d)->des2 & cpu_to_le32(0x03ffe000)) | \ 78 u32 des4; /* Lower 32-bits of Buffer Address Pointer 1*/ [all …]
|
H A D | sunplus-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Author: Li-hao Kuo <lhjeff911@gmail.com> 11 #include <linux/dma-mapping.h> 14 #include <linux/mmc/core.h> 15 #include <linux/mmc/host.h> 16 #include <linux/mmc/mmc.h> 17 #include <linux/mmc/sdio.h> 18 #include <linux/mmc/slot-gpio.h> 167 struct mmc_host *mmc; member 176 static inline int spmmc_wait_finish(struct spmmc_host *host) in spmmc_wait_finish() argument [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 24 struct mutex lock; /* lock for this host */ 53 u32 opcode = cmd->opcode; in single_op() [all …]
|
/linux/drivers/mmc/core/ |
H A D | host.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/core/host.c 6 * Copyright (C) 2007-2008 Pierre Ossman 9 * MMC host class device management 21 #include <linux/mmc/host.h> 22 #include <linux/mmc/card.h> 23 #include <linux/mmc/slot-gpio.h> 27 #include "host.h" 28 #include "slot-gpio.h" 39 struct mmc_host *host = cls_dev_to_mmc_host(dev); in mmc_host_class_prepare() local [all …]
|
H A D | regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Helper functions for MMC regulators. 11 #include <linux/mmc/host.h> 14 #include "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. [all …]
|