1# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/litex,mmc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LiteX LiteSDCard device
8
9maintainers:
10  - Gabriel Somlo <gsomlo@gmail.com>
11
12description: |
13  LiteSDCard is a small footprint, configurable SDCard core for FPGA based
14  system on chips.
15
16  The hardware source is Open Source and can be found on at
17  https://github.com/enjoy-digital/litesdcard/.
18
19allOf:
20  - $ref: mmc-controller.yaml#
21
22properties:
23  compatible:
24    const: litex,mmc
25
26  reg:
27    items:
28      - description: PHY registers
29      - description: CORE registers
30      - description: DMA Reader buffer
31      - description: DMA Writer buffer
32      - description: IRQ registers
33    minItems: 4
34
35  reg-names:
36    items:
37      - const: phy
38      - const: core
39      - const: reader
40      - const: writer
41      - const: irq
42    minItems: 4
43
44  clocks:
45    maxItems: 1
46    description:
47      Handle to reference clock.
48
49  vmmc-supply:
50    description:
51      Handle to fixed-voltage supply for the card power.
52
53  interrupts:
54    maxItems: 1
55
56required:
57  - compatible
58  - reg
59  - reg-names
60  - clocks
61  - vmmc-supply
62
63additionalProperties: false
64
65examples:
66  - |
67    mmc: mmc@12005000 {
68        compatible = "litex,mmc";
69        reg = <0x12005000 0x100>,
70              <0x12003800 0x100>,
71              <0x12003000 0x100>,
72              <0x12004800 0x100>,
73              <0x12004000 0x100>;
74        reg-names = "phy", "core", "reader", "writer", "irq";
75        clocks = <&reference_clk>;
76        vmmc-supply = <&vreg_mmc>;
77        interrupts = <4>;
78    };
79