/linux-6.14.4/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 21 #include <linux/mmc/host.h> 22 #include <linux/mmc/card.h> 23 #include <linux/mmc/slot-gpio.h> 28 #include "slot-gpio.h" 45 if (!host->bus_ops) in mmc_host_class_prepare() 49 if (host->bus_ops->pre_suspend) in mmc_host_class_prepare() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/mmc/ |
D | mmc-controller-common.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mmc/mmc-controller-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MMC Controller & Slots Common Properties 10 - Ulf Hansson <[email protected]> 13 These properties are common to multiple MMC host controllers and the 14 possible slots or ports for multi-slot controllers. 17 "#address-cells": 22 "#size-cells": [all …]
|
D | sunplus,mmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/mmc/sunplus,mmc.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Sunplus MMC Controller 11 - Tony Huang <[email protected]> 12 - Li-hao Kuo <[email protected]> 15 - $ref: mmc-controller.yaml 20 - sunplus,sp7021-mmc 35 - compatible [all …]
|
D | sprd,sdhci-r11.yaml | 1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/mmc/sprd,sdhci-r11.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Orson Zhai <[email protected]> 11 - Baolin Wang <[email protected]> 12 - Chunyan Zhang <[email protected]> 16 const: sprd,sdhci-r11 27 - description: SDIO source clock 28 - description: gate clock for enabling/disabling the device [all …]
|
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 <[email protected]> 11 - Wenbin Mei <[email protected]> 16 - enum: 17 - mediatek,mt2701-mmc 18 - mediatek,mt2712-mmc 19 - mediatek,mt6779-mmc [all …]
|
D | marvell,xenon-sdhci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mmc/marvell,xenon-sdhci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 This file documents differences between the core MMC properties described by 11 mmc-controller.yaml and the properties used by the Xenon implementation. 20 - Ulf Hansson <[email protected]> 25 - enum: 26 - marvell,armada-cp110-sdhci 27 - marvell,armada-ap806-sdhci [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/arch/riscv/boot/dts/sophgo/ |
D | cv1812h-huashan-pi.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 6 /dts-v1/; 12 compatible = "sophgo,huashan-pi", "sophgo,cv1812h"; 27 stdout-path = "serial0:115200n8"; 30 reserved-memory { 31 #address-cells = <1>; 32 #size-cells = <1>; 37 no-map; 43 clock-frequency = <25000000>; 48 bus-width = <4>; [all …]
|
/linux-6.14.4/arch/arm64/boot/dts/rockchip/ |
D | rk3566-radxa-zero-3w.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include "rk3566-radxa-zero-3.dtsi" 9 compatible = "radxa,zero-3w", "rockchip,rk3566"; 17 sdio_pwrseq: sdio-pwrseq { 18 compatible = "mmc-pwrseq-simple"; 20 clock-names = "ext_clock"; 21 pinctrl-names = "default"; 22 pinctrl-0 = <&wifi_reg_on_h>; 23 post-power-on-delay-ms = <100>; [all …]
|
/linux-6.14.4/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> 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 …]
|
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 | 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 …]
|
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 | 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 …]
|
D | sdhci-pxav3.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <linux/mmc/card.h> 16 #include <linux/mmc/host.h> 28 #include "sdhci-pltfm.h" 80 dev_err(&pdev->dev, "no mbus dram info\n"); in mv_conf_mbus_windows() 81 return -EINVAL; in mv_conf_mbus_windows() 86 dev_err(&pdev->dev, "cannot get mbus registers\n"); in mv_conf_mbus_windows() 87 return -EINVAL; in mv_conf_mbus_windows() 90 regs = ioremap(res->start, resource_size(res)); in mv_conf_mbus_windows() 92 dev_err(&pdev->dev, "cannot map mbus registers\n"); in mv_conf_mbus_windows() [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> 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() 91 * excepted the last element which has no constraint on idmasize in sdmmc_idma_validate_data() 93 idma->use_bounce_buffer = false; in sdmmc_idma_validate_data() 94 for_each_sg(data->sg, sg, data->sg_len - 1, i) { in sdmmc_idma_validate_data() [all …]
|
D | sdhci-of-sparx5.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * drivers/mmc/host/sdhci-of-sparx5.c 17 #include <linux/dma-mapping.h> 20 #include "sdhci-pltfm.h" 46 ((addr | (SZ_128M - 1)) == ((addr + len - 1) | (SZ_128M - 1))) 64 mmc_hostname(host->mmc), len, &addr); in sdhci_sparx5_adma_write_desc() 66 offset = addr & (SZ_128M - 1); in sdhci_sparx5_adma_write_desc() 67 tmplen = SZ_128M - offset; in sdhci_sparx5_adma_write_desc() 71 len -= tmplen; in sdhci_sparx5_adma_write_desc() 80 pr_debug("%s: Set Cacheable = 0x%x\n", mmc_hostname(host->mmc), value); in sparx5_set_cacheable() [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> 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 …]
|
D | mmc_spi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Access SD/MMC cards through SPI master controllers 7 * (C) Copyright 2006-2007, David Brownell 9 * Hans-Peter Nilsson ([email protected]) 19 #include <linux/crc-itu-t.h> 22 #include <linux/mmc/host.h> 23 #include <linux/mmc/mmc.h> /* for R1_SPI_* bit values */ 24 #include <linux/mmc/slot-gpio.h> 34 * - For now, we won't try to interoperate with a real mmc/sd/sdio 36 * SPI protocol. The main reason for such configs would be mmc-ish [all …]
|
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 …]
|
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 <[email protected]> 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 …]
|
/linux-6.14.4/arch/arm64/boot/dts/mediatek/ |
D | mt7986a-bananapi-bpi-r3-emmc.dtso | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 /dts-v1/; 11 compatible = "bananapi,bpi-r3", "mediatek,mt7986a"; 14 &{/soc/mmc@11230000} { 15 bus-width = <8>; 16 max-frequency = <200000000>; 17 cap-mmc-highspeed; 18 mmc-hs200-1_8v; 19 mmc-hs400-1_8v; 20 hs400-ds-delay = <0x14014>; [all …]
|
D | mt7988a-bananapi-bpi-r4-emmc.dtso | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Author: Frank Wunderlich <frank-w@public-files.de> 7 /dts-v1/; 11 compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; 14 &{/soc/mmc@11230000} { 15 pinctrl-names = "default", "state_uhs"; 16 pinctrl-0 = <&mmc0_pins_emmc_51>; 17 pinctrl-1 = <&mmc0_pins_emmc_51>; 18 bus-width = <8>; 19 max-frequency = <200000000>; [all …]
|
/linux-6.14.4/arch/arm/boot/dts/st/ |
D | ste-href.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2012 ST-Ericsson AB 6 #include <dt-bindings/interrupt-controller/irq.h> 7 #include <dt-bindings/leds/common.h> 8 #include "ste-href-family-pinctrl.dtsi" 17 compatible = "simple-battery"; 18 battery-type = "lithium-ion-polymer"; 21 thermal-zones { 22 battery-thermal { 24 polling-delay = <0>; [all …]
|