Home
last modified time | relevance | path

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

1234567

/linux/drivers/mmc/host/
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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"
468 if (!host->tuning_done) { in __sdhci_execute_tuning_9750()
481 if (!host->tuning_done) { in __sdhci_execute_tuning_9750()
483 mmc_hostname(host->mmc)); in __sdhci_execute_tuning_9750()
484 return -ETIMEDOUT; in __sdhci_execute_tuning_9750()
[all …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A Dsdhci-pci-arasan.c1 // SPDX-License-Identifier: GPL-2.0
3 * sdhci-pci-arasan.c - Driver for Arasan PCI Controller with
15 #include "sdhci-pci.h"
17 /* Extra registers for Arasan SD/SDIO/MMC Host Controller with PHY */
105 return -EBUSY; in arasan_phy_addr_poll()
140 return -EBUSY; in arasan_phy_sts_poll()
144 return -EBUSY; in arasan_phy_sts_poll()
159 return -EBUSY; in arasan_phy_init()
162 return -EBUSY; in arasan_phy_init()
184 return -EBUSY; in arasan_phy_init()
[all …]
H A Dmeson-mx-sdio.c1 // 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 Dcb710-mmc.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * cb710/cb710-mmc.h
5 * Copyright by Michał Mirosław, 2008-2009
13 /* per-MMC-reader structure */
23 static inline struct mmc_host *cb710_slot_to_mmc(struct cb710_slot *slot) in cb710_slot_to_mmc() argument
25 return platform_get_drvdata(&slot->pdev); in cb710_slot_to_mmc()
28 static inline struct cb710_slot *cb710_mmc_to_slot(struct mmc_host *mmc) in cb710_mmc_to_slot() argument
30 struct platform_device *pdev = to_platform_device(mmc_dev(mmc)); in cb710_mmc_to_slot()
43 #define CB710_MMC_C2_READ_PIO_SIZE_MASK 0x0F /* N-1 */
H A Dmmc_hsq.h1 /* SPDX-License-Identifier: GPL-2.0 */
9 * For MMC host software queue, we only allow 2 requests in
24 struct mmc_host *mmc; member
27 struct hsq_slot *slot; member
42 int mmc_hsq_init(struct mmc_hsq *hsq, struct mmc_host *mmc);
43 void mmc_hsq_suspend(struct mmc_host *mmc);
44 int mmc_hsq_resume(struct mmc_host *mmc);
45 bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq);
/linux/Documentation/devicetree/bindings/mmc/
H A 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 …]
H A 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 <ulf.hansson@linaro.org>
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 …]
/linux/include/linux/platform_data/
H A 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/drivers/mmc/core/
H A 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 …]
/linux/include/linux/spi/
H A Dmmc_spi.h1 /* SPDX-License-Identifier: GPL-2.0 */
11 /* Put this in platform_data of a device being used to manage an MMC/SD
12 * card slot. (Modeled after PXA mmc glue; see that for usage examples.)
14 * REVISIT This is not a spi-specific notion. Any card slot should be
15 * able to handle it. If the MMC core doesn't adopt this kind of notion,
25 /* Capabilities to pass into mmc core (e.g. MMC_CAP_NEEDS_POLL). */
/linux/arch/arm64/boot/dts/amlogic/
H A Dmeson-g12a-radxa-zero.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 /dts-v1/;
8 #include "meson-g12a.dtsi"
9 #include <dt-bindings/gpio/meson-g12a-gpio.h>
10 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
21 stdout-path = "serial0:115200n8";
29 cvbs-connector {
31 compatible = "composite-video-connector";
35 remote-endpoint = <&cvbs_vdac_out>;
40 hdmi-connector {
[all …]
H A Dmeson-g12a-sei510.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 /dts-v1/;
8 #include "meson-g12a.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/gpio/meson-g12a-gpio.h>
12 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
19 compatible = "adc-keys";
20 io-channels = <&saradc 0>;
21 io-channel-names = "buttons";
[all …]
H A Dmeson-g12a-fbx8am.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
10 /dts-v1/;
12 #include "meson-g12a.dtsi"
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/input/input.h>
15 #include <dt-bindings/gpio/meson-g12a-gpio.h>
16 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
21 chassis-type = "embedded";
25 compatible = "linaro,optee-tz";
30 gpio-keys-polled {
[all …]
H A Dmeson-g12b-bananapi.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/leds/common.h>
10 #include <dt-bindings/gpio/meson-g12a-gpio.h>
11 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
21 stdout-path = "serial0:115200n8";
29 adc-keys {
30 compatible = "adc-keys";
31 io-channels = <&saradc 2>;
32 io-channel-names = "buttons";
[all …]
H A Dmeson-khadas-vim3.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/leds/common.h>
10 #include <dt-bindings/gpio/meson-g12a-gpio.h>
11 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
22 stdout-path = "serial0:115200n8";
30 adc-keys {
31 compatible = "adc-keys";
32 io-channels = <&saradc 2>;
33 io-channel-names = "buttons";
[all …]
/linux/arch/arm64/boot/dts/toshiba/
H A Dtmpv7708-visrobo-vrc.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9 /dts-v1/;
12 #include <dt-bindings/gpio/gpio.h>
29 mmc-slot@0 {
30 compatible = "mmc-spi-slot";
33 voltage-ranges = <3200 3400>;
34 spi-max-frequency = <12000000>;

1234567