xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/renesas,mmcif.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/renesas,mmcif.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: Renesas Multi Media Card Interface (MMCIF) Controller
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Wolfram Sang <wsa+renesas@sang-engineering.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel VadotallOf:
13*cb7aa33aSEmmanuel Vadot  - $ref: mmc-controller.yaml
145956d97fSEmmanuel Vadot
155956d97fSEmmanuel Vadotproperties:
165956d97fSEmmanuel Vadot  compatible:
175956d97fSEmmanuel Vadot    items:
185956d97fSEmmanuel Vadot      - enum:
195956d97fSEmmanuel Vadot          - renesas,mmcif-r7s72100 # RZ/A1H
205956d97fSEmmanuel Vadot          - renesas,mmcif-r8a73a4  # R-Mobile APE6
215956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7740  # R-Mobile A1
225956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7742  # RZ/G1H
235956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7743  # RZ/G1M
245956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7744  # RZ/G1N
255956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7745  # RZ/G1E
265956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7778  # R-Car M1A
275956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7790  # R-Car H2
285956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7791  # R-Car M2-W
295956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7793  # R-Car M2-N
305956d97fSEmmanuel Vadot          - renesas,mmcif-r8a7794  # R-Car E2
315956d97fSEmmanuel Vadot          - renesas,mmcif-sh73a0   # SH-Mobile AG5
325956d97fSEmmanuel Vadot      - const: renesas,sh-mmcif
335956d97fSEmmanuel Vadot
345956d97fSEmmanuel Vadot  reg:
355956d97fSEmmanuel Vadot    maxItems: 1
365956d97fSEmmanuel Vadot
375956d97fSEmmanuel Vadot  interrupts: true
385956d97fSEmmanuel Vadot
395956d97fSEmmanuel Vadot  clocks:
405956d97fSEmmanuel Vadot    maxItems: 1
415956d97fSEmmanuel Vadot
425956d97fSEmmanuel Vadot  power-domains:
435956d97fSEmmanuel Vadot    maxItems: 1
445956d97fSEmmanuel Vadot
455956d97fSEmmanuel Vadot  resets:
465956d97fSEmmanuel Vadot    maxItems: 1
475956d97fSEmmanuel Vadot
485956d97fSEmmanuel Vadot  dmas:
495956d97fSEmmanuel Vadot    minItems: 2
505956d97fSEmmanuel Vadot    maxItems: 4
515956d97fSEmmanuel Vadot    description:
525956d97fSEmmanuel Vadot      Must contain a list of pairs of references to DMA specifiers, one for
535956d97fSEmmanuel Vadot      transmission, and one for reception.
545956d97fSEmmanuel Vadot
555956d97fSEmmanuel Vadot  dma-names:
565956d97fSEmmanuel Vadot    minItems: 2
575956d97fSEmmanuel Vadot    maxItems: 4
585956d97fSEmmanuel Vadot    items:
595956d97fSEmmanuel Vadot      enum:
605956d97fSEmmanuel Vadot        - tx
615956d97fSEmmanuel Vadot        - rx
625956d97fSEmmanuel Vadot
635956d97fSEmmanuel Vadot  max-frequency: true
645956d97fSEmmanuel Vadot
655956d97fSEmmanuel Vadotrequired:
665956d97fSEmmanuel Vadot  - compatible
675956d97fSEmmanuel Vadot  - reg
685956d97fSEmmanuel Vadot  - interrupts
695956d97fSEmmanuel Vadot  - clocks
705956d97fSEmmanuel Vadot  - power-domains
715956d97fSEmmanuel Vadot
725956d97fSEmmanuel Vadotif:
735956d97fSEmmanuel Vadot  properties:
745956d97fSEmmanuel Vadot    compatible:
755956d97fSEmmanuel Vadot      contains:
765956d97fSEmmanuel Vadot        const: renesas,mmcif-r7s72100
775956d97fSEmmanuel Vadotthen:
785956d97fSEmmanuel Vadot  properties:
795956d97fSEmmanuel Vadot    interrupts:
805956d97fSEmmanuel Vadot      items:
815956d97fSEmmanuel Vadot        - description: Error interrupt
825956d97fSEmmanuel Vadot        - description: Normal operation interrupt
835956d97fSEmmanuel Vadot        - description: Card detection interrupt
845956d97fSEmmanuel Vadotelse:
855956d97fSEmmanuel Vadot  if:
865956d97fSEmmanuel Vadot    properties:
875956d97fSEmmanuel Vadot      compatible:
885956d97fSEmmanuel Vadot        contains:
895956d97fSEmmanuel Vadot          enum:
905956d97fSEmmanuel Vadot            - renesas,mmcif-r8a7740
915956d97fSEmmanuel Vadot            - renesas,mmcif-sh73a0
925956d97fSEmmanuel Vadot  then:
935956d97fSEmmanuel Vadot    properties:
945956d97fSEmmanuel Vadot      interrupts:
955956d97fSEmmanuel Vadot        items:
965956d97fSEmmanuel Vadot          - description: Error interrupt
975956d97fSEmmanuel Vadot          - description: Normal operation interrupt
985956d97fSEmmanuel Vadot  else:
995956d97fSEmmanuel Vadot    if:
1005956d97fSEmmanuel Vadot      properties:
1015956d97fSEmmanuel Vadot        compatible:
1025956d97fSEmmanuel Vadot          contains:
1035956d97fSEmmanuel Vadot            enum:
1045956d97fSEmmanuel Vadot              - renesas,mmcif-r8a73a4
1055956d97fSEmmanuel Vadot              - renesas,mmcif-r8a7778
1065956d97fSEmmanuel Vadot    then:
1075956d97fSEmmanuel Vadot      properties:
1085956d97fSEmmanuel Vadot        interrupts:
1095956d97fSEmmanuel Vadot          maxItems: 1
1105956d97fSEmmanuel Vadot    else:
1115956d97fSEmmanuel Vadot      properties:
1125956d97fSEmmanuel Vadot        interrupts:
1135956d97fSEmmanuel Vadot          maxItems: 1
1145956d97fSEmmanuel Vadot      required:
1155956d97fSEmmanuel Vadot        - resets
1165956d97fSEmmanuel Vadot
1175956d97fSEmmanuel VadotunevaluatedProperties: false
1185956d97fSEmmanuel Vadot
1195956d97fSEmmanuel Vadotexamples:
1205956d97fSEmmanuel Vadot  - |
1215956d97fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
1225956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1235956d97fSEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
1245956d97fSEmmanuel Vadot
1255956d97fSEmmanuel Vadot    mmcif0: mmc@ee200000 {
1265956d97fSEmmanuel Vadot            compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
1275956d97fSEmmanuel Vadot            reg = <0xee200000 0x80>;
1285956d97fSEmmanuel Vadot            interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1295956d97fSEmmanuel Vadot            clocks = <&cpg CPG_MOD 315>;
1305956d97fSEmmanuel Vadot            power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1315956d97fSEmmanuel Vadot            resets = <&cpg 315>;
1325956d97fSEmmanuel Vadot            dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, <&dmac1 0xd1>, <&dmac1 0xd2>;
1335956d97fSEmmanuel Vadot            dma-names = "tx", "rx", "tx", "rx";
1345956d97fSEmmanuel Vadot            max-frequency = <97500000>;
1355956d97fSEmmanuel Vadot    };
136