diff options
Diffstat (limited to 'Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt')
| -rw-r--r-- | Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt new file mode 100644 index 000000000000..066a78b034ca --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt | |||
| @@ -0,0 +1,107 @@ | |||
| 1 | * Synopsys Designware Mobile Storage Host Controller | ||
| 2 | |||
| 3 | The Synopsys 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 Synopsys Designware Mobile Storage Host Controller. | ||
| 7 | |||
| 8 | Required Properties: | ||
| 9 | |||
| 10 | * compatible: should be | ||
| 11 | - snps,dw-mshc: for controllers compliant with synopsys 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 a GPIO is not used | ||
| 30 | for write-protect, this property is optional. | ||
| 31 | |||
| 32 | * disable-wp: If the wp-gpios property isn't present then (by default) | ||
| 33 | we'd assume that the write protect is hooked up directly to the | ||
| 34 | controller's special purpose write protect line (accessible via | ||
| 35 | the WRTPRT register). However, it's possible that we simply don't | ||
| 36 | want write protect. In that case specify 'disable-wp'. | ||
| 37 | NOTE: This property is not required for slots known to always | ||
| 38 | connect to eMMC or SDIO cards. | ||
| 39 | |||
| 40 | Optional properties: | ||
| 41 | |||
| 42 | * clocks: from common clock binding: handle to biu and ciu clocks for the | ||
| 43 | bus interface unit clock and the card interface unit clock. | ||
| 44 | |||
| 45 | * clock-names: from common clock binding: Shall be "biu" and "ciu". | ||
| 46 | If the biu clock is missing we'll simply skip enabling it. If the | ||
| 47 | ciu clock is missing we'll just assume that the clock is running at | ||
| 48 | clock-frequency. It is an error to omit both the ciu clock and the | ||
| 49 | clock-frequency. | ||
| 50 | |||
| 51 | * clock-frequency: should be the frequency (in Hz) of the ciu clock. If this | ||
| 52 | is specified and the ciu clock is specified then we'll try to set the ciu | ||
| 53 | clock to this at probe time. | ||
| 54 | |||
| 55 | * num-slots: specifies the number of slots supported by the controller. | ||
| 56 | The number of physical slots actually used could be equal or less than the | ||
| 57 | value specified by num-slots. If this property is not specified, the value | ||
| 58 | of num-slot property is assumed to be 1. | ||
| 59 | |||
| 60 | * fifo-depth: The maximum size of the tx/rx fifo's. If this property is not | ||
| 61 | specified, the default value of the fifo size is determined from the | ||
| 62 | controller registers. | ||
| 63 | |||
| 64 | * card-detect-delay: Delay in milli-seconds before detecting card after card | ||
| 65 | insert event. The default value is 0. | ||
| 66 | |||
| 67 | * supports-highspeed: Enables support for high speed cards (up to 50MHz) | ||
| 68 | |||
| 69 | * broken-cd: as documented in mmc core bindings. | ||
| 70 | |||
| 71 | * vmmc-supply: The phandle to the regulator to use for vmmc. If this is | ||
| 72 | specified we'll defer probe until we can find this regulator. | ||
| 73 | |||
| 74 | Aliases: | ||
| 75 | |||
| 76 | - All the MSHC controller nodes should be represented in the aliases node using | ||
| 77 | the following format 'mshc{n}' where n is a unique number for the alias. | ||
| 78 | |||
| 79 | Example: | ||
| 80 | |||
| 81 | The MSHC controller node can be split into two portions, SoC specific and | ||
| 82 | board specific portions as listed below. | ||
| 83 | |||
| 84 | dwmmc0@12200000 { | ||
| 85 | compatible = "snps,dw-mshc"; | ||
| 86 | clocks = <&clock 351>, <&clock 132>; | ||
| 87 | clock-names = "biu", "ciu"; | ||
| 88 | reg = <0x12200000 0x1000>; | ||
| 89 | interrupts = <0 75 0>; | ||
| 90 | #address-cells = <1>; | ||
| 91 | #size-cells = <0>; | ||
| 92 | }; | ||
| 93 | |||
| 94 | dwmmc0@12200000 { | ||
| 95 | clock-frequency = <400000000>; | ||
| 96 | num-slots = <1>; | ||
| 97 | supports-highspeed; | ||
| 98 | broken-cd; | ||
| 99 | fifo-depth = <0x80>; | ||
| 100 | card-detect-delay = <200>; | ||
| 101 | vmmc-supply = <&buck8>; | ||
| 102 | |||
| 103 | slot@0 { | ||
| 104 | reg = <0>; | ||
| 105 | bus-width = <8>; | ||
| 106 | }; | ||
| 107 | }; | ||
