0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mmc/renesas,mmcif.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Renesas Multi Media Card Interface (MMCIF) Controller
0008
0009 maintainers:
0010 - Wolfram Sang <wsa+renesas@sang-engineering.com>
0011
0012 allOf:
0013 - $ref: "mmc-controller.yaml"
0014
0015 properties:
0016 compatible:
0017 items:
0018 - enum:
0019 - renesas,mmcif-r7s72100 # RZ/A1H
0020 - renesas,mmcif-r8a73a4 # R-Mobile APE6
0021 - renesas,mmcif-r8a7740 # R-Mobile A1
0022 - renesas,mmcif-r8a7742 # RZ/G1H
0023 - renesas,mmcif-r8a7743 # RZ/G1M
0024 - renesas,mmcif-r8a7744 # RZ/G1N
0025 - renesas,mmcif-r8a7745 # RZ/G1E
0026 - renesas,mmcif-r8a7778 # R-Car M1A
0027 - renesas,mmcif-r8a7790 # R-Car H2
0028 - renesas,mmcif-r8a7791 # R-Car M2-W
0029 - renesas,mmcif-r8a7793 # R-Car M2-N
0030 - renesas,mmcif-r8a7794 # R-Car E2
0031 - renesas,mmcif-sh73a0 # SH-Mobile AG5
0032 - const: renesas,sh-mmcif
0033
0034 reg:
0035 maxItems: 1
0036
0037 interrupts: true
0038
0039 clocks:
0040 maxItems: 1
0041
0042 power-domains:
0043 maxItems: 1
0044
0045 resets:
0046 maxItems: 1
0047
0048 dmas:
0049 minItems: 2
0050 maxItems: 4
0051 description:
0052 Must contain a list of pairs of references to DMA specifiers, one for
0053 transmission, and one for reception.
0054
0055 dma-names:
0056 minItems: 2
0057 maxItems: 4
0058 items:
0059 enum:
0060 - tx
0061 - rx
0062
0063 max-frequency: true
0064
0065 required:
0066 - compatible
0067 - reg
0068 - interrupts
0069 - clocks
0070 - power-domains
0071
0072 if:
0073 properties:
0074 compatible:
0075 contains:
0076 const: renesas,mmcif-r7s72100
0077 then:
0078 properties:
0079 interrupts:
0080 items:
0081 - description: Error interrupt
0082 - description: Normal operation interrupt
0083 - description: Card detection interrupt
0084 else:
0085 if:
0086 properties:
0087 compatible:
0088 contains:
0089 enum:
0090 - renesas,mmcif-r8a7740
0091 - renesas,mmcif-sh73a0
0092 then:
0093 properties:
0094 interrupts:
0095 items:
0096 - description: Error interrupt
0097 - description: Normal operation interrupt
0098 else:
0099 if:
0100 properties:
0101 compatible:
0102 contains:
0103 enum:
0104 - renesas,mmcif-r8a73a4
0105 - renesas,mmcif-r8a7778
0106 then:
0107 properties:
0108 interrupts:
0109 maxItems: 1
0110 else:
0111 properties:
0112 interrupts:
0113 maxItems: 1
0114 required:
0115 - resets
0116
0117 unevaluatedProperties: false
0118
0119 examples:
0120 - |
0121 #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
0122 #include <dt-bindings/interrupt-controller/arm-gic.h>
0123 #include <dt-bindings/power/r8a7790-sysc.h>
0124
0125 mmcif0: mmc@ee200000 {
0126 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
0127 reg = <0xee200000 0x80>;
0128 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
0129 clocks = <&cpg CPG_MOD 315>;
0130 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
0131 resets = <&cpg 315>;
0132 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, <&dmac1 0xd1>, <&dmac1 0xd2>;
0133 dma-names = "tx", "rx", "tx", "rx";
0134 max-frequency = <97500000>;
0135 };