xref: /linux/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml (revision f057b57270c2a17d3f45c177e9434fa5745caa48)
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-matrix
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      items:
36        - description: |
37            value for minimum slot voltage in mV
38          default: 3200
39        - description: |
40            value for maximum slot voltage in mV
41          default: 3400
42    maxItems: 1
43
44  gpios:
45    description: |
46      For historical reasons, this does not follow the generic mmc-controller
47      binding.
48    minItems: 1
49    items:
50      - description: Card-Detect GPIO
51      - description: Write-Protect GPIO
52
53required:
54  - compatible
55  - reg
56  - spi-max-frequency
57
58unevaluatedProperties: false
59
60examples:
61  - |
62    #include <dt-bindings/gpio/gpio.h>
63    spi {
64      #address-cells = <1>;
65      #size-cells = <0>;
66      mmc@0 {
67        compatible = "mmc-spi-slot";
68        reg = <0>;
69        gpios = <&gpio 14 GPIO_ACTIVE_LOW>, <&gpio 15 GPIO_ACTIVE_HIGH>;
70        voltage-ranges = <3300 3300>;
71        spi-max-frequency = <50000000>;
72        interrupts = <42>;
73        interrupt-parent = <&PIC>;
74      };
75    };
76
77...
78