Linux-libre 5.7.6-gnu
[librecmc/linux-libre.git] / Documentation / devicetree / bindings / iio / proximity / devantech-srf04.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/proximity/devantech-srf04.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Devantech SRF04 and Maxbotix mb1000 ultrasonic range finder
8
9 maintainers:
10   - Andreas Klinger <ak@it-klinger.de>
11
12 description: |
13   Bit-banging driver using two GPIOs:
14   - trigger-gpio is raised by the driver to start sending out an ultrasonic
15     burst
16   - echo-gpio is held high by the sensor after sending ultrasonic burst
17     until it is received once again
18
19   Specifications about the devices can be found at:
20   http://www.robot-electronics.co.uk/htm/srf04tech.htm
21
22   http://www.maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf
23
24 properties:
25   compatible:
26     enum:
27       - devantech,srf04
28       - maxbotix,mb1000
29       - maxbotix,mb1010
30       - maxbotix,mb1020
31       - maxbotix,mb1030
32       - maxbotix,mb1040
33
34   trig-gpios:
35     description:
36       Definition of the GPIO for the triggering (output)
37       This GPIO is set for about 10 us by the driver to tell the device it
38       should initiate the measurement cycle.
39       See Documentation/devicetree/bindings/gpio/gpio.txt for information
40       on how to specify a consumer gpio.
41     maxItems: 1
42
43   echo-gpios:
44     description:
45       Definition of the GPIO for the echo (input)
46       This GPIO is set by the device as soon as an ultrasonic burst is sent
47       out and reset when the first echo is received.
48       Thus this GPIO is set while the ultrasonic waves are doing one round
49       trip.
50       It needs to be an GPIO which is able to deliver an interrupt because
51       the time between two interrupts is measured in the driver.
52     maxItems: 1
53
54   power-gpios:
55     description:
56       Definition of the GPIO for power management of connected peripheral
57       (output).
58       This GPIO can be used by the external hardware for power management.
59       When the device gets suspended it's switched off and when it resumes
60       it's switched on again. After some period of inactivity the driver
61       get suspended automatically (autosuspend feature).
62     maxItems: 1
63
64   startup-time-ms:
65     description:
66       This is the startup time the device needs after a resume to be up and
67       running.
68     minimum: 0
69     maximum: 1000
70     default: 100
71
72 required:
73   - compatible
74   - trig-gpios
75   - echo-gpios
76
77 additionalProperties: false
78
79 examples:
80   - |
81     #include <dt-bindings/gpio/gpio.h>
82     proximity {
83         compatible = "devantech,srf04";
84         trig-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
85         echo-gpios = <&gpio2  6 GPIO_ACTIVE_HIGH>;
86     };