xref: /openbmc/linux/Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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  interrupts:
27*ffe18c0fSConor Dooley    maxItems: 1
28*ffe18c0fSConor Dooley
29*ffe18c0fSConor Dooley  voltage-ranges:
30*ffe18c0fSConor Dooley    $ref: /schemas/types.yaml#/definitions/uint32-array
31*ffe18c0fSConor Dooley    description: |
32*ffe18c0fSConor Dooley      Two cells are required, first cell specifies minimum slot voltage (mV),
33*ffe18c0fSConor Dooley      second cell specifies maximum slot voltage (mV).
34*ffe18c0fSConor Dooley    items:
35*ffe18c0fSConor Dooley      - description: |
36*ffe18c0fSConor Dooley          value for minimum slot voltage in mV
37*ffe18c0fSConor Dooley        default: 3200
38*ffe18c0fSConor Dooley      - description: |
39*ffe18c0fSConor Dooley          value for maximum slot voltage in mV
40*ffe18c0fSConor Dooley        default: 3400
41*ffe18c0fSConor Dooley
42*ffe18c0fSConor Dooley  gpios:
43*ffe18c0fSConor Dooley    description: |
44*ffe18c0fSConor Dooley      For historical reasons, this does not follow the generic mmc-controller
45*ffe18c0fSConor Dooley      binding.
46*ffe18c0fSConor Dooley    minItems: 1
47*ffe18c0fSConor Dooley    items:
48*ffe18c0fSConor Dooley      - description: Card-Detect GPIO
49*ffe18c0fSConor Dooley      - description: Write-Protect GPIO
50*ffe18c0fSConor Dooley
51*ffe18c0fSConor Dooleyrequired:
52*ffe18c0fSConor Dooley  - compatible
53*ffe18c0fSConor Dooley  - reg
54*ffe18c0fSConor Dooley  - spi-max-frequency
55*ffe18c0fSConor Dooley
56*ffe18c0fSConor DooleyunevaluatedProperties: false
57*ffe18c0fSConor Dooley
58*ffe18c0fSConor Dooleyexamples:
59*ffe18c0fSConor Dooley  - |
60*ffe18c0fSConor Dooley    #include <dt-bindings/gpio/gpio.h>
61*ffe18c0fSConor Dooley    spi {
62*ffe18c0fSConor Dooley      #address-cells = <1>;
63*ffe18c0fSConor Dooley      #size-cells = <0>;
64*ffe18c0fSConor Dooley      mmc@0 {
65*ffe18c0fSConor Dooley        compatible = "mmc-spi-slot";
66*ffe18c0fSConor Dooley        reg = <0>;
67*ffe18c0fSConor Dooley        gpios = <&gpio 14 GPIO_ACTIVE_LOW>, <&gpio 15 GPIO_ACTIVE_HIGH>;
68*ffe18c0fSConor Dooley        voltage-ranges = <3300 3300>;
69*ffe18c0fSConor Dooley        spi-max-frequency = <50000000>;
70*ffe18c0fSConor Dooley        interrupts = <42>;
71*ffe18c0fSConor Dooley        interrupt-parent = <&PIC>;
72*ffe18c0fSConor Dooley      };
73*ffe18c0fSConor Dooley    };
74*ffe18c0fSConor Dooley
75*ffe18c0fSConor Dooley...
76