aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mmc
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2012-10-30 03:09:18 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2012-10-30 03:09:18 -0400
commit68fe0f0a6dcd2ac1ace5da3647a6d1cf0f4d2fea (patch)
tree69d855c2e46d42ef8f23680cf3a1e6ff38de9ef4 /Documentation/devicetree/bindings/mmc
parent88fd449e734a4264347e12b8ff74ccb33a9b9a35 (diff)
parent8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff)
Merge tag 'v3.7-rc3' into for-linus to sync up with recent USB changes
Diffstat (limited to 'Documentation/devicetree/bindings/mmc')
-rw-r--r--Documentation/devicetree/bindings/mmc/atmel-hsmci.txt68
-rw-r--r--Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt87
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc.txt9
-rw-r--r--Documentation/devicetree/bindings/mmc/pxa-mmc.txt25
-rw-r--r--Documentation/devicetree/bindings/mmc/samsung-sdhci.txt53
-rw-r--r--Documentation/devicetree/bindings/mmc/sdhci-dove.txt14
-rw-r--r--Documentation/devicetree/bindings/mmc/sdhci-spear.txt18
-rw-r--r--Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt79
8 files changed, 351 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt
new file mode 100644
index 000000000000..0a85c70cd30a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt
@@ -0,0 +1,68 @@
1* Atmel High Speed MultiMedia Card Interface
2
3This controller on atmel products provides an interface for MMC, SD and SDIO
4types of memory cards.
5
6This file documents differences between the core properties described
7by mmc.txt and the properties used by the atmel-mci driver.
8
91) MCI node
10
11Required properties:
12- compatible: should be "atmel,hsmci"
13- #address-cells: should be one. The cell is the slot id.
14- #size-cells: should be zero.
15- at least one slot node
16
17The node contains child nodes for each slot that the platform uses
18
19Example MCI node:
20
21mmc0: mmc@f0008000 {
22 compatible = "atmel,hsmci";
23 reg = <0xf0008000 0x600>;
24 interrupts = <12 4>;
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 [ child node definitions...]
29};
30
312) slot nodes
32
33Required properties:
34- reg: should contain the slot id.
35- bus-width: number of data lines connected to the controller
36
37Optional properties:
38- cd-gpios: specify GPIOs for card detection
39- cd-inverted: invert the value of external card detect gpio line
40- wp-gpios: specify GPIOs for write protection
41
42Example slot node:
43
44slot@0 {
45 reg = <0>;
46 bus-width = <4>;
47 cd-gpios = <&pioD 15 0>
48 cd-inverted;
49};
50
51Example full MCI node:
52mmc0: mmc@f0008000 {
53 compatible = "atmel,hsmci";
54 reg = <0xf0008000 0x600>;
55 interrupts = <12 4>;
56 #address-cells = <1>;
57 #size-cells = <0>;
58 slot@0 {
59 reg = <0>;
60 bus-width = <4>;
61 cd-gpios = <&pioD 15 0>
62 cd-inverted;
63 };
64 slot@1 {
65 reg = <1>;
66 bus-width = <4>;
67 };
68};
diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
new file mode 100644
index 000000000000..792768953330
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
@@ -0,0 +1,87 @@
1* Samsung Exynos specific extensions to the Synopsis Designware Mobile
2 Storage Host Controller
3
4The Synopsis designware mobile storage host controller is used to interface
5a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
6differences between the core Synopsis dw mshc controller properties described
7by synposis-dw-mshc.txt and the properties used by the Samsung Exynos specific
8extensions to the Synopsis Designware Mobile Storage Host Controller.
9
10Required Properties:
11
12* compatible: should be
13 - "samsung,exynos4210-dw-mshc": for controllers with Samsung Exynos4210
14 specific extentions.
15 - "samsung,exynos4412-dw-mshc": for controllers with Samsung Exynos4412
16 specific extentions.
17 - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250
18 specific extentions.
19
20* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
21 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
22 ignored for Exynos4 SoC's. The valid range of divider value is 0 to 7.
23
24* samsung,dw-mshc-sdr-timing: Specifies the value of CIU clock phase shift value
25 in transmit mode and CIU clock phase shift value in receive mode for single
26 data rate mode operation. Refer notes below for the order of the cells and the
27 valid values.
28
29* samsung,dw-mshc-ddr-timing: Specifies the value of CUI clock phase shift value
30 in transmit mode and CIU clock phase shift value in receive mode for double
31 data rate mode operation. Refer notes below for the order of the cells and the
32 valid values.
33
34 Notes for the sdr-timing and ddr-timing values:
35
36 The order of the cells should be
37 - First Cell: CIU clock phase shift value for tx mode.
38 - Second Cell: CIU clock phase shift value for rx mode.
39
40 Valid values for SDR and DDR CIU clock timing for Exynos5250:
41 - valid value for tx phase shift and rx phase shift is 0 to 7.
42 - when CIU clock divider value is set to 3, all possible 8 phase shift
43 values can be used.
44 - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
45 phase shift clocks should be 0.
46
47Required properties for a slot:
48
49* gpios: specifies a list of gpios used for command, clock and data bus. The
50 first gpio is the command line and the second gpio is the clock line. The
51 rest of the gpios (depending on the bus-width property) are the data lines in
52 no particular order. The format of the gpio specifier depends on the gpio
53 controller.
54
55Example:
56
57 The MSHC controller node can be split into two portions, SoC specific and
58 board specific portions as listed below.
59
60 dwmmc0@12200000 {
61 compatible = "samsung,exynos5250-dw-mshc";
62 reg = <0x12200000 0x1000>;
63 interrupts = <0 75 0>;
64 #address-cells = <1>;
65 #size-cells = <0>;
66 };
67
68 dwmmc0@12200000 {
69 num-slots = <1>;
70 supports-highspeed;
71 broken-cd;
72 fifo-depth = <0x80>;
73 card-detect-delay = <200>;
74 samsung,dw-mshc-ciu-div = <3>;
75 samsung,dw-mshc-sdr-timing = <2 3>;
76 samsung,dw-mshc-ddr-timing = <1 2>;
77
78 slot@0 {
79 reg = <0>;
80 bus-width = <8>;
81 gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
82 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
83 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
84 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
85 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
86 };
87 };
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index 8a6811f4a02f..8e2e0ba2f486 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -9,12 +9,17 @@ Interpreted by the OF core:
9Required properties: 9Required properties:
10- bus-width: Number of data lines, can be <1>, <4>, or <8> 10- bus-width: Number of data lines, can be <1>, <4>, or <8>
11 11
12Card detection:
13If no property below is supplied, standard SDHCI card detect is used.
14Only one of the properties in this section should be supplied:
15 - broken-cd: There is no card detection available; polling must be used.
16 - cd-gpios: Specify GPIOs for card detection, see gpio binding
17 - non-removable: non-removable slot (like eMMC); assume always present.
18
12Optional properties: 19Optional properties:
13- cd-gpios: Specify GPIOs for card detection, see gpio binding
14- wp-gpios: Specify GPIOs for write protection, see gpio binding 20- wp-gpios: Specify GPIOs for write protection, see gpio binding
15- cd-inverted: when present, polarity on the cd gpio line is inverted 21- cd-inverted: when present, polarity on the cd gpio line is inverted
16- wp-inverted: when present, polarity on the wp gpio line is inverted 22- wp-inverted: when present, polarity on the wp gpio line is inverted
17- non-removable: non-removable slot (like eMMC)
18- max-frequency: maximum operating clock frequency 23- max-frequency: maximum operating clock frequency
19 24
20Example: 25Example:
diff --git a/Documentation/devicetree/bindings/mmc/pxa-mmc.txt b/Documentation/devicetree/bindings/mmc/pxa-mmc.txt
new file mode 100644
index 000000000000..b7025de7dced
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/pxa-mmc.txt
@@ -0,0 +1,25 @@
1* PXA MMC drivers
2
3Driver bindings for the PXA MCI (MMC/SDIO) interfaces
4
5Required properties:
6- compatible: Should be "marvell,pxa-mmc".
7- vmmc-supply: A regulator for VMMC
8
9Optional properties:
10- marvell,detect-delay-ms: sets the detection delay timeout in ms.
11- marvell,gpio-power: GPIO spec for the card power enable pin
12
13This file documents differences between the core properties in mmc.txt
14and the properties used by the pxa-mmc driver.
15
16Examples:
17
18mmc0: mmc@41100000 {
19 compatible = "marvell,pxa-mmc";
20 reg = <0x41100000 0x1000>;
21 interrupts = <23>;
22 cd-gpios = <&gpio 23 0>;
23 wp-gpios = <&gpio 24 0>;
24};
25
diff --git a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
new file mode 100644
index 000000000000..630a7d7f4718
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt
@@ -0,0 +1,53 @@
1* Samsung's SDHCI Controller device tree bindings
2
3Samsung's SDHCI controller is used as a connectivity interface with external
4MMC, SD and eMMC storage mediums. This file documents differences between the
5core mmc properties described by mmc.txt and the properties used by the
6Samsung implmentation of the SDHCI controller.
7
8Note: The mmc core bindings documentation states that if none of the core
9card-detect bindings are used, then the standard sdhci card detect mechanism
10is used. The Samsung's SDHCI controller bindings extends this as listed below.
11
12[A] The property "samsung,cd-pinmux-gpio" can be used as stated in the
13 "Optional Board Specific Properties" section below.
14
15[B] If core card-detect bindings and "samsung,cd-pinmux-gpio" property
16 is not specified, it is assumed that there is no card detection
17 mechanism used.
18
19Required SoC Specific Properties:
20- compatible: should be one of the following
21 - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
22 controller.
23 - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci
24 controller.
25
26Required Board Specific Properties:
27- gpios: Should specify the gpios used for clock, command and data lines. The
28 gpio specifier format depends on the gpio controller.
29
30Optional Board Specific Properties:
31- samsung,cd-pinmux-gpio: Specifies the card detect line that is routed
32 through a pinmux to the card-detect pin of the card slot. This property
33 should be used only if none of the mmc core card-detect properties are
34 used.
35
36Example:
37 sdhci@12530000 {
38 compatible = "samsung,exynos4210-sdhci";
39 reg = <0x12530000 0x100>;
40 interrupts = <0 75 0>;
41 bus-width = <4>;
42 cd-gpios = <&gpk2 2 2 3 3>;
43 gpios = <&gpk2 0 2 0 3>, /* clock line */
44 <&gpk2 1 2 0 3>, /* command line */
45 <&gpk2 3 2 3 3>, /* data line 0 */
46 <&gpk2 4 2 3 3>, /* data line 1 */
47 <&gpk2 5 2 3 3>, /* data line 2 */
48 <&gpk2 6 2 3 3>; /* data line 3 */
49 };
50
51 Note: This example shows both SoC specific and board specific properties
52 in a single device node. The properties can be actually be seperated
53 into SoC specific node and board specific node.
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-dove.txt b/Documentation/devicetree/bindings/mmc/sdhci-dove.txt
new file mode 100644
index 000000000000..ae9aab9abcd7
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/sdhci-dove.txt
@@ -0,0 +1,14 @@
1* Marvell sdhci-dove controller
2
3This file documents differences between the core properties in mmc.txt
4and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
5
6- compatible: Should be "marvell,dove-sdhci".
7
8Example:
9
10sdio0: sdio@92000 {
11 compatible = "marvell,dove-sdhci";
12 reg = <0x92000 0x100>;
13 interrupts = <35>;
14};
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-spear.txt b/Documentation/devicetree/bindings/mmc/sdhci-spear.txt
new file mode 100644
index 000000000000..fd3643e7e467
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/sdhci-spear.txt
@@ -0,0 +1,18 @@
1* SPEAr SDHCI Controller
2
3This file documents differences between the core properties in mmc.txt
4and the properties used by the sdhci-spear driver.
5
6Required properties:
7- compatible: "st,spear300-sdhci"
8
9Optional properties:
10- cd-gpios: card detect gpio, with zero flags.
11
12Example:
13
14 sdhci@fc000000 {
15 compatible = "st,spear300-sdhci";
16 reg = <0xfc000000 0x1000>;
17 cd-gpios = <&gpio0 6 0>;
18 };
diff --git a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
new file mode 100644
index 000000000000..06cd32d08052
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
@@ -0,0 +1,79 @@
1* Synopsis Designware Mobile Storage Host Controller
2
3The Synopsis designware mobile storage host controller is used to interface
4a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
5differences between the core mmc properties described by mmc.txt and the
6properties used by the Synopsis Designware Mobile Storage Host Controller.
7
8Required Properties:
9
10* compatible: should be
11 - snps,dw-mshc: for controllers compliant with synopsis dw-mshc.
12* #address-cells: should be 1.
13* #size-cells: should be 0.
14
15# Slots: The slot specific information are contained within child-nodes with
16 each child-node representing a supported slot. There should be atleast one
17 child node representing a card slot. The name of the child node representing
18 the slot is recommended to be slot@n where n is the unique number of the slot
19 connnected to the controller. The following are optional properties which
20 can be included in the slot child node.
21
22 * reg: specifies the physical slot number. The valid values of this
23 property is 0 to (num-slots -1), where num-slots is the value
24 specified by the num-slots property.
25
26 * bus-width: as documented in mmc core bindings.
27
28 * wp-gpios: specifies the write protect gpio line. The format of the
29 gpio specifier depends on the gpio controller. If the write-protect
30 line is not available, this property is optional.
31
32Optional properties:
33
34* num-slots: specifies the number of slots supported by the controller.
35 The number of physical slots actually used could be equal or less than the
36 value specified by num-slots. If this property is not specified, the value
37 of num-slot property is assumed to be 1.
38
39* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
40 specified, the default value of the fifo size is determined from the
41 controller registers.
42
43* card-detect-delay: Delay in milli-seconds before detecting card after card
44 insert event. The default value is 0.
45
46* supports-highspeed: Enables support for high speed cards (upto 50MHz)
47
48* broken-cd: as documented in mmc core bindings.
49
50Aliases:
51
52- All the MSHC controller nodes should be represented in the aliases node using
53 the following format 'mshc{n}' where n is a unique number for the alias.
54
55Example:
56
57The MSHC controller node can be split into two portions, SoC specific and
58board specific portions as listed below.
59
60 dwmmc0@12200000 {
61 compatible = "snps,dw-mshc";
62 reg = <0x12200000 0x1000>;
63 interrupts = <0 75 0>;
64 #address-cells = <1>;
65 #size-cells = <0>;
66 };
67
68 dwmmc0@12200000 {
69 num-slots = <1>;
70 supports-highspeed;
71 broken-cd;
72 fifo-depth = <0x80>;
73 card-detect-delay = <200>;
74
75 slot@0 {
76 reg = <0>;
77 bus-width = <8>;
78 };
79 };