GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / mmc / mmc-spi-slot.yaml
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
7 title: MMC/SD/SDIO slot directly connected to a SPI bus
8
9 maintainers:
10   - Ulf Hansson <ulf.hansson@linaro.org>
11
12 allOf:
13   - $ref: "mmc-controller.yaml"
14   - $ref: /schemas/spi/spi-peripheral-props.yaml
15
16 description: |
17   The extra properties used by an mmc connected via SPI.
18
19 properties:
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
51 required:
52   - compatible
53   - reg
54   - spi-max-frequency
55
56 unevaluatedProperties: false
57
58 examples:
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 ...