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