diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:09:18 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:09:18 -0400 |
commit | 68fe0f0a6dcd2ac1ace5da3647a6d1cf0f4d2fea (patch) | |
tree | 69d855c2e46d42ef8f23680cf3a1e6ff38de9ef4 /Documentation/devicetree/bindings/mmc | |
parent | 88fd449e734a4264347e12b8ff74ccb33a9b9a35 (diff) | |
parent | 8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff) |
Merge tag 'v3.7-rc3' into for-linus to sync up with recent USB changes
Diffstat (limited to 'Documentation/devicetree/bindings/mmc')
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 | |||
3 | This controller on atmel products provides an interface for MMC, SD and SDIO | ||
4 | types of memory cards. | ||
5 | |||
6 | This file documents differences between the core properties described | ||
7 | by mmc.txt and the properties used by the atmel-mci driver. | ||
8 | |||
9 | 1) MCI node | ||
10 | |||
11 | Required 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 | |||
17 | The node contains child nodes for each slot that the platform uses | ||
18 | |||
19 | Example MCI node: | ||
20 | |||
21 | mmc0: 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 | |||
31 | 2) slot nodes | ||
32 | |||
33 | Required properties: | ||
34 | - reg: should contain the slot id. | ||
35 | - bus-width: number of data lines connected to the controller | ||
36 | |||
37 | Optional 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 | |||
42 | Example slot node: | ||
43 | |||
44 | slot@0 { | ||
45 | reg = <0>; | ||
46 | bus-width = <4>; | ||
47 | cd-gpios = <&pioD 15 0> | ||
48 | cd-inverted; | ||
49 | }; | ||
50 | |||
51 | Example full MCI node: | ||
52 | mmc0: 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 | |||
4 | The Synopsis designware mobile storage host controller is used to interface | ||
5 | a SoC with storage medium such as eMMC or SD/MMC cards. This file documents | ||
6 | differences between the core Synopsis dw mshc controller properties described | ||
7 | by synposis-dw-mshc.txt and the properties used by the Samsung Exynos specific | ||
8 | extensions to the Synopsis Designware Mobile Storage Host Controller. | ||
9 | |||
10 | Required 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 | |||
47 | Required 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 | |||
55 | Example: | ||
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: | |||
9 | Required properties: | 9 | Required 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 | ||
12 | Card detection: | ||
13 | If no property below is supplied, standard SDHCI card detect is used. | ||
14 | Only 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 | |||
12 | Optional properties: | 19 | Optional 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 | ||
20 | Example: | 25 | Example: |
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 | |||
3 | Driver bindings for the PXA MCI (MMC/SDIO) interfaces | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be "marvell,pxa-mmc". | ||
7 | - vmmc-supply: A regulator for VMMC | ||
8 | |||
9 | Optional 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 | |||
13 | This file documents differences between the core properties in mmc.txt | ||
14 | and the properties used by the pxa-mmc driver. | ||
15 | |||
16 | Examples: | ||
17 | |||
18 | mmc0: 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 | |||
3 | Samsung's SDHCI controller is used as a connectivity interface with external | ||
4 | MMC, SD and eMMC storage mediums. This file documents differences between the | ||
5 | core mmc properties described by mmc.txt and the properties used by the | ||
6 | Samsung implmentation of the SDHCI controller. | ||
7 | |||
8 | Note: The mmc core bindings documentation states that if none of the core | ||
9 | card-detect bindings are used, then the standard sdhci card detect mechanism | ||
10 | is 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 | |||
19 | Required 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 | |||
26 | Required 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 | |||
30 | Optional 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 | |||
36 | Example: | ||
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 | |||
3 | This file documents differences between the core properties in mmc.txt | ||
4 | and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers. | ||
5 | |||
6 | - compatible: Should be "marvell,dove-sdhci". | ||
7 | |||
8 | Example: | ||
9 | |||
10 | sdio0: 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 | |||
3 | This file documents differences between the core properties in mmc.txt | ||
4 | and the properties used by the sdhci-spear driver. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "st,spear300-sdhci" | ||
8 | |||
9 | Optional properties: | ||
10 | - cd-gpios: card detect gpio, with zero flags. | ||
11 | |||
12 | Example: | ||
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 | |||
3 | The Synopsis designware mobile storage host controller is used to interface | ||
4 | a SoC with storage medium such as eMMC or SD/MMC cards. This file documents | ||
5 | differences between the core mmc properties described by mmc.txt and the | ||
6 | properties used by the Synopsis Designware Mobile Storage Host Controller. | ||
7 | |||
8 | Required 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 | |||
32 | Optional 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 | |||
50 | Aliases: | ||
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 | |||
55 | Example: | ||
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 = "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 | }; | ||