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