Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / spi / spi-gpio.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spi/spi-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SPI-GPIO devicetree bindings
8
9 maintainers:
10   - Rob Herring <robh@kernel.org>
11
12 description:
13   This represents a group of 3-n GPIO lines used for bit-banged SPI on
14   dedicated GPIO lines.
15
16 allOf:
17   - $ref: "/schemas/spi/spi-controller.yaml#"
18
19 properties:
20   compatible:
21     const: spi-gpio
22
23   sck-gpios:
24     description: GPIO spec for the SCK line to use
25     maxItems: 1
26
27   miso-gpios:
28     description: GPIO spec for the MISO line to use
29     maxItems: 1
30
31   mosi-gpios:
32     description: GPIO spec for the MOSI line to use
33     maxItems: 1
34
35   cs-gpios:
36     description: GPIOs to use for chipselect lines.
37       Not needed if num-chipselects = <0>.
38     minItems: 1
39     maxItems: 1024
40
41   num-chipselects:
42     description: Number of chipselect lines. Should be <0> if a single device
43       with no chip select is connected.
44     $ref: "/schemas/types.yaml#/definitions/uint32"
45
46   sck-idle-input:
47     description: Make SCK an input when inactive.
48     type: boolean
49
50   # Deprecated properties
51   gpio-sck: false
52   gpio-miso: false
53   gpio-mosi: false
54
55 required:
56   - compatible
57   - num-chipselects
58   - sck-gpios
59
60 unevaluatedProperties: false
61
62 examples:
63   - |
64     spi {
65       compatible = "spi-gpio";
66       #address-cells = <0x1>;
67       #size-cells = <0x0>;
68
69       sck-gpios = <&gpio 95 0>;
70       miso-gpios = <&gpio 98 0>;
71       mosi-gpios = <&gpio 97 0>;
72       cs-gpios = <&gpio 125 0>;
73       num-chipselects = <1>;
74
75       /* clients */
76     };
77
78 ...