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