1* ARM PrimeCell MultiMedia Card Interface (MMCI) PL180/1
2
3The ARM PrimeCell MMCI PL180 and PL181 provides an interface for
4reading and writing to MultiMedia and SD cards alike.
5
6This file documents differences between the core properties described
7by mmc.txt and the properties used by the mmci driver. Using "st" as
8the prefix for a property, indicates support by the ST Micro variant.
9
10Required properties:
11- compatible             : contains "arm,pl18x", "arm,primecell".
12- vmmc-supply            : phandle to the regulator device tree node, mentioned
13                           as the VCC/VDD supply in the eMMC/SD specs.
14
15Optional properties:
16- arm,primecell-periphid : contains the PrimeCell Peripheral ID, it overrides
17                           the ID provided by the HW
18- resets                 : phandle to internal reset line.
19			   Should be defined for sdmmc variant.
20- vqmmc-supply           : phandle to the regulator device tree node, mentioned
21                           as the VCCQ/VDD_IO supply in the eMMC/SD specs.
22specific for ux500 variant:
23- st,sig-dir-dat0        : bus signal direction pin used for DAT[0].
24- st,sig-dir-dat2        : bus signal direction pin used for DAT[2].
25- st,sig-dir-dat31       : bus signal direction pin used for DAT[3] and DAT[1].
26- st,sig-dir-dat74       : bus signal direction pin used for DAT[4] to DAT[7].
27- st,sig-dir-cmd         : cmd signal direction pin used for CMD.
28- st,sig-pin-fbclk       : feedback clock signal pin used.
29
30specific for sdmmc variant:
31- st,sig-dir             : signal direction polarity used for cmd, dat0 dat123.
32- st,neg-edge            : data & command phase relation, generated on
33                           sd clock falling edge.
34- st,use-ckin            : use ckin pin from an external driver to sample
35                           the receive data (example: with voltage
36			   switch transceiver).
37
38Deprecated properties:
39- mmc-cap-mmc-highspeed  : indicates whether MMC is high speed capable.
40- mmc-cap-sd-highspeed   : indicates whether SD is high speed capable.
41
42Example:
43
44sdi0_per1@80126000 {
45	compatible = "arm,pl18x", "arm,primecell";
46	reg = <0x80126000 0x1000>;
47	interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
48
49	dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
50	       <&dma 29 0 0x0>; /* Logical - MemToDev */
51	dma-names = "rx", "tx";
52
53	clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
54	clock-names = "sdi", "apb_pclk";
55
56	max-frequency = <100000000>;
57	bus-width = <4>;
58	cap-sd-highspeed;
59	cap-mmc-highspeed;
60	cd-gpios  = <&gpio2 31 0x4>; // 95
61	st,sig-dir-dat0;
62	st,sig-dir-dat2;
63	st,sig-dir-cmd;
64	st,sig-pin-fbclk;
65
66	vmmc-supply = <&ab8500_ldo_aux3_reg>;
67	vqmmc-supply = <&vmmci>;
68
69	pinctrl-names = "default", "sleep";
70	pinctrl-0 = <&sdi0_default_mode>;
71	pinctrl-1 = <&sdi0_sleep_mode>;
72};
73