162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mmc/litex,mmc.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: LiteX LiteSDCard device
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Gabriel Somlo <gsomlo@gmail.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  LiteSDCard is a small footprint, configurable SDCard core for FPGA based
1462306a36Sopenharmony_ci  system on chips.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  The hardware source is Open Source and can be found on at
1762306a36Sopenharmony_ci  https://github.com/enjoy-digital/litesdcard/.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciallOf:
2062306a36Sopenharmony_ci  - $ref: mmc-controller.yaml#
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  compatible:
2462306a36Sopenharmony_ci    const: litex,mmc
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  reg:
2762306a36Sopenharmony_ci    items:
2862306a36Sopenharmony_ci      - description: PHY registers
2962306a36Sopenharmony_ci      - description: CORE registers
3062306a36Sopenharmony_ci      - description: DMA Reader buffer
3162306a36Sopenharmony_ci      - description: DMA Writer buffer
3262306a36Sopenharmony_ci      - description: IRQ registers
3362306a36Sopenharmony_ci    minItems: 4
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  reg-names:
3662306a36Sopenharmony_ci    items:
3762306a36Sopenharmony_ci      - const: phy
3862306a36Sopenharmony_ci      - const: core
3962306a36Sopenharmony_ci      - const: reader
4062306a36Sopenharmony_ci      - const: writer
4162306a36Sopenharmony_ci      - const: irq
4262306a36Sopenharmony_ci    minItems: 4
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  clocks:
4562306a36Sopenharmony_ci    maxItems: 1
4662306a36Sopenharmony_ci    description:
4762306a36Sopenharmony_ci      Handle to reference clock.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  vmmc-supply:
5062306a36Sopenharmony_ci    description:
5162306a36Sopenharmony_ci      Handle to fixed-voltage supply for the card power.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  interrupts:
5462306a36Sopenharmony_ci    maxItems: 1
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cirequired:
5762306a36Sopenharmony_ci  - compatible
5862306a36Sopenharmony_ci  - reg
5962306a36Sopenharmony_ci  - reg-names
6062306a36Sopenharmony_ci  - clocks
6162306a36Sopenharmony_ci  - vmmc-supply
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciadditionalProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    mmc: mmc@12005000 {
6862306a36Sopenharmony_ci        compatible = "litex,mmc";
6962306a36Sopenharmony_ci        reg = <0x12005000 0x100>,
7062306a36Sopenharmony_ci              <0x12003800 0x100>,
7162306a36Sopenharmony_ci              <0x12003000 0x100>,
7262306a36Sopenharmony_ci              <0x12004800 0x100>,
7362306a36Sopenharmony_ci              <0x12004000 0x100>;
7462306a36Sopenharmony_ci        reg-names = "phy", "core", "reader", "writer", "irq";
7562306a36Sopenharmony_ci        clocks = <&reference_clk>;
7662306a36Sopenharmony_ci        vmmc-supply = <&vreg_mmc>;
7762306a36Sopenharmony_ci        interrupts = <4>;
7862306a36Sopenharmony_ci    };
79