xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/renesas,sdhi.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Renesas SDHI SD/MMC controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: should contain one or more of the following:
5*c66ec88fSEmmanuel Vadot		"renesas,sdhi-sh73a0" - SDHI IP on SH73A0 SoC
6*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r7s72100" - SDHI IP on R7S72100 SoC
7*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r7s9210" - SDHI IP on R7S9210 SoC
8*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a73a4" - SDHI IP on R8A73A4 SoC
9*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC
10*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7742" - SDHI IP on R8A7742 SoC
11*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC
12*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
13*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
14*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
15*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a774b1" - SDHI IP on R8A774B1 SoC
16*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a774c0" - SDHI IP on R8A774C0 SoC
17*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC
18*c66ec88fSEmmanuel Vadot		"renesas,sdhi-mmc-r8a77470" - SDHI/MMC IP on R8A77470 SoC
19*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
20*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
21*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
22*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7791" - SDHI IP on R8A7791 SoC
23*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7792" - SDHI IP on R8A7792 SoC
24*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7793" - SDHI IP on R8A7793 SoC
25*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7794" - SDHI IP on R8A7794 SoC
26*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7795" - SDHI IP on R8A7795 SoC
27*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a7796" - SDHI IP on R8A77960 SoC
28*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77961" - SDHI IP on R8A77961 SoC
29*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77965" - SDHI IP on R8A77965 SoC
30*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77970" - SDHI IP on R8A77970 SoC
31*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77980" - SDHI IP on R8A77980 SoC
32*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77990" - SDHI IP on R8A77990 SoC
33*c66ec88fSEmmanuel Vadot		"renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
34*c66ec88fSEmmanuel Vadot		"renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
35*c66ec88fSEmmanuel Vadot		"renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
36*c66ec88fSEmmanuel Vadot		"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 SDHI
37*c66ec88fSEmmanuel Vadot					   (not SDHI/MMC) controller
38*c66ec88fSEmmanuel Vadot		"renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
39*c66ec88fSEmmanuel Vadot					   SDHI controller
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot		When compatible with the generic version, nodes must list
43*c66ec88fSEmmanuel Vadot		the SoC-specific version corresponding to the platform
44*c66ec88fSEmmanuel Vadot		first followed by the generic version.
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot- clocks: Most controllers only have 1 clock source per channel. However, on
47*c66ec88fSEmmanuel Vadot	  some variations of this controller, the internal card detection
48*c66ec88fSEmmanuel Vadot	  logic that exists in this controller is sectioned off to be run by a
49*c66ec88fSEmmanuel Vadot	  separate second clock source to allow the main core clock to be turned
50*c66ec88fSEmmanuel Vadot	  off to save power.
51*c66ec88fSEmmanuel Vadot	  If 2 clocks are specified by the hardware, you must name them as
52*c66ec88fSEmmanuel Vadot	  "core" and "cd". If the controller only has 1 clock, naming is not
53*c66ec88fSEmmanuel Vadot	  required.
54*c66ec88fSEmmanuel Vadot	  Devices which have more than 1 clock are listed below:
55*c66ec88fSEmmanuel Vadot	  2: R7S72100, R7S9210
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel VadotOptional properties:
58*c66ec88fSEmmanuel Vadot- pinctrl-names: should be "default", "state_uhs"
59*c66ec88fSEmmanuel Vadot- pinctrl-0: should contain default/high speed pin ctrl
60*c66ec88fSEmmanuel Vadot- pinctrl-1: should contain uhs mode pin ctrl
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel VadotExample: R8A7790 (R-Car H2) SDHI controller nodes
63*c66ec88fSEmmanuel Vadot
64*c66ec88fSEmmanuel Vadot	sdhi0: sd@ee100000 {
65*c66ec88fSEmmanuel Vadot		compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
66*c66ec88fSEmmanuel Vadot		reg = <0 0xee100000 0 0x328>;
67*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
68*c66ec88fSEmmanuel Vadot		clocks = <&cpg CPG_MOD 314>;
69*c66ec88fSEmmanuel Vadot		dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
70*c66ec88fSEmmanuel Vadot		       <&dmac1 0xcd>, <&dmac1 0xce>;
71*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx", "tx", "rx";
72*c66ec88fSEmmanuel Vadot		max-frequency = <195000000>;
73*c66ec88fSEmmanuel Vadot		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
74*c66ec88fSEmmanuel Vadot		resets = <&cpg 314>;
75*c66ec88fSEmmanuel Vadot	};
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadot	sdhi1: sd@ee120000 {
78*c66ec88fSEmmanuel Vadot		compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
79*c66ec88fSEmmanuel Vadot		reg = <0 0xee120000 0 0x328>;
80*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
81*c66ec88fSEmmanuel Vadot		clocks = <&cpg CPG_MOD 313>;
82*c66ec88fSEmmanuel Vadot		dmas = <&dmac0 0xc9>, <&dmac0 0xca>,
83*c66ec88fSEmmanuel Vadot		       <&dmac1 0xc9>, <&dmac1 0xca>;
84*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx", "tx", "rx";
85*c66ec88fSEmmanuel Vadot		max-frequency = <195000000>;
86*c66ec88fSEmmanuel Vadot		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
87*c66ec88fSEmmanuel Vadot		resets = <&cpg 313>;
88*c66ec88fSEmmanuel Vadot	};
89*c66ec88fSEmmanuel Vadot
90*c66ec88fSEmmanuel Vadot	sdhi2: sd@ee140000 {
91*c66ec88fSEmmanuel Vadot		compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
92*c66ec88fSEmmanuel Vadot		reg = <0 0xee140000 0 0x100>;
93*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
94*c66ec88fSEmmanuel Vadot		clocks = <&cpg CPG_MOD 312>;
95*c66ec88fSEmmanuel Vadot		dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
96*c66ec88fSEmmanuel Vadot		       <&dmac1 0xc1>, <&dmac1 0xc2>;
97*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx", "tx", "rx";
98*c66ec88fSEmmanuel Vadot		max-frequency = <97500000>;
99*c66ec88fSEmmanuel Vadot		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
100*c66ec88fSEmmanuel Vadot		resets = <&cpg 312>;
101*c66ec88fSEmmanuel Vadot	};
102*c66ec88fSEmmanuel Vadot
103*c66ec88fSEmmanuel Vadot	sdhi3: sd@ee160000 {
104*c66ec88fSEmmanuel Vadot		compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
105*c66ec88fSEmmanuel Vadot		reg = <0 0xee160000 0 0x100>;
106*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
107*c66ec88fSEmmanuel Vadot		clocks = <&cpg CPG_MOD 311>;
108*c66ec88fSEmmanuel Vadot		dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
109*c66ec88fSEmmanuel Vadot		       <&dmac1 0xd3>, <&dmac1 0xd4>;
110*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx", "tx", "rx";
111*c66ec88fSEmmanuel Vadot		max-frequency = <97500000>;
112*c66ec88fSEmmanuel Vadot		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
113*c66ec88fSEmmanuel Vadot		resets = <&cpg 311>;
114*c66ec88fSEmmanuel Vadot	};
115