| /linux/drivers/mmc/host/ |
| 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 | 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 | cqhci-core.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> 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 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 | 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 …]
|
| 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" 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 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" 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 D | cqhci-crypto.c | 1 // 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 D | cavium-thunderx.c | 2 * 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 D | sdhci-of-aspeed.c | 1 // 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 D | sdhci-pci-arasan.c | 1 // 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 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 | cb710-mmc.h | 1 /* 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 D | mmc_hsq.h | 1 /* 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 D | cavium-mmc.txt | 1 * 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 D | mmc-spi-slot.yaml | 1 # 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 D | mmc-omap.h | 1 /* 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 D | slot-gpio.c | 1 // 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 D | mmc_spi.h | 1 /* 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 D | meson-g12a-radxa-zero.dts | 1 // 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 D | meson-g12a-sei510.dts | 1 // 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 D | meson-g12a-fbx8am.dts | 1 // 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 D | meson-g12b-bananapi.dtsi | 1 // 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 D | meson-khadas-vim3.dtsi | 1 // 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 D | tmpv7708-visrobo-vrc.dtsi | 1 // 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>;
|