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