108 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Ingenic SoCs MMC Controller8 9maintainers:10 - Paul Cercueil <paul@crapouillou.net>11 12allOf:13 - $ref: mmc-controller.yaml#14 15properties:16 compatible:17 oneOf:18 - enum:19 - ingenic,jz4740-mmc20 - ingenic,jz4725b-mmc21 - ingenic,jz4760-mmc22 - ingenic,jz4775-mmc23 - ingenic,jz4780-mmc24 - ingenic,x1000-mmc25 - items:26 - const: ingenic,jz4770-mmc27 - const: ingenic,jz4760-mmc28 29 reg:30 maxItems: 131 32 interrupts:33 maxItems: 134 35 clocks:36 maxItems: 137 38 clock-names:39 const: mmc40 41 dmas:42 minItems: 143 maxItems: 244 45 dma-names:46 oneOf:47 - items:48 - const: rx49 - const: tx50 - const: tx-rx51 52required:53 - compatible54 - reg55 - interrupts56 - clocks57 - clock-names58 - dmas59 - dma-names60 61unevaluatedProperties: false62 63examples:64 - |65 #include <dt-bindings/clock/ingenic,jz4780-cgu.h>66 #include <dt-bindings/dma/jz4780-dma.h>67 mmc0: mmc@13450000 {68 compatible = "ingenic,jz4780-mmc";69 reg = <0x13450000 0x1000>;70 71 interrupt-parent = <&intc>;72 interrupts = <37>;73 74 clocks = <&cgu JZ4780_CLK_MSC0>;75 clock-names = "mmc";76 77 cap-sd-highspeed;78 cap-mmc-highspeed;79 cap-sdio-irq;80 dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,81 <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;82 dma-names = "rx", "tx";83 };84 - |85 #include <dt-bindings/clock/ingenic,jz4780-cgu.h>86 #include <dt-bindings/dma/jz4780-dma.h>87 /*88 * Alternative version of the example above,89 * but using one single DMA channel for both90 * TX and RX.91 */92 mmc1: mmc@13460000 {93 compatible = "ingenic,jz4780-mmc";94 reg = <0x13460000 0x1000>;95 96 interrupt-parent = <&intc>;97 interrupts = <36>;98 99 clocks = <&cgu JZ4780_CLK_MSC1>;100 clock-names = "mmc";101 102 cap-sd-highspeed;103 cap-mmc-highspeed;104 cap-sdio-irq;105 dmas = <&dma JZ4780_DMA_MSC1_TX JZ4780_DMA_MSC1_RX 0xffffffff>;106 dma-names = "tx-rx";107 };108