summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/spi/spi-gpio.yaml
blob: 55c4f1705f07ae5fc1d3cc24927e554828ffc271 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SPI-GPIO devicetree bindings

maintainers:
  - Rob Herring <robh@kernel.org>

description:
  This represents a group of 3-n GPIO lines used for bit-banged SPI on
  dedicated GPIO lines.

allOf:
  - $ref: "/schemas/spi/spi-controller.yaml#"

properties:
  compatible:
    const: spi-gpio

  sck-gpios:
    description: GPIO spec for the SCK line to use
    maxItems: 1

  miso-gpios:
    description: GPIO spec for the MISO line to use
    maxItems: 1

  mosi-gpios:
    description: GPIO spec for the MOSI line to use
    maxItems: 1

  cs-gpios:
    description: GPIOs to use for chipselect lines.
      Not needed if num-chipselects = <0>.
    minItems: 1
    maxItems: 1024

  num-chipselects:
    description: Number of chipselect lines. Should be <0> if a single device
      with no chip select is connected.
    $ref: "/schemas/types.yaml#/definitions/uint32"

  # Deprecated properties
  gpio-sck: false
  gpio-miso: false
  gpio-mosi: false

required:
  - compatible
  - num-chipselects
  - sck-gpios

examples:
  - |
    spi {
      compatible = "spi-gpio";
      #address-cells = <0x1>;
      #size-cells = <0x0>;

      sck-gpios = <&gpio 95 0>;
      miso-gpios = <&gpio 98 0>;
      mosi-gpios = <&gpio 97 0>;
      cs-gpios = <&gpio 125 0>;
      num-chipselects = <1>;

      /* clients */
    };

...