aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt
blob: 06cd32d0805283061ea3960321ccd45032ea1d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
* Synopsis Designware Mobile Storage Host Controller

The Synopsis designware mobile storage host controller is used to interface
a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
differences between the core mmc properties described by mmc.txt and the
properties used by the Synopsis Designware Mobile Storage Host Controller.

Required Properties:

* compatible: should be
	- snps,dw-mshc: for controllers compliant with synopsis dw-mshc.
* #address-cells: should be 1.
* #size-cells: should be 0.

# Slots: The slot specific information are contained within child-nodes with
  each child-node representing a supported slot. There should be atleast one
  child node representing a card slot. The name of the child node representing
  the slot is recommended to be slot@n where n is the unique number of the slot
  connnected to the controller. The following are optional properties which
  can be included in the slot child node.

	* reg: specifies the physical slot number. The valid values of this
	  property is 0 to (num-slots -1), where num-slots is the value
	  specified by the num-slots property.

	* bus-width: as documented in mmc core bindings.

	* wp-gpios: specifies the write protect gpio line. The format of the
	  gpio specifier depends on the gpio controller. If the write-protect
	  line is not available, this property is optional.

Optional properties:

* num-slots: specifies the number of slots supported by the controller.
  The number of physical slots actually used could be equal or less than the
  value specified by num-slots. If this property is not specified, the value
  of num-slot property is assumed to be 1.

* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
  specified, the default value of the fifo size is determined from the
  controller registers.

* card-detect-delay: Delay in milli-seconds before detecting card after card
  insert event. The default value is 0.

* supports-highspeed: Enables support for high speed cards (upto 50MHz)

* broken-cd: as documented in mmc core bindings.

Aliases:

- All the MSHC controller nodes should be represented in the aliases node using
  the following format 'mshc{n}' where n is a unique number for the alias.

Example:

The MSHC controller node can be split into two portions, SoC specific and
board specific portions as listed below.

	dwmmc0@12200000 {
		compatible = "snps,dw-mshc";
		reg = <0x12200000 0x1000>;
		interrupts = <0 75 0>;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	dwmmc0@12200000 {
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;

		slot@0 {
			reg = <0>;
			bus-width = <8>;
		};
	};