summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-12-08 15:26:13 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2015-01-28 12:32:01 +0100
commit0e6d633274db7b4db14a1194163b4d31d37b261f (patch)
treeec616c4afbc8c96b4aa664ed8d062a52ba33d0ee
parent3aa8793f751d4cfcaca886e75ab30dfb00cf1d88 (diff)
downloadop-kernel-dev-0e6d633274db7b4db14a1194163b4d31d37b261f.zip
op-kernel-dev-0e6d633274db7b4db14a1194163b4d31d37b261f.tar.gz
mmc: pwrseq: Document DT bindings for the simple MMC power sequence
To support SOCs which specifies specific MMC power sequences, document some MMC DT bindings to be able to describe these hardwares. Let's also document bindings for a simple MMC power sequence provider, which purpose is to support a set of common properties between various SOCs. In this initial step, let's also document a top level description of the MMC power sequence and describe the compatible string used for the simple MMC power sequence provider. The simple MMC power sequence provider will initially support a reset GPIO. From several earlier posted patches, it's clear that such hardware exists. Especially some WLAN chips which are attached to an SDIO interface may use a GPIO reset. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt20
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc.txt14
2 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
new file mode 100644
index 0000000..da333d9
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
@@ -0,0 +1,20 @@
+* The simple MMC power sequence provider
+
+The purpose of the simple MMC power sequence provider is to supports a set of
+common properties between various SOC designs. It thus enables us to use the
+same provider for several SOC designs.
+
+Required properties:
+- compatible : contains "mmc-pwrseq-simple".
+
+Optional properties:
+- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted at
+ initialization and prior we start the power up procedure of the card. It
+ will be de-asserted right after the power has been provided to the card.
+
+Example:
+
+ sdhci0_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&gpio1 12 0>;
+ }
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index bac1311..438899e 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -65,6 +65,18 @@ Optional SDIO properties:
- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
+MMC power sequences:
+--------------------
+
+System on chip designs may specify a specific MMC power sequence. To
+successfully detect an (e)MMC/SD/SDIO card, that power sequence must be
+maintained while initializing the card.
+
+Optional property:
+- mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*"
+ for documentation of MMC power sequence bindings.
+
+
Use of Function subnodes
------------------------
@@ -101,6 +113,7 @@ sdhci@ab000000 {
max-frequency = <50000000>;
keep-power-in-suspend;
enable-sdio-wakeup;
+ mmc-pwrseq = <&sdhci0_pwrseq>
}
Example with sdio function subnode:
@@ -114,6 +127,7 @@ mmc3: mmc@01c12000 {
vmmc-supply = <&reg_vmmc3>;
bus-width = <4>;
non-removable;
+ mmc-pwrseq = <&sdhci0_pwrseq>
status = "okay";
brcmf: bcrmf@1 {
OpenPOWER on IntegriCloud