xref: /linux/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml (revision 6fdc6e23a7d13e4f7f7908b42d39595195716a61)
10175ce4aSRob Herring# SPDX-License-Identifier: GPL-2.0
20175ce4aSRob Herring%YAML 1.2
30175ce4aSRob Herring---
40175ce4aSRob Herring$id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
50175ce4aSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
60175ce4aSRob Herring
70175ce4aSRob Herringtitle: Bindings for GPIO bitbanged I2C
80175ce4aSRob Herring
90175ce4aSRob Herringmaintainers:
100175ce4aSRob Herring  - Wolfram Sang <wolfram@the-dreams.de>
110175ce4aSRob Herring
120175ce4aSRob HerringallOf:
130175ce4aSRob Herring  - $ref: /schemas/i2c/i2c-controller.yaml#
140175ce4aSRob Herring
150175ce4aSRob Herringproperties:
160175ce4aSRob Herring  compatible:
170175ce4aSRob Herring    items:
180175ce4aSRob Herring      - const: i2c-gpio
190175ce4aSRob Herring
200175ce4aSRob Herring  sda-gpios:
210175ce4aSRob Herring    description:
220175ce4aSRob Herring      gpio used for the sda signal, this should be flagged as
230175ce4aSRob Herring      active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
240175ce4aSRob Herring      from <dt-bindings/gpio/gpio.h> since the signal is by definition
250175ce4aSRob Herring      open drain.
260175ce4aSRob Herring    maxItems: 1
270175ce4aSRob Herring
280175ce4aSRob Herring  scl-gpios:
290175ce4aSRob Herring    description:
300175ce4aSRob Herring      gpio used for the scl signal, this should be flagged as
310175ce4aSRob Herring      active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
320175ce4aSRob Herring      from <dt-bindings/gpio/gpio.h> since the signal is by definition
330175ce4aSRob Herring      open drain.
340175ce4aSRob Herring    maxItems: 1
350175ce4aSRob Herring
360175ce4aSRob Herring  i2c-gpio,scl-output-only:
370175ce4aSRob Herring    description: scl as output only
380175ce4aSRob Herring    type: boolean
390175ce4aSRob Herring
400175ce4aSRob Herring  i2c-gpio,delay-us:
410175ce4aSRob Herring    description: delay between GPIO operations (may depend on each platform)
420175ce4aSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
430175ce4aSRob Herring
440175ce4aSRob Herring  i2c-gpio,timeout-ms:
450175ce4aSRob Herring    description: timeout to get data
460175ce4aSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
470175ce4aSRob Herring
480175ce4aSRob Herring  # Deprecated properties, do not use in new device tree sources:
490175ce4aSRob Herring  gpios:
500175ce4aSRob Herring    minItems: 2
510175ce4aSRob Herring    maxItems: 2
520175ce4aSRob Herring    description: sda and scl gpio, alternative for {sda,scl}-gpios
530175ce4aSRob Herring
540175ce4aSRob Herring  i2c-gpio,sda-open-drain:
55a451c3beSRob Herring    type: boolean
56a451c3beSRob Herring    deprecated: true
570175ce4aSRob Herring    description: this means that something outside of our control has put
580175ce4aSRob Herring      the GPIO line used for SDA into open drain mode, and that something is
590175ce4aSRob Herring      not the GPIO chip. It is essentially an inconsistency flag.
600175ce4aSRob Herring
610175ce4aSRob Herring  i2c-gpio,scl-open-drain:
62a451c3beSRob Herring    type: boolean
63a451c3beSRob Herring    deprecated: true
640175ce4aSRob Herring    description: this means that something outside of our control has put the
650175ce4aSRob Herring      GPIO line used for SCL into open drain mode, and that something is not
660175ce4aSRob Herring      the GPIO chip. It is essentially an inconsistency flag.
670175ce4aSRob Herring
680175ce4aSRob Herringrequired:
690175ce4aSRob Herring  - compatible
700175ce4aSRob Herring  - sda-gpios
710175ce4aSRob Herring  - scl-gpios
720175ce4aSRob Herring
73*6fdc6e23SRob HerringunevaluatedProperties: false
74*6fdc6e23SRob Herring
750175ce4aSRob Herring...
76