xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/renesas,mmcif.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Renesas Multi Media Card Interface (MMCIF) Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThis file documents differences between the core properties in mmc.txt
4*c66ec88fSEmmanuel Vadotand the properties used by the MMCIF device.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot- compatible: should be "renesas,mmcif-<soctype>", "renesas,sh-mmcif" as a
10*c66ec88fSEmmanuel Vadot  fallback. Examples with <soctype> are:
11*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r7s72100" for the MMCIF found in r7s72100 SoCs
12*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a73a4" for the MMCIF found in r8a73a4 SoCs
13*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7740" for the MMCIF found in r8a7740 SoCs
14*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7742" for the MMCIF found in r8a7742 SoCs
15*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7743" for the MMCIF found in r8a7743 SoCs
16*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7744" for the MMCIF found in r8a7744 SoCs
17*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7745" for the MMCIF found in r8a7745 SoCs
18*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7778" for the MMCIF found in r8a7778 SoCs
19*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7790" for the MMCIF found in r8a7790 SoCs
20*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7791" for the MMCIF found in r8a7791 SoCs
21*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7793" for the MMCIF found in r8a7793 SoCs
22*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-r8a7794" for the MMCIF found in r8a7794 SoCs
23*c66ec88fSEmmanuel Vadot	- "renesas,mmcif-sh73a0" for the MMCIF found in sh73a0 SoCs
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot- interrupts: Some SoCs have only 1 shared interrupt, while others have either
26*c66ec88fSEmmanuel Vadot  2 or 3 individual interrupts (error, int, card detect). Below is the number
27*c66ec88fSEmmanuel Vadot  of interrupts for each SoC:
28*c66ec88fSEmmanuel Vadot    1: r8a73a4, r8a7742, r8a7743, r8a7744, r8a7745, r8a7778, r8a7790, r8a7791,
29*c66ec88fSEmmanuel Vadot       r8a7793, r8a7794
30*c66ec88fSEmmanuel Vadot    2: r8a7740, sh73a0
31*c66ec88fSEmmanuel Vadot    3: r7s72100
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadot- clocks: reference to the functional clock
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadot- dmas: reference to the DMA channels, one per channel name listed in the
36*c66ec88fSEmmanuel Vadot  dma-names property.
37*c66ec88fSEmmanuel Vadot- dma-names: must contain "tx" for the transmit DMA channel and "rx" for the
38*c66ec88fSEmmanuel Vadot  receive DMA channel.
39*c66ec88fSEmmanuel Vadot- max-frequency: Maximum operating clock frequency, driver uses default clock
40*c66ec88fSEmmanuel Vadot  frequency if it is not set.
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot
43*c66ec88fSEmmanuel VadotExample: R8A7790 (R-Car H2) MMCIF0
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot	mmcif0: mmc@ee200000 {
46*c66ec88fSEmmanuel Vadot		compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
47*c66ec88fSEmmanuel Vadot		reg = <0 0xee200000 0 0x80>;
48*c66ec88fSEmmanuel Vadot		interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
49*c66ec88fSEmmanuel Vadot		clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
50*c66ec88fSEmmanuel Vadot		dmas = <&dmac0 0xd1>, <&dmac0 0xd2>;
51*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx";
52*c66ec88fSEmmanuel Vadot		max-frequency = <97500000>;
53*c66ec88fSEmmanuel Vadot	};
54