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