xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/atmel-hsmci.txt (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1* Atmel High Speed MultiMedia Card Interface
2
3This controller on atmel products provides an interface for MMC, SD and SDIO
4types of memory cards.
5
6This file documents differences between the core properties described
7by mmc.txt and the properties used by the atmel-mci driver.
8
91) MCI node
10
11Required 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- clock-names: tuple listing input clock names.
17	Required elements: "mci_clk"
18- clocks: phandles to input clocks.
19
20The node contains child nodes for each slot that the platform uses
21
22Example MCI node:
23
24mmc0: mmc@f0008000 {
25	compatible = "atmel,hsmci";
26	reg = <0xf0008000 0x600>;
27	interrupts = <12 4>;
28	#address-cells = <1>;
29	#size-cells = <0>;
30	clock-names = "mci_clk";
31	clocks = <&mci0_clk>;
32
33	[ child node definitions...]
34};
35
362) slot nodes
37
38Required properties:
39- reg: should contain the slot id.
40- bus-width: number of data lines connected to the controller
41
42Optional properties:
43- cd-gpios: specify GPIOs for card detection
44- cd-inverted: invert the value of external card detect gpio line
45- wp-gpios: specify GPIOs for write protection
46
47Example slot node:
48
49slot@0 {
50	reg = <0>;
51	bus-width = <4>;
52	cd-gpios = <&pioD 15 0>
53	cd-inverted;
54};
55
56Example full MCI node:
57mmc0: mmc@f0008000 {
58	compatible = "atmel,hsmci";
59	reg = <0xf0008000 0x600>;
60	interrupts = <12 4>;
61	#address-cells = <1>;
62	#size-cells = <0>;
63	slot@0 {
64		reg = <0>;
65		bus-width = <4>;
66		cd-gpios = <&pioD 15 0>
67		cd-inverted;
68	};
69	slot@1 {
70		reg = <1>;
71		bus-width = <4>;
72	};
73};
74