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 7title: GPIO bitbanged I2C 8 9maintainers: 10 - Wolfram Sang <wsa@kernel.org> 11 12allOf: 13 - $ref: /schemas/i2c/i2c-controller.yaml# 14 15properties: 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 82dependencies: 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 92required: 93 - compatible 94 - sda-gpios 95 - scl-gpios 96 97unevaluatedProperties: false 98 99... 100