1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/mmc-spi-slot.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MMC/SD/SDIO slot directly connected to a SPI bus
8
9maintainers:
10  - Ulf Hansson <ulf.hansson@linaro.org>
11
12allOf:
13  - $ref: mmc-controller.yaml
14  - $ref: /schemas/spi/spi-peripheral-props.yaml
15
16description: |
17  The extra properties used by an mmc connected via SPI.
18
19properties:
20  compatible:
21    const: mmc-spi-slot
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  voltage-ranges:
30    $ref: /schemas/types.yaml#/definitions/uint32-array
31    description: |
32      Two cells are required, first cell specifies minimum slot voltage (mV),
33      second cell specifies maximum slot voltage (mV).
34    items:
35      - description: |
36          value for minimum slot voltage in mV
37        default: 3200
38      - description: |
39          value for maximum slot voltage in mV
40        default: 3400
41
42  gpios:
43    description: |
44      For historical reasons, this does not follow the generic mmc-controller
45      binding.
46    minItems: 1
47    items:
48      - description: Card-Detect GPIO
49      - description: Write-Protect GPIO
50
51required:
52  - compatible
53  - reg
54  - spi-max-frequency
55
56unevaluatedProperties: false
57
58examples:
59  - |
60    #include <dt-bindings/gpio/gpio.h>
61    spi {
62      #address-cells = <1>;
63      #size-cells = <0>;
64      mmc@0 {
65        compatible = "mmc-spi-slot";
66        reg = <0>;
67        gpios = <&gpio 14 GPIO_ACTIVE_LOW>, <&gpio 15 GPIO_ACTIVE_HIGH>;
68        voltage-ranges = <3300 3300>;
69        spi-max-frequency = <50000000>;
70        interrupts = <42>;
71        interrupt-parent = <&PIC>;
72      };
73    };
74
75...
76