Thomas Abraham | c91eab4 | 2012-09-17 18:16:40 +0000 | [diff] [blame] | 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 |
Doug Anderson | a70aaa6 | 2013-01-11 17:03:50 +0000 | [diff] [blame] | 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. |
Thomas Abraham | c91eab4 | 2012-09-17 18:16:40 +0000 | [diff] [blame] | 39 | |
| 40 | Optional properties: |
| 41 | |
| 42 | * num-slots: specifies the number of slots supported by the controller. |
| 43 | The number of physical slots actually used could be equal or less than the |
| 44 | value specified by num-slots. If this property is not specified, the value |
| 45 | of num-slot property is assumed to be 1. |
| 46 | |
| 47 | * fifo-depth: The maximum size of the tx/rx fifo's. If this property is not |
| 48 | specified, the default value of the fifo size is determined from the |
| 49 | controller registers. |
| 50 | |
| 51 | * card-detect-delay: Delay in milli-seconds before detecting card after card |
| 52 | insert event. The default value is 0. |
| 53 | |
| 54 | * supports-highspeed: Enables support for high speed cards (upto 50MHz) |
| 55 | |
| 56 | * broken-cd: as documented in mmc core bindings. |
| 57 | |
| 58 | Aliases: |
| 59 | |
| 60 | - All the MSHC controller nodes should be represented in the aliases node using |
| 61 | the following format 'mshc{n}' where n is a unique number for the alias. |
| 62 | |
| 63 | Example: |
| 64 | |
| 65 | The MSHC controller node can be split into two portions, SoC specific and |
| 66 | board specific portions as listed below. |
| 67 | |
| 68 | dwmmc0@12200000 { |
| 69 | compatible = "snps,dw-mshc"; |
| 70 | reg = <0x12200000 0x1000>; |
| 71 | interrupts = <0 75 0>; |
| 72 | #address-cells = <1>; |
| 73 | #size-cells = <0>; |
| 74 | }; |
| 75 | |
| 76 | dwmmc0@12200000 { |
| 77 | num-slots = <1>; |
| 78 | supports-highspeed; |
| 79 | broken-cd; |
| 80 | fifo-depth = <0x80>; |
| 81 | card-detect-delay = <200>; |
| 82 | |
| 83 | slot@0 { |
| 84 | reg = <0>; |
| 85 | bus-width = <8>; |
| 86 | }; |
| 87 | }; |