diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-11 06:34:22 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-11 06:34:22 -0400 |
| commit | f43b179bbd84d2106c6fb8c7f2db1bfacff19f62 (patch) | |
| tree | 581e60846d1298276fac0b768ba12e06d7600d1e /include/linux/mfd | |
| parent | a2ce35273c2f1aa0dcddd8822681d64ee5f31852 (diff) | |
| parent | 583f958b8a23343c904ec0790c25c96f5f82d409 (diff) | |
Merge tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC updates from Ulf Hansson:
"MMC core:
- Fix SDIO IRQ bug
- MMC regulator improvements
- Fix slot-gpio card detect bug
- Add support for Driver Stage Register
- Convert the common MMC OF parser to use GPIO descriptors
- Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk()
- Some additional minor fixes
MMC host:
- mmci: Support Qualcomm specific DML layer for DMA
- dw_mmc: Use common MMC regulators
- dw_mmc: Add support for Rock-chips RK3288
- tmio: Enable runtime PM support
- tmio: Add support for R-Car Gen2 SoCs
- tmio: Several fixes and improvements
- omap_hsmmc: Removed Balaji from MAINTAINERS
- jz4740: add DMA and pre/post support
- sdhci: Add support for Intel Braswell
- sdhci: Several fixes and improvements"
* tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 commits)
ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board
mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency
mmc: sdhci-acpi: Pass HID and UID to probe_slot
mmc: sdhci-acpi: Get UID directly from acpi_device
mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst
mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency
mmc: sdhci: Let a driver override timeout clock frequency
mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect
mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers
mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller
mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers
mmc: sdhci: Add quirk for always getting TC with stop cmd
mmc: core: restore detect line inversion semantics
mmc: Fix incorrect warning when setting 0 Hz via debugfs
mmc: Fix use of wrong device in mmc_gpiod_free_cd()
mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot
mmc: rtsx_pci: Set power related cap2 macros
mmc: core: Add new power_mode MMC_POWER_UNDEFINED
mmc: sdhci: execute tuning when device is not busy
mmc: atmel-mci: Release mmc resources on failure in probe
..
Diffstat (limited to 'include/linux/mfd')
| -rw-r--r-- | include/linux/mfd/tmio.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h index 8f6f2e91e7ae..57388171610d 100644 --- a/include/linux/mfd/tmio.h +++ b/include/linux/mfd/tmio.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <linux/fb.h> | 5 | #include <linux/fb.h> |
| 6 | #include <linux/io.h> | 6 | #include <linux/io.h> |
| 7 | #include <linux/jiffies.h> | 7 | #include <linux/jiffies.h> |
| 8 | #include <linux/mmc/card.h> | ||
| 8 | #include <linux/platform_device.h> | 9 | #include <linux/platform_device.h> |
| 9 | #include <linux/pm_runtime.h> | 10 | #include <linux/pm_runtime.h> |
| 10 | 11 | ||
| @@ -83,6 +84,27 @@ | |||
| 83 | */ | 84 | */ |
| 84 | #define TMIO_MMC_HAVE_HIGH_REG (1 << 6) | 85 | #define TMIO_MMC_HAVE_HIGH_REG (1 << 6) |
| 85 | 86 | ||
| 87 | /* | ||
| 88 | * Some controllers have CMD12 automatically | ||
| 89 | * issue/non-issue register | ||
| 90 | */ | ||
| 91 | #define TMIO_MMC_HAVE_CMD12_CTRL (1 << 7) | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Some controllers needs to set 1 on SDIO status reserved bits | ||
| 95 | */ | ||
| 96 | #define TMIO_MMC_SDIO_STATUS_QUIRK (1 << 8) | ||
| 97 | |||
| 98 | /* | ||
| 99 | * Some controllers have DMA enable/disable register | ||
| 100 | */ | ||
| 101 | #define TMIO_MMC_HAVE_CTL_DMA_REG (1 << 9) | ||
| 102 | |||
| 103 | /* | ||
| 104 | * Some controllers allows to set SDx actual clock | ||
| 105 | */ | ||
| 106 | #define TMIO_MMC_CLK_ACTUAL (1 << 10) | ||
| 107 | |||
| 86 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); | 108 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); |
| 87 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); | 109 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); |
| 88 | void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state); | 110 | void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state); |
| @@ -96,6 +118,7 @@ struct tmio_mmc_dma { | |||
| 96 | int slave_id_tx; | 118 | int slave_id_tx; |
| 97 | int slave_id_rx; | 119 | int slave_id_rx; |
| 98 | int alignment_shift; | 120 | int alignment_shift; |
| 121 | dma_addr_t dma_rx_offset; | ||
| 99 | bool (*filter)(struct dma_chan *chan, void *arg); | 122 | bool (*filter)(struct dma_chan *chan, void *arg); |
| 100 | }; | 123 | }; |
| 101 | 124 | ||
| @@ -120,6 +143,8 @@ struct tmio_mmc_data { | |||
| 120 | /* clock management callbacks */ | 143 | /* clock management callbacks */ |
| 121 | int (*clk_enable)(struct platform_device *pdev, unsigned int *f); | 144 | int (*clk_enable)(struct platform_device *pdev, unsigned int *f); |
| 122 | void (*clk_disable)(struct platform_device *pdev); | 145 | void (*clk_disable)(struct platform_device *pdev); |
| 146 | int (*multi_io_quirk)(struct mmc_card *card, | ||
| 147 | unsigned int direction, int blk_size); | ||
| 123 | }; | 148 | }; |
| 124 | 149 | ||
| 125 | /* | 150 | /* |
