xref: /linux/Documentation/devicetree/bindings/mmc/cavium-mmc.txt (revision a976c2951d8f376112361830aa7762beff83a205)
1*dc5aee3fSJan Glauber* Cavium Octeon & ThunderX MMC controller
2*dc5aee3fSJan Glauber
3*dc5aee3fSJan GlauberThe highspeed MMC host controller on Caviums SoCs provides an interface
4*dc5aee3fSJan Glauberfor MMC and SD types of memory cards.
5*dc5aee3fSJan Glauber
6*dc5aee3fSJan GlauberSupported maximum speeds are the ones of the eMMC standard 4.41 as well
7*dc5aee3fSJan Glauberas the speed of SD standard 4.0. Only 3.3 Volt is supported.
8*dc5aee3fSJan Glauber
9*dc5aee3fSJan GlauberRequired properties:
10*dc5aee3fSJan Glauber - compatible : should be one of:
11*dc5aee3fSJan Glauber   cavium,octeon-6130-mmc
12*dc5aee3fSJan Glauber   cavium,octeon-7890-mmc
13*dc5aee3fSJan Glauber   cavium,thunder-8190-mmc
14*dc5aee3fSJan Glauber   cavium,thunder-8390-mmc
15*dc5aee3fSJan Glauber   mmc-slot
16*dc5aee3fSJan Glauber - reg : mmc controller base registers
17*dc5aee3fSJan Glauber - clocks : phandle
18*dc5aee3fSJan Glauber
19*dc5aee3fSJan GlauberOptional properties:
20*dc5aee3fSJan Glauber - for cd, bus-width and additional generic mmc parameters
21*dc5aee3fSJan Glauber   please refer to mmc.txt within this directory
22*dc5aee3fSJan Glauber - cavium,cmd-clk-skew : number of coprocessor clocks before sampling command
23*dc5aee3fSJan Glauber - cavium,dat-clk-skew : number of coprocessor clocks before sampling data
24*dc5aee3fSJan Glauber
25*dc5aee3fSJan GlauberDeprecated properties:
26*dc5aee3fSJan Glauber- spi-max-frequency : use max-frequency instead
27*dc5aee3fSJan Glauber- cavium,bus-max-width : use bus-width instead
28*dc5aee3fSJan Glauber- power-gpios : use vmmc-supply instead
29*dc5aee3fSJan Glauber- cavium,octeon-6130-mmc-slot : use mmc-slot instead
30*dc5aee3fSJan Glauber
31*dc5aee3fSJan GlauberExamples:
32*dc5aee3fSJan Glauber	mmc_1_4: mmc@1,4 {
33*dc5aee3fSJan Glauber		compatible = "cavium,thunder-8390-mmc";
34*dc5aee3fSJan Glauber		reg = <0x0c00 0 0 0 0>;	/* DEVFN = 0x0c (1:4) */
35*dc5aee3fSJan Glauber		#address-cells = <1>;
36*dc5aee3fSJan Glauber		#size-cells = <0>;
37*dc5aee3fSJan Glauber		clocks = <&sclk>;
38*dc5aee3fSJan Glauber
39*dc5aee3fSJan Glauber		mmc-slot@0 {
40*dc5aee3fSJan Glauber			compatible = "mmc-slot";
41*dc5aee3fSJan Glauber			reg = <0>;
42*dc5aee3fSJan Glauber			vmmc-supply = <&mmc_supply_3v3>;
43*dc5aee3fSJan Glauber			max-frequency = <42000000>;
44*dc5aee3fSJan Glauber			bus-width = <4>;
45*dc5aee3fSJan Glauber			cap-sd-highspeed;
46*dc5aee3fSJan Glauber		};
47*dc5aee3fSJan Glauber
48*dc5aee3fSJan Glauber		mmc-slot@1 {
49*dc5aee3fSJan Glauber			compatible = "mmc-slot";
50*dc5aee3fSJan Glauber			reg = <1>;
51*dc5aee3fSJan Glauber			vmmc-supply = <&mmc_supply_3v3>;
52*dc5aee3fSJan Glauber			max-frequency = <42000000>;
53*dc5aee3fSJan Glauber			bus-width = <8>;
54*dc5aee3fSJan Glauber			cap-mmc-highspeed;
55*dc5aee3fSJan Glauber			non-removable;
56*dc5aee3fSJan Glauber		};
57*dc5aee3fSJan Glauber	};
58