| /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 | 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 | 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 | 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 | 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 | 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 | 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 */ 209 static void usdhi6_write(struct usdhi6_host *host, u32 reg, u32 data) in usdhi6_write() argument [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 151 static inline void moxart_init_sg(struct moxart_host *host, in moxart_init_sg() argument 154 host->cur_sg = data->sg; in moxart_init_sg() 155 host->num_sg = data->sg_len; 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> 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 | 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 | 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 | 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 | 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 | 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 …]
|
| 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 | uniphier-sd.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (C) 2017-2018 Socionext Inc. 10 #include <linux/dma-mapping.h> 12 #include <linux/mmc/host.h> 59 * IP is extended to support various features: built-in DMA engine, 63 /* RX channel of the built-in DMA controller is broken (Pro5) */ 82 static void *uniphier_sd_priv(struct tmio_mmc_host *host) in uniphier_sd_priv() argument 84 return container_of(host->pdata, struct uniphier_sd_priv, tmio_data); in uniphier_sd_priv() 87 static void uniphier_sd_dma_endisable(struct tmio_mmc_host *host, int enable) in uniphier_sd_dma_endisable() argument 89 sd_ctrl_write16(host, CTL_DMA_ENABLE, enable ? DMA_ENABLE_DMASDRW : 0); in uniphier_sd_dma_endisable() [all …]
|
| H A D | sdhci-pci-gli.c | 1 // SPDX-License-Identifier: GPL-2.0+ 7 * Version: v0.9.0 (2019-08-08) 13 #include <linux/mmc/mmc.h> 18 #include "sdhci-cqhci.h" 19 #include "sdhci-pci.h" 21 #include "sdhci-uhs2.h" 306 static inline void gl9750_wt_on(struct sdhci_host *host) in gl9750_wt_on() argument 311 wt_value = sdhci_readl(host, SDHCI_GLI_9750_WT); in gl9750_wt_on() 320 sdhci_writel(host, wt_value, SDHCI_GLI_9750_WT); in gl9750_wt_on() 323 static inline void gl9750_wt_off(struct sdhci_host *host) in gl9750_wt_off() argument [all …]
|
| H A D | sdhci-bcm-kona.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/mmc/host.h> 14 #include <linux/mmc/slot-gpio.h> 16 #include "sdhci-pltfm.h" 47 static int sdhci_bcm_kona_sd_reset(struct sdhci_host *host) in sdhci_bcm_kona_sd_reset() argument 55 /* reset the host using the top level reset */ in sdhci_bcm_kona_sd_reset() 56 val = sdhci_readl(host, KONA_SDHOST_CORECTRL); in sdhci_bcm_kona_sd_reset() 58 sdhci_writel(host, val, KONA_SDHOST_CORECTRL); in sdhci_bcm_kona_sd_reset() 60 while (!(sdhci_readl(host, KONA_SDHOST_CORECTRL) & KONA_SDHOST_RESET)) { in sdhci_bcm_kona_sd_reset() 62 pr_err("Error: sd host is stuck in reset!!!\n"); in sdhci_bcm_kona_sd_reset() [all …]
|
| H A D | sdhci-pci-o2micro.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/mmc/host.h> 12 #include <linux/mmc/mmc.h> 18 #include "sdhci-pci.h" 84 static void sdhci_o2_wait_card_detect_stable(struct sdhci_host *host) in sdhci_o2_wait_card_detect_stable() argument 94 scratch32 = sdhci_readl(host, SDHCI_PRESENT_STATE); in sdhci_o2_wait_card_detect_stable() 101 mmc_hostname(host->mmc)); in sdhci_o2_wait_card_detect_stable() 102 sdhci_dumpregs(host); in sdhci_o2_wait_card_detect_stable() 109 static void sdhci_o2_enable_internal_clock(struct sdhci_host *host) in sdhci_o2_enable_internal_clock() argument 116 scratch32 = sdhci_readl(host, O2_PLL_DLL_WDT_CONTROL1); in sdhci_o2_enable_internal_clock() [all …]
|
| H A D | sdhci-pxav2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <linux/mmc/card.h> 18 #include <linux/mmc/host.h> 22 #include <linux/mmc/sdio.h> 23 #include <linux/mmc/mmc.h> 27 #include "sdhci-pltfm.h" 53 static void pxav2_reset(struct sdhci_host *host, u8 mask) in pxav2_reset() argument 55 struct platform_device *pdev = to_platform_device(mmc_dev(host->mmc)); in pxav2_reset() 56 struct sdhci_pxa_platdata *pdata = pdev->dev.platform_data; in pxav2_reset() 58 sdhci_reset(host, mask); in pxav2_reset() [all …]
|
| H A D | sdhci-of-sparx5.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * drivers/mmc/host/sdhci-of-sparx5.c 5 * MCHP Sparx5 SoC Secure Digital Host Controller Interface. 17 #include <linux/dma-mapping.h> 20 #include "sdhci-pltfm.h" 40 struct sdhci_host *host; member 46 ((addr | (SZ_128M - 1)) == ((addr + len - 1) | (SZ_128M - 1))) 52 static void sdhci_sparx5_adma_write_desc(struct sdhci_host *host, void **desc, in sdhci_sparx5_adma_write_desc() argument 59 sdhci_adma_write_desc(host, desc, addr, len, cmd); in sdhci_sparx5_adma_write_desc() 64 mmc_hostname(host->mmc), len, &addr); in sdhci_sparx5_adma_write_desc() [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 …]
|