xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-gpio.yaml (revision ae7e8a02e6e93455e026036132c4d053b2c12ad9)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Bindings for GPIO bitbanged I2C
8
9maintainers:
10  - Wolfram Sang <wsa@kernel.org>
11
12allOf:
13  - $ref: /schemas/i2c/i2c-controller.yaml#
14
15properties:
16  compatible:
17    items:
18      - const: i2c-gpio
19
20  sda-gpios:
21    description:
22      gpio used for the sda signal, this should be flagged as
23      active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
24      from <dt-bindings/gpio/gpio.h> since the signal is by definition
25      open drain.
26    maxItems: 1
27
28  scl-gpios:
29    description:
30      gpio used for the scl signal, this should be flagged as
31      active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
32      from <dt-bindings/gpio/gpio.h> since the signal is by definition
33      open drain.
34    maxItems: 1
35
36  i2c-gpio,scl-output-only:
37    description: scl as output only
38    type: boolean
39
40  i2c-gpio,delay-us:
41    description: delay between GPIO operations (may depend on each platform)
42
43  i2c-gpio,timeout-ms:
44    description: timeout to get data
45
46  # Deprecated properties, do not use in new device tree sources:
47  gpios:
48    minItems: 2
49    maxItems: 2
50    description: sda and scl gpio, alternative for {sda,scl}-gpios
51
52  i2c-gpio,sda-open-drain:
53    type: boolean
54    deprecated: true
55    description: this means that something outside of our control has put
56      the GPIO line used for SDA into open drain mode, and that something is
57      not the GPIO chip. It is essentially an inconsistency flag.
58
59  i2c-gpio,scl-open-drain:
60    type: boolean
61    deprecated: true
62    description: this means that something outside of our control has put the
63      GPIO line used for SCL into open drain mode, and that something is not
64      the GPIO chip. It is essentially an inconsistency flag.
65
66required:
67  - compatible
68  - sda-gpios
69  - scl-gpios
70
71unevaluatedProperties: false
72
73...
74