0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Ingenic SoCs MMC Controller DT bindings
0008
0009 maintainers:
0010 - Paul Cercueil <paul@crapouillou.net>
0011
0012 allOf:
0013 - $ref: mmc-controller.yaml#
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - enum:
0019 - ingenic,jz4740-mmc
0020 - ingenic,jz4725b-mmc
0021 - ingenic,jz4760-mmc
0022 - ingenic,jz4775-mmc
0023 - ingenic,jz4780-mmc
0024 - ingenic,x1000-mmc
0025 - items:
0026 - const: ingenic,jz4770-mmc
0027 - const: ingenic,jz4760-mmc
0028
0029 reg:
0030 maxItems: 1
0031
0032 interrupts:
0033 maxItems: 1
0034
0035 clocks:
0036 maxItems: 1
0037
0038 clock-names:
0039 const: mmc
0040
0041 dmas:
0042 minItems: 1
0043 maxItems: 2
0044
0045 dma-names:
0046 oneOf:
0047 - items:
0048 - const: rx
0049 - const: tx
0050 - const: tx-rx
0051
0052 required:
0053 - compatible
0054 - reg
0055 - interrupts
0056 - clocks
0057 - clock-names
0058 - dmas
0059 - dma-names
0060
0061 unevaluatedProperties: false
0062
0063 examples:
0064 - |
0065 #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
0066 #include <dt-bindings/dma/jz4780-dma.h>
0067 mmc0: mmc@13450000 {
0068 compatible = "ingenic,jz4780-mmc";
0069 reg = <0x13450000 0x1000>;
0070
0071 interrupt-parent = <&intc>;
0072 interrupts = <37>;
0073
0074 clocks = <&cgu JZ4780_CLK_MSC0>;
0075 clock-names = "mmc";
0076
0077 cap-sd-highspeed;
0078 cap-mmc-highspeed;
0079 cap-sdio-irq;
0080 dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,
0081 <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;
0082 dma-names = "rx", "tx";
0083 };
0084 - |
0085 #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
0086 #include <dt-bindings/dma/jz4780-dma.h>
0087 /*
0088 * Alternative version of the example above,
0089 * but using one single DMA channel for both
0090 * TX and RX.
0091 */
0092 mmc1: mmc@13460000 {
0093 compatible = "ingenic,jz4780-mmc";
0094 reg = <0x13460000 0x1000>;
0095
0096 interrupt-parent = <&intc>;
0097 interrupts = <36>;
0098
0099 clocks = <&cgu JZ4780_CLK_MSC1>;
0100 clock-names = "mmc";
0101
0102 cap-sd-highspeed;
0103 cap-mmc-highspeed;
0104 cap-sdio-irq;
0105 dmas = <&dma JZ4780_DMA_MSC1_TX JZ4780_DMA_MSC1_RX 0xffffffff>;
0106 dma-names = "tx-rx";
0107 };