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