GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / mmc / amlogic,meson-mx-sdio.txt
1 * Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
2
3 The highspeed MMC host controller on Amlogic SoCs provides an interface
4 for MMC, SD, SDIO and SDHC types of memory cards.
5
6 Supported maximum speeds are the ones of the eMMC standard 4.41 as well
7 as the speed of SD standard 2.0.
8
9 The hardware provides an internal "mux" which allows up to three slots
10 to be controlled. Only one slot can be accessed at a time.
11
12 Required properties:
13  - compatible : must be one of
14         - "amlogic,meson8-sdio"
15         - "amlogic,meson8b-sdio"
16         along with the generic "amlogic,meson-mx-sdio"
17  - reg : mmc controller base registers
18  - interrupts : mmc controller interrupt
19  - #address-cells : must be 1
20  - size-cells : must be 0
21  - clocks : phandle to clock providers
22  - clock-names : must contain "core" and "clkin"
23
24 Required child nodes:
25 A node for each slot provided by the MMC controller is required.
26 NOTE: due to a driver limitation currently only one slot (= child node)
27       is supported!
28
29 Required properties on each child node (= slot):
30  - compatible : must be "mmc-slot" (see mmc.txt within this directory)
31  - reg : the slot (or "port") ID
32
33 Optional properties on each child node (= slot):
34  - bus-width : must be 1 or 4 (8-bit bus is not supported)
35  - for cd and all other additional generic mmc parameters
36    please refer to mmc.txt within this directory
37
38 Examples:
39         mmc@c1108c20 {
40                 compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
41                 reg = <0xc1108c20 0x20>;
42                 interrupts = <0 28 1>;
43                 #address-cells = <1>;
44                 #size-cells = <0>;
45                 clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
46                 clock-names = "core", "clkin";
47
48                 slot@1 {
49                         compatible = "mmc-slot";
50                         reg = <1>;
51
52                         bus-width = <4>;
53                 };
54         };