| # 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 |
| |
| ... |