Back to home page

OSCL-LXR

 
 

    


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     };