Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | %YAML 1.2 |
| 3 | --- |
| 4 | $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# |
| 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | |
| 7 | title: GPIO bitbanged I2C |
| 8 | |
| 9 | maintainers: |
| 10 | - Wolfram Sang <wsa@kernel.org> |
| 11 | |
| 12 | allOf: |
| 13 | - $ref: /schemas/i2c/i2c-controller.yaml# |
| 14 | |
| 15 | properties: |
| 16 | compatible: |
| 17 | items: |
| 18 | - const: i2c-gpio |
| 19 | |
| 20 | sda-gpios: |
| 21 | description: |
| 22 | gpio used for the sda signal, this should be flagged as |
| 23 | active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) |
| 24 | from <dt-bindings/gpio/gpio.h> since the signal is by definition |
| 25 | open drain. |
| 26 | maxItems: 1 |
| 27 | |
| 28 | scl-gpios: |
| 29 | description: |
| 30 | gpio used for the scl signal, this should be flagged as |
| 31 | active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) |
| 32 | from <dt-bindings/gpio/gpio.h> since the signal is by definition |
| 33 | open drain. |
| 34 | maxItems: 1 |
| 35 | |
| 36 | i2c-gpio,sda-output-only: |
| 37 | description: sda as output only |
| 38 | type: boolean |
| 39 | |
| 40 | i2c-gpio,scl-output-only: |
| 41 | description: scl as output only |
| 42 | type: boolean |
| 43 | |
| 44 | i2c-gpio,delay-us: |
| 45 | description: delay between GPIO operations (may depend on each platform) |
| 46 | |
| 47 | i2c-gpio,timeout-ms: |
| 48 | description: timeout to get data |
| 49 | |
| 50 | # Deprecated properties, do not use in new device tree sources: |
| 51 | gpios: |
| 52 | minItems: 2 |
| 53 | maxItems: 2 |
| 54 | description: sda and scl gpio, alternative for {sda,scl}-gpios |
| 55 | |
| 56 | i2c-gpio,sda-open-drain: |
| 57 | type: boolean |
| 58 | deprecated: true |
| 59 | description: this means that something outside of our control has put |
| 60 | the GPIO line used for SDA into open drain mode, and that something is |
| 61 | not the GPIO chip. It is essentially an inconsistency flag. |
| 62 | |
| 63 | i2c-gpio,scl-open-drain: |
| 64 | type: boolean |
| 65 | deprecated: true |
| 66 | description: this means that something outside of our control has put the |
| 67 | GPIO line used for SCL into open drain mode, and that something is not |
| 68 | the GPIO chip. It is essentially an inconsistency flag. |
| 69 | |
| 70 | i2c-gpio,sda-has-no-pullup: |
| 71 | type: boolean |
| 72 | description: sda is used in a non-compliant way and has no pull-up. |
| 73 | Therefore disable open-drain. This property is mutually-exclusive |
| 74 | with i2c-gpio,sda-open-drain. |
| 75 | |
| 76 | i2c-gpio,scl-has-no-pullup: |
| 77 | type: boolean |
| 78 | description: scl is used in a non-compliant way and has no pull-up. |
| 79 | Therefore disable open-drain. This property is mutually-exclusive |
| 80 | with i2c-gpio,scl-open-drain. |
| 81 | |
| 82 | dependencies: |
| 83 | i2c-gpio,sda-has-no-pullup: |
| 84 | not: |
| 85 | required: |
| 86 | - i2c-gpio,sda-open-drain |
| 87 | i2c-gpio,scl-has-no-pullup: |
| 88 | not: |
| 89 | required: |
| 90 | - i2c-gpio,scl-open-drain |
| 91 | |
| 92 | required: |
| 93 | - compatible |
| 94 | - sda-gpios |
| 95 | - scl-gpios |
| 96 | |
| 97 | unevaluatedProperties: false |
| 98 | |
| 99 | ... |