xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/mmc-spi-slot.yaml (revision 058ac3e8063366dafa634d9107642e12b038bf09)
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  spi-max-frequency: true
27
28  interrupts:
29    maxItems: 1
30
31  voltage-ranges:
32    $ref: /schemas/types.yaml#/definitions/uint32-array
33    description: |
34      Two cells are required, first cell specifies minimum slot voltage (mV),
35      second cell specifies maximum slot voltage (mV).
36    items:
37      - description: |
38          value for minimum slot voltage in mV
39        default: 3200
40      - description: |
41          value for maximum slot voltage in mV
42        default: 3400
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