linux/Documentation/devicetree/bindings/mmc
Douglas Anderson 6582019927 Documentation: mmc: sdhci-of-arasan: Add soc-ctl-syscon for corecfg regs
As can be seen in Arasan's datasheet [1] there are several "corecfg"
settings in their SDHCI IP Block that are supposed to be controlled by
software.  Although the datasheet referenced is a bit vague about how to
access corecfg, in Figure 5 you can see that for Arasan's PHY (a
separate component than their SDHCI component) they describe the
"phyctrl" registers as being "FROM SOC CTL REG", implying that it's up
to the licensee of the Arasan IP block to implement these registers.  It
seems sane to assume that the "corecfg" registers in their SDHCI IP
block works in a similar way for all licensees of the IP Block.

Device tree has a model that allows a device to get a reference to
random registers located elsewhere in the SoC: sysctl.  Let's leverage
this model and allow adding a sysctl reference to access the control
registers for the Arasan SDHCI PHYs.

Having a reference to the control registers doesn't do much for us on
its own since the Arasan spec doesn't specify how these corecfg values
are laid out in memory.  In the SDHCI driver we'll need a map detailing
where each corecfg can be found in each implementation.  This map can be
found using the primary compatible string of the SDHCI device.  In that
spirit, document that existing rk3399 device trees already have a
specific compatible string, though up to now they've always been relying
on the driver supporting the generic.

Note that since existing devices seem to work fairly well as-is, we'll
list the syscon reference as "optional", but it's likely that we'll run
into much fewer problems if we can actually set the proper values in the
syscon, so it is strongly suggested that any SoCs where we have a map to
set the corecfg also include a reference to the syscon.

[1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-07-25 10:34:17 +02:00
..
arasan,sdhci.txt Documentation: mmc: sdhci-of-arasan: Add soc-ctl-syscon for corecfg regs 2016-07-25 10:34:17 +02:00
atmel-hsmci.txt mmc: atmel-mci: document clock properties 2014-02-07 17:20:38 +01:00
brcm,bcm7425-sdhci.txt mmc: DT: sdhci-brcmstb: Add device tree bindings 2016-07-25 10:34:13 +02:00
brcm,kona-sdhci.txt dt-bindings: brcm: rationalize Broadcom documentation naming 2015-03-26 12:14:11 -05:00
brcm,sdhci-iproc.txt mmc: DT: sdhci-iproc: add bcm2835 compatible 2016-02-29 11:02:55 +01:00
davinci_mmc.txt mmc: davinci_mmc: add DT support 2013-04-04 16:55:05 +05:30
exynos-dw-mshc.txt mmc: dw_mmc: exynos: Support eMMC's HS400 mode 2015-03-23 14:13:28 +01:00
fsl-esdhc.txt mmc: dt: add DT binding for little-endian eSDHC host controller 2015-10-26 16:00:07 +01:00
fsl-imx-esdhc.txt mmc: sdhci-esdhc-imx: Document new DT bindings for imx7d support 2015-08-27 14:50:50 +02:00
fsl-imx-mmc.txt mmc: mxcmmc: DT support 2013-04-12 15:12:34 -04:00
img-dw-mshc.txt mmc: dw_mmc: Add support for IMG Pistachio 2014-11-26 14:31:03 +01:00
k3-dw-mshc.txt Document: dw_mmc-k3: add document of hi6220 mmc 2015-06-01 09:07:04 +02:00
microchip,sdhci-pic32.txt dt/bindings: Correct clk binding example for PIC32 SDHCI 2016-05-28 12:35:03 +02:00
mmc-card.txt mmc: Add support for marking hpi as broken through devicetree 2015-04-02 10:59:10 +02:00
mmc-pwrseq-emmc.txt Documentation: dt: mmc: fix spelling mistake 2016-04-25 08:41:19 -05:00
mmc-pwrseq-simple.txt mmc: pwrseq: dt: example with reset clock and active low pin 2015-05-25 09:20:06 +02:00
mmc-spi-slot.txt
mmc.txt Documentation: mmc: add mmc-hs400-enhanced-strobe 2016-07-25 10:34:04 +02:00
mmci.txt mmc: mmci: Mark the DT bindings for highspeed mode as deprecated 2014-05-12 12:52:42 +02:00
moxa,moxart-mmc.txt mmc: moxart: Add MOXA ART SD/MMC driver 2014-05-12 18:05:16 -04:00
mtk-sd.txt mmc: dt-bindings: update Mediatek MMC bindings 2015-10-27 10:21:15 +01:00
mxs-mmc.txt mmc: mxs-mmc: move to use generic DMA helper 2013-04-04 21:22:44 +08:00
nvidia,tegra20-sdhci.txt Documentation: DT bindings: add more Tegra chip compatible strings 2015-02-03 20:37:31 -06:00
orion-sdio.txt mmc: mvsdio: implement a Device Tree binding 2013-02-11 13:28:54 -05:00
pxa-mmc.txt mmc: pxa-mci: add DT bindings 2012-09-04 13:58:12 -04:00
renesas,mmcif.txt mmc: sh_mmcif: Document r8a7793 DT bindings 2015-12-22 11:32:01 +01:00
rockchip-dw-mshc.txt dt-bindings: rockchip-dw-mshc: add description for rk3399 2016-04-27 21:09:19 +02:00
samsung-sdhci.txt doc: spelling error changes 2014-05-05 15:32:05 +02:00
sdhci-atmel.txt mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC 2015-08-24 11:25:53 +02:00
sdhci-dove.txt mmc: sdhci-dove: DT support for sdhci-dove 2012-09-04 13:58:15 -04:00
sdhci-fujitsu.txt mmc: sdhci: host: add new f_sdh30 2015-01-20 09:32:37 +01:00
sdhci-msm.txt mmc: sdhci-msm: Fix the binding example 2014-07-26 11:08:01 +02:00
sdhci-pxa.txt mmc: sdhci-pxav3: Extend binding with SDIO3 conf reg for the Armada 38x 2015-01-29 13:08:22 +01:00
sdhci-sirf.txt mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
sdhci-spear.txt mmc: sdhci-spear: Add clk_{un}prepare() support 2012-10-07 17:41:45 -04:00
sdhci-st.txt mmc: sdhci-st: correct name of sd-uhs-sdr50 property 2016-05-16 11:31:26 +02:00
socfpga-dw-mshc.txt Revert "dts: socfpga: Add support for SD/MMC on the SOCFPGA platform" 2014-03-17 09:04:57 -04:00
sunxi-mmc.txt mmc: sunxi: Convert MMC driver to the standard clock phase API 2015-01-14 10:45:26 +01:00
synopsys-dw-mshc.txt Documentation: synopsys-dw-mshc: add bindings for idmac and edmac 2015-10-26 16:00:16 +01:00
ti-omap-hsmmc.txt Documentation: dt: update ti,am33xx-hsmmc swakeup workaround 2015-08-17 11:32:45 +02:00
ti-omap.txt mmc: omap: Fix I2C dependency and make driver usable with device tree 2013-11-26 15:51:16 -08:00
tmio_mmc.txt mmc: sh_mobile_sdhi: Add UHS-I mode support 2016-05-02 10:33:14 +02:00
usdhi6rol0.txt mmc: dt: usdhi6rol0: add optional pinctrl binding 2016-05-02 10:36:04 +02:00
vt8500-sdmmc.txt mmc: SD/MMC Host Controller for Wondermedia WM8505/WM8650 2012-12-06 13:54:50 -05:00