linux/drivers/mmc/host
Douglas Anderson c390f2110a mmc: sdhci-of-arasan: Add ability to export card clock
Some SD/eMMC PHYs (like the PHY from Arasan that is designed to work
with arasan,sdhci-5.1) need to know the card clock in order to function
properly.  Let's add the ability to expose this clock.  Any PHY that
needs to know the clock rate can add a reference and query the clock
rate.

At the moment we register a CLK_GET_RATE_NOCACHE clock that simply
allows querying the clock.  This allows us to be less intrusive with
regards to the main SDHCI driver, which has complex logic for adjusting
the SD clock.  Right now we always fully power cycle the PHY when the
clock changes and that gives the PHY a good chance to query our clock.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-07-25 10:34:19 +02:00
..
android-goldfish.c mmc: android-goldfish: remove incorrect __iomem annotation 2015-09-01 14:19:11 +02:00
atmel-mci.c mmc: atmel-mci: Remove redundant runtime PM calls 2016-05-02 10:33:20 +02:00
au1xmmc.c
bfin_sdh.c mmc: bfin_sdh: remove the MMC_DATA_STREAM flag 2016-02-29 11:02:59 +01:00
cb710-mmc.c
cb710-mmc.h mmc: cb710: use to_platform_device() 2016-01-05 18:04:57 +01:00
davinci_mmc.c mmc: davinci: prepare clock 2016-05-02 10:33:19 +02:00
dw_mmc-exynos.c mmc: dw_mmc-exynos: remove dw_mci_exynos_setup_clock 2016-05-02 10:33:18 +02:00
dw_mmc-exynos.h mmc: dw_mmc: exynos: Support eMMC's HS400 mode 2015-03-23 14:13:28 +01:00
dw_mmc-k3.c mmc: dw_mmc: k3: Fix modalias to make module auto-loading work 2015-06-01 09:07:05 +02:00
dw_mmc-pci.c
dw_mmc-pltfm.c mmc: dw_mmc: remove the prepare_command hook 2016-02-29 11:03:09 +01:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc: rockchip: Set the drive phase properly 2016-05-23 11:45:47 +02:00
dw_mmc.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
dw_mmc.h mmc: dw_mmc: remove setup_clock callback 2016-05-02 10:33:18 +02:00
jz4740_mmc.c mmc: jz4740_mmc: remove the MMC_DATA_STREAM flag 2016-02-29 11:03:00 +01:00
Kconfig mmc: sdhci-of-arasan: Add ability to export card clock 2016-07-25 10:34:19 +02:00
Makefile mmc: sdhci-brcmstb: Add driver for Broadcom BRCMSTB SoCs 2016-07-25 10:34:14 +02:00
mmc_spi.c mmc: mmc_spi: Add Card Detect comments and fix CD GPIO case 2016-03-16 12:36:09 +01:00
mmci_qcom_dml.c
mmci_qcom_dml.h
mmci.c mmc: mmci: Remove redundant runtime PM calls 2016-05-02 10:33:21 +02:00
mmci.h
moxart-mmc.c mmc: moxart: Fix module autoload for OF platform driver 2015-10-26 15:59:57 +01:00
mtk-sd.c mmc: mediatek: Remove redundant runtime PM calls 2016-05-02 10:33:21 +02:00
mvsdio.c mmc: mvsdio: delete platform data code path 2015-12-22 11:32:12 +01:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: remove the MMC_DATA_STREAM flag 2016-02-29 11:03:00 +01:00
mxs-mmc.c mmc: mxs: Constify platform_device_id 2015-06-01 09:06:50 +02:00
of_mmc_spi.c mmc: of_mmc_spi: fix unused warning 2016-03-17 14:54:40 +01:00
omap_hsmmc.c mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel 2016-05-04 09:28:03 +02:00
omap.c mmc: omap: Use dma_request_chan() for requesting DMA channel 2016-05-04 13:12:00 +02:00
pxamci.c mmc: pxamci: fix potential oops 2016-07-18 11:50:40 +02:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx: Constify platform_device_id 2015-06-01 09:06:50 +02:00
rtsx_usb_sdmmc.c mmc: rtsx: Constify platform_device_id 2015-06-01 09:06:50 +02:00
s3cmci.c mmc: s3cmci: remove the MMC_DATA_STREAM flag 2016-02-29 11:03:01 +01:00
s3cmci.h
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: Fix the size passed to sdhci_alloc_host 2015-06-01 09:06:46 +02:00
sdhci-acpi.c mmc: sdhci-acpi: Remove MMC_CAP_BUS_WIDTH_TEST for Intel controllers 2016-05-23 11:52:41 +02:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: fix logic to check for 8-bit data width 2015-10-26 15:59:55 +01:00
sdhci-brcmstb.c mmc: sdhci-brcmstb: Add driver for Broadcom BRCMSTB SoCs 2016-07-25 10:34:14 +02:00
sdhci-cns3xxx.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-dove.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-esdhc-imx.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: support both BE and LE host controller 2015-10-26 16:00:08 +01:00
sdhci-iproc.c mmc: sdhci-iproc: use sdhci_pltfm_unregister directly 2016-02-29 11:02:55 +01:00
sdhci-msm.c mmc: sdhci-msm: use sdhci_pltfm_init for private allocation 2016-02-29 11:03:26 +01:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add ability to export card clock 2016-07-25 10:34:19 +02:00
sdhci-of-at91.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: use sdhci_pltfm_init for private allocation 2016-02-29 11:03:28 +01:00
sdhci-of-hlwd.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-pci-core.c mmc: sdhci-pci: Remove MMC_CAP_BUS_WIDTH_TEST for Intel controllers 2016-05-23 11:52:40 +02:00
sdhci-pci-data.c mmc: sdhci-pci: Add support for drive strength selection for SPT 2015-06-01 09:07:14 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static 2015-10-26 16:00:05 +01:00
sdhci-pci-o2micro.h mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static 2015-10-26 16:00:05 +01:00
sdhci-pci.h mmc: sdhci-pci: Add support and PCI IDs for more Broxton host controllers 2016-04-05 12:14:09 +02:00
sdhci-pic32.c mmc: sdhci-pic32: remove owner assignment 2016-05-02 10:33:25 +02:00
sdhci-pltfm.c mmc: sdhci-pltfm: call platform_get_irq() before sdhci_alloc_host() 2016-05-02 10:33:34 +02:00
sdhci-pltfm.h mmc: sdhci-pltfm: remove priv variable from sdhci_pltfm_host 2016-02-29 11:03:30 +01:00
sdhci-pxav2.c mmc: sdhci-pxav2: remove unnecessary assignment of pltfm_host->priv 2016-02-29 11:03:30 +01:00
sdhci-pxav3.c mmc: sdhci: Fix regression setting power on Trats2 board 2016-03-29 12:46:13 +02:00
sdhci-s3c-regs.h
sdhci-s3c.c mmc: sdhci-s3c: Constify platform_device_id 2015-06-01 09:06:52 +02:00
sdhci-sirf.c mmc: mmc: extend the mmc_send_tuning() 2015-10-27 10:38:41 +01:00
sdhci-spear.c Update Viresh Kumar's email address 2015-07-17 16:39:53 -07:00
sdhci-st.c mmc: sdhci-st: use sdhci_pltfm_init for private allocation 2016-02-29 11:03:29 +01:00
sdhci-tegra.c mmc: tegra: Disable UHS-I modes for Tegra124 2016-04-14 11:40:01 +02:00
sdhci.c mmc: sdhci: Fix sdhci_card_busy() 2016-07-25 10:34:07 +02:00
sdhci.h mmc: sdhci: use IS_ENABLE(CONFIG_LEDS_CLASS) to enable LED struct members 2016-05-02 10:33:36 +02:00
sdricoh_cs.c mmc: sdricoh_cs: Less checks in sdricoh_init_mmc() after, error detection 2016-02-29 11:02:45 +01:00
sh_mmcif.c mmc: sh_mmci: Get rid of wrapper function for regulators 2016-05-02 10:33:09 +02:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: properly document R-Car versions 2016-07-25 10:34:02 +02:00
sunxi-mmc.c mmc: sunxi: Re-enable eMMC HS-DDR modes on Allwinner A80 2016-06-02 10:40:20 +02:00
tifm_sd.c
tmio_mmc_dma.c mmc: tmio: merge distributed include files 2016-05-02 10:33:40 +02:00
tmio_mmc_pio.c mmc: tmio/sdhi: introduce flag for RCar 2+ specific features 2016-05-04 09:28:04 +02:00
tmio_mmc.c mmc: TMIO: Use devm_request_irq() 2015-06-01 09:06:48 +02:00
tmio_mmc.h mmc: tmio: make a cast explicit 2016-07-25 10:34:07 +02:00
toshsd.c PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
toshsd.h
usdhi6rol0.c mmc: usdhi6rol0: add pinctrl to set pin drive strength 2016-05-02 10:36:06 +02:00
ushc.c
via-sdmmc.c
vub300.c mmc: vub300: Remove unneded semicolons 2015-10-26 15:59:54 +01:00
wbsd.c mmc: wbsd: Remove unneded semicolon 2015-10-26 15:59:53 +01:00
wbsd.h
wmt-sdmmc.c mmc: constify of_device_id array 2015-03-23 14:13:49 +01:00