Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: fdf0eaf11452d72945af31804e2a1048ee1b574c authored by Linus Torvalds on 16 July 2023, 22:10:37 UTC
Linux 6.5-rc2
Tip revision: fdf0eaf
i2c-gpio.yaml
# 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

...
back to top