Documentation / devicetree / bindings / spi / spi-gpio.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

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 73 74
# 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

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

unevaluatedProperties: false

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 */
    };

...