114 lines
4.4 KiB
Plaintext
114 lines
4.4 KiB
Plaintext
|
* Toshiba Mobile IO SD/MMC controller
|
||
|
|
||
|
The tmio-mmc driver doesn't probe its devices actively, instead its binding to
|
||
|
devices is managed by either MFD drivers or by the sh_mobile_sdhi platform
|
||
|
driver. Those drivers supply the tmio-mmc driver with platform data, that either
|
||
|
describe hardware capabilities, known to them, or are obtained by them from
|
||
|
their own platform data or from their DT information. In the latter case all
|
||
|
compulsory and any optional properties, common to all SD/MMC drivers, as
|
||
|
described in mmc.txt, can be used. Additionally the following tmio_mmc-specific
|
||
|
optional bindings can be used.
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: should contain one or more of the following:
|
||
|
"renesas,sdhi-sh73a0" - SDHI IP on SH73A0 SoC
|
||
|
"renesas,sdhi-r7s72100" - SDHI IP on R7S72100 SoC
|
||
|
"renesas,sdhi-r8a73a4" - SDHI IP on R8A73A4 SoC
|
||
|
"renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC
|
||
|
"renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC
|
||
|
"renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
|
||
|
"renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
|
||
|
"renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
|
||
|
"renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
|
||
|
"renesas,sdhi-r8a7791" - SDHI IP on R8A7791 SoC
|
||
|
"renesas,sdhi-r8a7792" - SDHI IP on R8A7792 SoC
|
||
|
"renesas,sdhi-r8a7793" - SDHI IP on R8A7793 SoC
|
||
|
"renesas,sdhi-r8a7794" - SDHI IP on R8A7794 SoC
|
||
|
"renesas,sdhi-r8a7795" - SDHI IP on R8A7795 SoC
|
||
|
"renesas,sdhi-r8a7796" - SDHI IP on R8A7796 SoC
|
||
|
"renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
|
||
|
"renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
|
||
|
"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
|
||
|
SDHI controller
|
||
|
"renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 SDHI controller
|
||
|
|
||
|
|
||
|
When compatible with the generic version, nodes must list
|
||
|
the SoC-specific version corresponding to the platform
|
||
|
first followed by the generic version.
|
||
|
|
||
|
- clocks: Most controllers only have 1 clock source per channel. However, on
|
||
|
some variations of this controller, the internal card detection
|
||
|
logic that exists in this controller is sectioned off to be run by a
|
||
|
separate second clock source to allow the main core clock to be turned
|
||
|
off to save power.
|
||
|
If 2 clocks are specified by the hardware, you must name them as
|
||
|
"core" and "cd". If the controller only has 1 clock, naming is not
|
||
|
required.
|
||
|
Devices which have more than 1 clock are listed below:
|
||
|
2: R7S72100
|
||
|
|
||
|
Optional properties:
|
||
|
- toshiba,mmc-wrprotect-disable: write-protect detection is unavailable
|
||
|
- pinctrl-names: should be "default", "state_uhs"
|
||
|
- pinctrl-0: should contain default/high speed pin ctrl
|
||
|
- pinctrl-1: should contain uhs mode pin ctrl
|
||
|
|
||
|
Example: R8A7790 (R-Car H2) SDHI controller nodes
|
||
|
|
||
|
sdhi0: sd@ee100000 {
|
||
|
compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
|
||
|
reg = <0 0xee100000 0 0x328>;
|
||
|
interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&cpg CPG_MOD 314>;
|
||
|
dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
|
||
|
<&dmac1 0xcd>, <&dmac1 0xce>;
|
||
|
dma-names = "tx", "rx", "tx", "rx";
|
||
|
max-frequency = <195000000>;
|
||
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
||
|
resets = <&cpg 314>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhi1: sd@ee120000 {
|
||
|
compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
|
||
|
reg = <0 0xee120000 0 0x328>;
|
||
|
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&cpg CPG_MOD 313>;
|
||
|
dmas = <&dmac0 0xc9>, <&dmac0 0xca>,
|
||
|
<&dmac1 0xc9>, <&dmac1 0xca>;
|
||
|
dma-names = "tx", "rx", "tx", "rx";
|
||
|
max-frequency = <195000000>;
|
||
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
||
|
resets = <&cpg 313>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhi2: sd@ee140000 {
|
||
|
compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
|
||
|
reg = <0 0xee140000 0 0x100>;
|
||
|
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&cpg CPG_MOD 312>;
|
||
|
dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
|
||
|
<&dmac1 0xc1>, <&dmac1 0xc2>;
|
||
|
dma-names = "tx", "rx", "tx", "rx";
|
||
|
max-frequency = <97500000>;
|
||
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
||
|
resets = <&cpg 312>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhi3: sd@ee160000 {
|
||
|
compatible = "renesas,sdhi-r8a7790", "renesas,rcar-gen2-sdhi";
|
||
|
reg = <0 0xee160000 0 0x100>;
|
||
|
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&cpg CPG_MOD 311>;
|
||
|
dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
|
||
|
<&dmac1 0xd3>, <&dmac1 0xd4>;
|
||
|
dma-names = "tx", "rx", "tx", "rx";
|
||
|
max-frequency = <97500000>;
|
||
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
||
|
resets = <&cpg 311>;
|
||
|
status = "disabled";
|
||
|
};
|