Home
last modified time | relevance | path

Searched +full:mmc +full:- +full:slot (Results 1 – 25 of 221) sorted by relevance

123456789

/linux-6.14.4/drivers/mmc/host/
Dcb710-mmc.c1 // 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() local
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 …]
Domap.c1 // 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 …]
Dcavium.c2 * 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 …]
Dsdhci-pci-core.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* linux/drivers/mmc/host/sdhci-pci.c - SDHCI on PCI bus interface
4 * Copyright (C) 2005-2008 Pierre Ossman, All Rights Reserved.
8 * - JMicron (hardware and technical support)
17 #include <linux/dma-mapping.h>
31 #include <linux/mmc/host.h>
32 #include <linux/mmc/mmc.h>
33 #include <linux/mmc/slot-gpio.h>
42 #include "sdhci-cqhci.h"
43 #include "sdhci-pci.h"
[all …]
Dcqhci-core.c1 // 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 …]
Ddw_mmc.c1 // 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 …]
Datmel-mci.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2004-2008 Atmel Corporation
12 #include <linux/dma-mapping.h>
29 #include <linux/mmc/host.h>
30 #include <linux/mmc/sdio.h>
63 #define ATMCI_MR_PDCMODE BIT(15) /* PDC-oriented Mode */
69 #define ATMCI_SDCSEL_SLOT_A (0 << 0) /* Select SD slot A */
70 #define ATMCI_SDCSEL_SLOT_B (1 << 0) /* Select SD slot A */
72 #define ATMCI_SDCBUS_1BIT (0 << 6) /* 1-bit data bus */
73 #define ATMCI_SDCBUS_4BIT (2 << 6) /* 4-bit data bus */
[all …]
Dmmc_hsq.c1 // 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 …]
Dsdhci-acpi.c1 // SPDX-License-Identifier: GPL-2.0-only
13 #include <linux/pinctrl/pinconf-generic.h>
17 #include <linux/dma-mapping.h>
30 #include <linux/mmc/host.h>
31 #include <linux/mmc/pm.h>
32 #include <linux/mmc/slot-gpio.h>
73 const struct sdhci_acpi_slot *slot; member
90 return (void *)c->private; in sdhci_acpi_priv()
95 return c->slot && (c->slot->flags & flag); in sdhci_acpi_flag()
127 return -EOPNOTSUPP; in __intel_dsm()
[all …]
Dsdhci-pci-gli.c1 // 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"
452 if (!host->tuning_done) { in __sdhci_execute_tuning_9750()
465 if (!host->tuning_done) { in __sdhci_execute_tuning_9750()
467 mmc_hostname(host->mmc)); in __sdhci_execute_tuning_9750()
468 return -ETIMEDOUT; in __sdhci_execute_tuning_9750()
[all …]
DKconfig1 # 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"
32 platform with a Multimedia Card slot, say Y or M here.
43 Qcom SOCs and MMC, you would probably need this option to get DMA working.
62 If you have a PXA(R) platform with a Multimedia Card slot,
[all …]
Dcqhci-crypto.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/blk-crypto.h>
9 #include <linux/blk-crypto-profile.h>
10 #include <linux/mmc/host.h>
12 #include "cqhci-crypto.h"
14 /* Map from blk-crypto modes to CQHCI crypto algorithm IDs and key sizes */
28 return mmc_from_crypto_profile(profile)->cqe_private; in cqhci_host_from_crypto_profile()
33 int slot) in cqhci_crypto_program_key() argument
35 u32 slot_offset = cq_host->crypto_cfg_register + slot * sizeof(*cfg); in cqhci_crypto_program_key()
39 cqhci_writel(cq_host, 0, slot_offset + 16 * sizeof(cfg->reg_val[0])); in cqhci_crypto_program_key()
[all …]
Dsdhci-pci-o2micro.c1 // SPDX-License-Identifier: GPL-2.0-only
11 #include <linux/mmc/host.h>
12 #include <linux/mmc/mmc.h>
18 #include "sdhci-pci.h"
101 mmc_hostname(host->mmc)); in sdhci_o2_wait_card_detect_stable()
137 mmc_hostname(host->mmc)); in sdhci_o2_enable_internal_clock()
155 static int sdhci_o2_get_cd(struct mmc_host *mmc) in sdhci_o2_get_cd() argument
157 struct sdhci_host *host = mmc_priv(mmc); in sdhci_o2_get_cd()
171 pci_read_config_dword(chip->pdev, in o2_pci_set_baseclk()
177 pci_write_config_dword(chip->pdev, in o2_pci_set_baseclk()
[all …]
Ddw_mmc-k3.c1 // SPDX-License-Identifier: GPL-2.0-or-later
11 #include <linux/mmc/host.h>
20 #include "dw_mmc-pltfm.h"
106 ret = clk_set_rate(host->ciu_clk, ios->clock); in dw_mci_k3_set_ios()
108 dev_warn(host->dev, "failed to set rate %uHz\n", ios->clock); in dw_mci_k3_set_ios()
110 host->bus_hz = clk_get_rate(host->ciu_clk); in dw_mci_k3_set_ios()
121 priv = devm_kzalloc(host->dev, sizeof(*priv), GFP_KERNEL); in dw_mci_hi6220_parse_dt()
123 return -ENOMEM; in dw_mci_hi6220_parse_dt()
125 priv->reg = syscon_regmap_lookup_by_phandle(host->dev->of_node, in dw_mci_hi6220_parse_dt()
126 "hisilicon,peripheral-syscon"); in dw_mci_hi6220_parse_dt()
[all …]
Ddw_mmc.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
14 #include <linux/mmc/core.h>
17 #include <linux/fault-inject.h>
60 * struct dw_mci - MMC controller state shared between all slots
67 * @mrq: The request currently being processed on @slot,
78 * @dma_64bit_address: Whether DMA supports 64-bit address mode or not.
81 * @dma_ops: Pointer to platform-specific DMA callbacks.
85 * @dms: structure of slave-dma private data.
100 * @bus_hz: The rate of @mck in Hz. This forms the basis for MMC bus
106 * @dev: Device associated with the MMC controller.
[all …]
Dcavium-thunderx.c2 * Driver for MMC and SSD cards for Cavium ThunderX SOCs.
11 #include <linux/dma-mapping.h>
13 #include <linux/mmc/mmc.h>
23 down(&host->mmc_serializer); in thunder_mmc_acquire_bus()
28 up(&host->mmc_serializer); in thunder_mmc_release_bus()
33 writeq(val, host->base + MIO_EMM_INT(host)); in thunder_mmc_int_enable()
34 writeq(val, host->base + MIO_EMM_INT_EN_SET(host)); in thunder_mmc_int_enable()
48 ret = devm_request_irq(&pdev->dev, pci_irq_vector(pdev, i), in thunder_mmc_register_interrupts()
60 struct device_node *node = pdev->dev.of_node; in thunder_mmc_probe()
61 struct device *dev = &pdev->dev; in thunder_mmc_probe()
[all …]
Dsdhci-of-aspeed.c1 // SPDX-License-Identifier: GPL-2.0-or-later
10 #include <linux/mmc/host.h>
18 #include "sdhci-pltfm.h"
82 * capbilities of the current slot.
84 * slot | capability | caps_reg | mirror_reg
85 * -----|-------------|----------|------------
92 int capability, bool enable, u8 slot) in aspeed_sdc_set_slot_capability() argument
98 if (slot > 1) in aspeed_sdc_set_slot_capability()
107 mirror_reg_offset = ((slot + 1) * 0x10) + (cap_reg * 4); in aspeed_sdc_set_slot_capability()
108 writel(cap_val, sdc->regs + mirror_reg_offset); in aspeed_sdc_set_slot_capability()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/mmc/
Dcavium-mmc.txt1 * 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 …]
Dmmc-slot.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mmc/mmc-slot.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MMC slot properties
10 - Ulf Hansson <[email protected]>
13 These properties defines slot properties for MMC controlers that
17 $ref: mmc-controller-common.yaml#
21 pattern: "^slot(@.*)?$"
24 const: mmc-slot
[all …]
Dmmc-spi-slot.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mmc/mmc-spi-slot.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MMC/SD/SDIO slot directly connected to a SPI bus
10 - Ulf Hansson <[email protected]>
13 - $ref: mmc-controller.yaml
14 - $ref: /schemas/spi/spi-peripheral-props.yaml
17 The extra properties used by an mmc connected via SPI.
21 const: mmc-spi-slot
[all …]
Damlogic,meson-mx-sdio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mmc/amlogic,meson-mx-sdio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
10 The highspeed MMC host controller on Amlogic SoCs provides an interface
11 for MMC, SD, SDIO and SDHC types of memory cards.
17 to be controlled. Only one slot can be accessed at a time.
20 - Neil Armstrong <[email protected]>
25 - enum:
[all …]
Datmel-hsmci.txt3 This controller on atmel products provides an interface for MMC, SD and SDIO
7 by mmc.txt and the properties used by the atmel-mci driver.
12 - compatible: should be "atmel,hsmci"
13 - #address-cells: should be one. The cell is the slot id.
14 - #size-cells: should be zero.
15 - at least one slot node
16 - clock-names: tuple listing input clock names.
18 - clocks: phandles to input clocks.
20 The node contains child nodes for each slot that the platform uses
24 mmc0: mmc@f0008000 {
[all …]
/linux-6.14.4/include/linux/platform_data/
Dmmc-omap.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * MMC definitions for OMAP2
13 /* back-link to device */
20 * maximum frequency on the MMC bus */
23 /* initialize board-specific MMC functionality, can be NULL if
42 * need to OR'd all capabilities (ref. linux/mmc/host.h)
44 u8 wires; /* Used for the MMC driver on omap1 and 2420 */
45 u32 caps; /* Used for the MMC driver on 2430 and later */
46 u32 pm_caps; /* PM capabilities of the mmc */
50 * that board-specific code handled it before common init logic.
[all …]
/linux-6.14.4/arch/arm/mach-omap2/
Dboard-n8x0.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/arch/arm/mach-omap2/board-n8x0.c
5 * Copyright (C) 2005-2009 Nokia Corporation
8 * Modified from mach-omap2/board-generic.c
22 #include <linux/mmc/host.h>
23 #include <linux/platform_data/spi-omap2-mcspi.h>
24 #include <linux/platform_data/mmc-omap.h>
28 #include <asm/mach-types.h>
31 #include "mmc.h"
32 #include "usb-tusb6010.h"
[all …]
/linux-6.14.4/drivers/mmc/core/
Dslot-gpio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Generic GPIO card-detect helper
12 #include <linux/mmc/host.h>
13 #include <linux/mmc/slot-gpio.h>
17 #include "slot-gpio.h"
33 struct mmc_gpio *ctx = host->slot.handler_priv; in mmc_gpio_cd_irqt()
35 host->trigger_card_event = true; in mmc_gpio_cd_irqt()
36 mmc_detect_change(host, msecs_to_jiffies(ctx->cd_debounce_delay_ms)); in mmc_gpio_cd_irqt()
43 const char *devname = dev_name(host->parent); in mmc_gpio_alloc()
46 ctx = devm_kzalloc(host->parent, sizeof(*ctx), GFP_KERNEL); in mmc_gpio_alloc()
[all …]

123456789