aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-12-08 09:26:13 -0500
committerUlf Hansson <ulf.hansson@linaro.org>2015-01-28 06:32:01 -0500
commit0e6d633274db7b4db14a1194163b4d31d37b261f (patch)
treeec616c4afbc8c96b4aa664ed8d062a52ba33d0ee /Documentation/devicetree
parent3aa8793f751d4cfcaca886e75ab30dfb00cf1d88 (diff)
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>
Diffstat (limited to 'Documentation/devicetree')
-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 000000000000..da333d9ed94c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
@@ -0,0 +1,20 @@
1* The simple MMC power sequence provider
2
3The purpose of the simple MMC power sequence provider is to supports a set of
4common properties between various SOC designs. It thus enables us to use the
5same provider for several SOC designs.
6
7Required properties:
8- compatible : contains "mmc-pwrseq-simple".
9
10Optional properties:
11- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted at
12 initialization and prior we start the power up procedure of the card. It
13 will be de-asserted right after the power has been provided to the card.
14
15Example:
16
17 sdhci0_pwrseq {
18 compatible = "mmc-pwrseq-simple";
19 reset-gpios = <&gpio1 12 0>;
20 }
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index bac131169c07..438899e8829b 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -65,6 +65,18 @@ Optional SDIO properties:
65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion 65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
66 66
67 67
68MMC power sequences:
69--------------------
70
71System on chip designs may specify a specific MMC power sequence. To
72successfully detect an (e)MMC/SD/SDIO card, that power sequence must be
73maintained while initializing the card.
74
75Optional property:
76- mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*"
77 for documentation of MMC power sequence bindings.
78
79
68Use of Function subnodes 80Use of Function subnodes
69------------------------ 81------------------------
70 82
@@ -101,6 +113,7 @@ sdhci@ab000000 {
101 max-frequency = <50000000>; 113 max-frequency = <50000000>;
102 keep-power-in-suspend; 114 keep-power-in-suspend;
103 enable-sdio-wakeup; 115 enable-sdio-wakeup;
116 mmc-pwrseq = <&sdhci0_pwrseq>
104} 117}
105 118
106Example with sdio function subnode: 119Example with sdio function subnode:
@@ -114,6 +127,7 @@ mmc3: mmc@01c12000 {
114 vmmc-supply = <&reg_vmmc3>; 127 vmmc-supply = <&reg_vmmc3>;
115 bus-width = <4>; 128 bus-width = <4>;
116 non-removable; 129 non-removable;
130 mmc-pwrseq = <&sdhci0_pwrseq>
117 status = "okay"; 131 status = "okay";
118 132
119 brcmf: bcrmf@1 { 133 brcmf: bcrmf@1 {