| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/mmc/ |
| D | mmc.txt | 1 These properties are common to multiple MMC host controllers. Any host 6 - reg: Registers location and length. 7 - interrupts: Interrupts used by the MMC controller. 10 If no property below is supplied, host native card detect is used. 12 - broken-cd: There is no card detection available; polling must be used. 13 - cd-gpios: Specify GPIOs for card detection, see gpio binding 14 - non-removable: non-removable slot (like eMMC); assume always present. 17 - bus-width: Number of data lines, can be <1>, <4>, or <8>. The default 19 - wp-gpios: Specify GPIOs for write protection, see gpio binding 20 - cd-inverted: when present, polarity on the CD line is inverted. See the note [all …]
|
| /kernel/linux/linux-5.10/drivers/mmc/core/ |
| 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 …]
|
| 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 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/card.h> 25 #include <linux/mmc/slot-gpio.h> 29 #include "slot-gpio.h" 46 if (!host->bus_ops) in mmc_host_class_prepare() 50 if (host->bus_ops->pre_suspend) in mmc_host_class_prepare() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mmc/ |
| D | mmc-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/mmc-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MMC Controller Generic Binding 10 - Ulf Hansson <ulf.hansson@linaro.org> 13 These properties are common to multiple MMC host controllers. Any host 17 It is possible to assign a fixed index mmcN to an MMC host controller 23 pattern: "^mmc(@.*)?$" 25 "#address-cells": [all …]
|
| D | sdhci-sprd.txt | 1 * Spreadtrum SDHCI controller (sdhci-sprd) 4 for MMC, SD and SDIO types of cards. 6 This file documents differences between the core properties in mmc.txt 7 and the properties used by the sdhci-sprd driver. 10 - compatible: Should contain "sprd,sdhci-r11". 11 - reg: physical base address of the controller and length. 12 - interrupts: Interrupts used by the SDHCI controller. 13 - clocks: Should contain phandle for the clock feeding the SDHCI controller 14 - clock-names: Should contain the following: 15 "sdio" - SDIO source clock (required) [all …]
|
| /kernel/linux/linux-4.19/Documentation/mmc/ |
| D | mmc-async-req.txt | 6 pre-fetch makes the cache overhead relatively significant. If the DMA 8 transfer, the DMA preparation overhead would not affect the MMC performance. 9 The intention of non-blocking (asynchronous) MMC requests is to minimize the 10 time between when an MMC request ends and another MMC request begins. 11 Using mmc_wait_for_req(), the MMC controller is idle while dma_map_sg and 12 dma_unmap_sg are processing. Using non-blocking MMC requests makes it 14 MMC request. 16 MMC block driver 19 The mmc_blk_issue_rw_rq() in the MMC block driver is made non-blocking. 22 a request and how fast the memory is. The faster the MMC/SD is the [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/mmc/ |
| 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 …]
|
| /kernel/linux/linux-4.19/drivers/mmc/core/ |
| D | host.c | 2 * linux/drivers/mmc/core/host.c 5 * Copyright (C) 2007-2008 Pierre Ossman 12 * MMC host class device management 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/card.h> 27 #include <linux/mmc/slot-gpio.h> 31 #include "slot-gpio.h" 42 ida_simple_remove(&mmc_host_ida, host->index); in mmc_host_classdev_release() 63 host->can_retune = 1; in mmc_retune_enable() 64 if (host->retune_period) in mmc_retune_enable() [all …]
|
| /kernel/linux/linux-5.10/drivers/mmc/host/ |
| 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> 22 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_retry_handler() local 24 mmc->ops->request(mmc, hsq->mrq); in mmc_hsq_retry_handler() 29 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_pump_requests() local 34 spin_lock_irqsave(&hsq->lock, flags); in mmc_hsq_pump_requests() 37 if (hsq->mrq) { in mmc_hsq_pump_requests() 38 spin_unlock_irqrestore(&hsq->lock, flags); in mmc_hsq_pump_requests() [all …]
|
| D | davinci_mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * davinci_mmc.c - TI DaVinci MMC/SD/SDIO driver 16 #include <linux/mmc/host.h> 21 #include <linux/dma-mapping.h> 22 #include <linux/mmc/mmc.h> 25 #include <linux/mmc/slot-gpio.h> 28 #include <linux/platform_data/mmc-davinci.h> 38 #define DAVINCI_MMCTOR 0x14 /* Response Time-Out Register */ 39 #define DAVINCI_MMCTOD 0x18 /* Data Read Time-Out Register */ 145 #define MAX_CCNT ((1 << 16) - 1) [all …]
|
| 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 …]
|
| 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> 24 #include <linux/mmc/host.h> 25 #include <linux/mmc/mmc.h> 75 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_rmw8() 89 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_mask_sd_irqs() 96 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_unmask_sd_irqs() 106 struct alcor_pci_priv *priv = host->alcor_pci; in alcor_reset() [all …]
|
| 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> 62 * excepted the last element which has no constraint on idmasize in sdmmc_idma_validate_data() 64 for_each_sg(data->sg, sg, data->sg_len - 1, i) { in sdmmc_idma_validate_data() 65 if (!IS_ALIGNED(data->sg->offset, sizeof(u32)) || in sdmmc_idma_validate_data() 66 !IS_ALIGNED(data->sg->length, SDMMC_IDMA_BURST)) { in sdmmc_idma_validate_data() 67 dev_err(mmc_dev(host->mmc), in sdmmc_idma_validate_data() [all …]
|
| D | s3cmci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver 5 * Copyright (C) 2004-2006 maintech GmbH, Thomas Kleffel <tk@maintech.de> 8 * Copyright (C) 2008 Simtec Electronics <ben-linux@fluff.org> 13 #include <linux/dma-mapping.h> 15 #include <linux/mmc/host.h> 26 #include <linux/mmc/slot-gpio.h> 27 #include <linux/platform_data/mmc-s3cmci.h> 31 #define DRIVER_NAME "s3c-mci" 133 dev_err(&host->pdev->dev, args); \ [all …]
|
| D | cb710-mmc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * cb710/mmc.c 5 * Copyright by Michał Mirosław, 2008-2009 11 #include "cb710-mmc.h" 20 (ARRAY_SIZE(cb710_clock_divider_log2) - 1) 27 static void cb710_mmc_select_clock_divider(struct mmc_host *mmc, int hz) in cb710_mmc_select_clock_divider() argument 29 struct cb710_slot *slot = cb710_mmc_to_slot(mmc); in cb710_mmc_select_clock_divider() 30 struct pci_dev *pdev = cb710_slot_to_chip(slot)->pdev; in cb710_mmc_select_clock_divider() 37 * indexes 1-7 work as written in the table in cb710_mmc_select_clock_divider() 38 * indexes 0,8-15 give no clock output in cb710_mmc_select_clock_divider() [all …]
|
| D | cqhci.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> 37 return cq_host->desc_base + (tag * cq_host->slot_sz); in get_desc() 44 return desc + cq_host->task_desc_len; in get_link_desc() 49 return cq_host->trans_desc_dma_base + in get_trans_desc_dma() 50 (cq_host->mmc->max_segs * tag * in get_trans_desc_dma() 51 cq_host->trans_desc_len); in get_trans_desc_dma() [all …]
|
| 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> 36 #include <linux/mmc/slot-gpio.h> 40 #include <linux/platform_data/mmc-mxcmmc.h> 42 #include <linux/platform_data/dma-imx.h> 44 #define DRIVER_NAME "mxc-mmc" 121 struct mmc_host *mmc; member [all …]
|
| /kernel/linux/linux-4.19/drivers/mmc/host/ |
| D | davinci_mmc.c | 2 * davinci_mmc.c - TI DaVinci MMC/SD/SDIO driver 29 #include <linux/mmc/host.h> 34 #include <linux/dma-mapping.h> 35 #include <linux/mmc/mmc.h> 38 #include <linux/mmc/slot-gpio.h> 41 #include <linux/platform_data/mmc-davinci.h> 51 #define DAVINCI_MMCTOR 0x14 /* Response Time-Out Register */ 52 #define DAVINCI_MMCTOD 0x18 /* Data Read Time-Out Register */ 158 #define MAX_CCNT ((1 << 16) - 1) 184 struct mmc_host *mmc; member [all …]
|
| D | cb710-mmc.c | 2 * cb710/mmc.c 4 * Copyright by Michał Mirosław, 2008-2009 14 #include "cb710-mmc.h" 21 (ARRAY_SIZE(cb710_clock_divider_log2) - 1) 28 static void cb710_mmc_select_clock_divider(struct mmc_host *mmc, int hz) in cb710_mmc_select_clock_divider() argument 30 struct cb710_slot *slot = cb710_mmc_to_slot(mmc); in cb710_mmc_select_clock_divider() 31 struct pci_dev *pdev = cb710_slot_to_chip(slot)->pdev; in cb710_mmc_select_clock_divider() 38 * indexes 1-7 work as written in the table in cb710_mmc_select_clock_divider() 39 * indexes 0,8-15 give no clock output in cb710_mmc_select_clock_divider() 67 * - it gets set later if any interrupt sources are enabled */ in __cb710_mmc_enable_irq() [all …]
|
| D | cqhci.c | 18 #include <linux/dma-mapping.h> 24 #include <linux/mmc/mmc.h> 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/card.h> 45 return cq_host->desc_base + (tag * cq_host->slot_sz); in get_desc() 52 return desc + cq_host->task_desc_len; in get_link_desc() 57 return cq_host->trans_desc_dma_base + in get_trans_desc_dma() 58 (cq_host->mmc->max_segs * tag * in get_trans_desc_dma() 59 cq_host->trans_desc_len); in get_trans_desc_dma() 64 return cq_host->trans_desc_base + in get_trans_desc() [all …]
|
| D | tmio_mmc_core.c | 2 * Driver for the MMC / SD / SDIO IP found in: 4 * TC6393XB, TC6391XB, TC6387XB, T7L66XB, ASIC3, SH-Mobile SoCs 6 * Copyright (C) 2015-17 Renesas Electronics Corporation 7 * Copyright (C) 2016-17 Sang Engineering, Wolfram Sang 25 * Handle MMC errors better 37 #include <linux/mmc/card.h> 38 #include <linux/mmc/host.h> 39 #include <linux/mmc/mmc.h> 40 #include <linux/mmc/slot-gpio.h> 47 #include <linux/mmc/sdio.h> [all …]
|
| D | sdhci.c | 2 * linux/drivers/mmc/host/sdhci.c - Secure Digital Host Controller Interface driver 4 * Copyright (C) 2005-2008 Pierre Ossman, All Rights Reserved. 13 * - JMicron (hardware and technical support) 21 #include <linux/dma-mapping.h> 32 #include <linux/mmc/mmc.h> 33 #include <linux/mmc/host.h> 34 #include <linux/mmc/card.h> 35 #include <linux/mmc/sdio.h> 36 #include <linux/mmc/slot-gpio.h> 43 pr_debug("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x) [all …]
|
| D | mxcmmc.c | 2 * linux/drivers/mmc/host/mxcmmc.c - Freescale i.MX MMCI driver 28 #include <linux/dma-mapping.h> 29 #include <linux/mmc/host.h> 30 #include <linux/mmc/card.h> 42 #include <linux/mmc/slot-gpio.h> 46 #include <linux/platform_data/mmc-mxcmmc.h> 48 #include <linux/platform_data/dma-imx.h> 50 #define DRIVER_NAME "mxc-mmc" 127 struct mmc_host *mmc; member 168 .name = "imx21-mmc", [all …]
|
| D | s3cmci.c | 2 * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver 4 * Copyright (C) 2004-2006 maintech GmbH, Thomas Kleffel <tk@maintech.de> 7 * Copyright (C) 2008 Simtec Electronics <ben-linux@fluff.org> 16 #include <linux/dma-mapping.h> 18 #include <linux/mmc/host.h> 30 #include <linux/mmc/slot-gpio.h> 32 #include <plat/gpio-cfg.h> 34 #include <mach/gpio-samsung.h> 36 #include <linux/platform_data/mmc-s3cmci.h> 40 #define DRIVER_NAME "s3c-mci" [all …]
|
| D | sdhci-pxav3.c | 25 #include <linux/mmc/card.h> 26 #include <linux/mmc/host.h> 27 #include <linux/mmc/slot-gpio.h> 40 #include "sdhci-pltfm.h" 92 dev_err(&pdev->dev, "no mbus dram info\n"); in mv_conf_mbus_windows() 93 return -EINVAL; in mv_conf_mbus_windows() 98 dev_err(&pdev->dev, "cannot get mbus registers\n"); in mv_conf_mbus_windows() 99 return -EINVAL; in mv_conf_mbus_windows() 102 regs = ioremap(res->start, resource_size(res)); in mv_conf_mbus_windows() 104 dev_err(&pdev->dev, "cannot map mbus registers\n"); in mv_conf_mbus_windows() [all …]
|