blob: afd4925c2a7d93bb5900b2765fa58d46926656e0 [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: GPIO bitbanged I2C
maintainers:
- Wolfram Sang <wsa@kernel.org>
allOf:
- $ref: /schemas/i2c/i2c-controller.yaml#
properties:
compatible:
items:
- const: i2c-gpio
sda-gpios:
description:
gpio used for the sda signal, this should be flagged as
active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
from <dt-bindings/gpio/gpio.h> since the signal is by definition
open drain.
maxItems: 1
scl-gpios:
description:
gpio used for the scl signal, this should be flagged as
active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
from <dt-bindings/gpio/gpio.h> since the signal is by definition
open drain.
maxItems: 1
i2c-gpio,sda-output-only:
description: sda as output only
type: boolean
i2c-gpio,scl-output-only:
description: scl as output only
type: boolean
i2c-gpio,delay-us:
description: delay between GPIO operations (may depend on each platform)
i2c-gpio,timeout-ms:
description: timeout to get data
# Deprecated properties, do not use in new device tree sources:
gpios:
minItems: 2
maxItems: 2
description: sda and scl gpio, alternative for {sda,scl}-gpios
i2c-gpio,sda-open-drain:
type: boolean
deprecated: true
description: this means that something outside of our control has put
the GPIO line used for SDA into open drain mode, and that something is
not the GPIO chip. It is essentially an inconsistency flag.
i2c-gpio,scl-open-drain:
type: boolean
deprecated: true
description: this means that something outside of our control has put the
GPIO line used for SCL into open drain mode, and that something is not
the GPIO chip. It is essentially an inconsistency flag.
i2c-gpio,sda-has-no-pullup:
type: boolean
description: sda is used in a non-compliant way and has no pull-up.
Therefore disable open-drain. This property is mutually-exclusive
with i2c-gpio,sda-open-drain.
i2c-gpio,scl-has-no-pullup:
type: boolean
description: scl is used in a non-compliant way and has no pull-up.
Therefore disable open-drain. This property is mutually-exclusive
with i2c-gpio,scl-open-drain.
dependencies:
i2c-gpio,sda-has-no-pullup:
not:
required:
- i2c-gpio,sda-open-drain
i2c-gpio,scl-has-no-pullup:
not:
required:
- i2c-gpio,scl-open-drain
required:
- compatible
- sda-gpios
- scl-gpios
unevaluatedProperties: false
...