aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mmc/cavium-mmc.txt
AgeCommit message (Collapse)Author
2019-10-31mmc: dt-bindings: describe cavium vmmc/vqmmcPeter Swain
commit f061523f6a4237127e17e153a0fa3df38f0cfe8d from git@git.assembla.com:cavium/WindRiver.linux.git Octeon/OcteonTX MMC supports up to 3 mmc slots, but any level-shifting to accommodate different signal voltages is done by external hardware, under control of an optional vqmmc regulator object, typically controlled by gpio. See Documentation/devicetree/bindings/mmc/cavium-mmc.txt for a detailed explanation of device-tree control of MMC signals via GPIO at reset and slot-switching time. If any mmc-slots have a vqmmc-supply property, take it as a warning that we must switch carefully between slots (unless they have the same vqmmc object), tri-stating MMC signals to avoid any transient states as level-shifters are enabled/disabled, by zeroing MIO_EMM_CFG[bus_id]. There's no need to list vqmmc property if all the mmc-slots on a board run at same signal voltage, and have same width. In this case the old behavior, enabling all probed slots in MIO_EMM_CFG, allows faster slot-switching. Change-Id: I6994d52a33b6f7f1911ab0f14b8639823ac20488 Signed-off-by: Peter Swain <pswain@cavium.com> Reviewed-on: https://sj1git1.cavium.com/8728 Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com> Reviewed-by: Chandrakala Chavva <cchavva@marvell.com> Reviewed-on: https://sj1git1.cavium.com/16107 Reviewed-by: Sunil Kovvuri Goutham <Sunil.Goutham@cavium.com> Tested-by: Sunil Kovvuri Goutham <Sunil.Goutham@cavium.com> Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
2019-09-23mmc: cavium: reorganize before vqmmc switchingPeter Swain
commit 6400362bc7c5d7a84002d977413f3d899b32df22 from git@git.assembla.com:cavium/WindRiver.linux.git Code motion to allow the upcoming vqmmc-switching commit to fit nicely. No change to actual operation, except to correct several IS_ERR() to IS_ERR_OR_NULL() which would have segfaulted in the NULL case. The do_switch() & cvm_mmc_switch_to() functions were becoming unwieldly, and about to become more so, when vqmmc-switching is introduced. - mode_switch() does the low level EMM_MMC_SWITCH change - pre_switch() prepares for a slot switch, notes if it's needed - post_switch() performs final actions, if a slot switch was needed Some code has moved from cvm_mmc_switch_to() to do_switch() and now happens on every invocation, including probe-time, but will have no effect on post-probe runtime Change-Id: If21c93ea11f18bcffe79796cc7ff29e45bdf3e96 Signed-off-by: Peter Swain <pswain@cavium.com> Signed-off-by: Sujeet Baranwal <sbaranwal@marvell.com> Reviewed-on: https://sj1git1.cavium.com/14923 Reviewed-by: Sujeet Kumar Baranwal <Sujeet.Baranwal@cavium.com> Tested-by: Sunil Kovvuri Goutham <Sunil.Goutham@cavium.com> Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
2017-04-24dt-bindings: mmc: Add Cavium SOCs MMC bindingsJan Glauber
Add description of Cavium Octeon and ThunderX SOC device tree bindings. CC: Ulf Hansson <ulf.hansson@linaro.org> CC: Rob Herring <robh+dt@kernel.org> CC: Mark Rutland <mark.rutland@arm.com> CC: devicetree@vger.kernel.org Signed-off-by: Jan Glauber <jglauber@cavium.com> Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Steven J. Hill <steven.hill@cavium.com> Acked-by: Rob Herring <robh+dt@kernel.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>