162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: GPIO bitbanged I2C 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Wolfram Sang <wsa@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciallOf: 1362306a36Sopenharmony_ci - $ref: /schemas/i2c/i2c-controller.yaml# 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciproperties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci items: 1862306a36Sopenharmony_ci - const: i2c-gpio 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci sda-gpios: 2162306a36Sopenharmony_ci description: 2262306a36Sopenharmony_ci gpio used for the sda signal, this should be flagged as 2362306a36Sopenharmony_ci active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) 2462306a36Sopenharmony_ci from <dt-bindings/gpio/gpio.h> since the signal is by definition 2562306a36Sopenharmony_ci open drain. 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci scl-gpios: 2962306a36Sopenharmony_ci description: 3062306a36Sopenharmony_ci gpio used for the scl signal, this should be flagged as 3162306a36Sopenharmony_ci active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) 3262306a36Sopenharmony_ci from <dt-bindings/gpio/gpio.h> since the signal is by definition 3362306a36Sopenharmony_ci open drain. 3462306a36Sopenharmony_ci maxItems: 1 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci i2c-gpio,sda-output-only: 3762306a36Sopenharmony_ci description: sda as output only 3862306a36Sopenharmony_ci type: boolean 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci i2c-gpio,scl-output-only: 4162306a36Sopenharmony_ci description: scl as output only 4262306a36Sopenharmony_ci type: boolean 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci i2c-gpio,delay-us: 4562306a36Sopenharmony_ci description: delay between GPIO operations (may depend on each platform) 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci i2c-gpio,timeout-ms: 4862306a36Sopenharmony_ci description: timeout to get data 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci # Deprecated properties, do not use in new device tree sources: 5162306a36Sopenharmony_ci gpios: 5262306a36Sopenharmony_ci minItems: 2 5362306a36Sopenharmony_ci maxItems: 2 5462306a36Sopenharmony_ci description: sda and scl gpio, alternative for {sda,scl}-gpios 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci i2c-gpio,sda-open-drain: 5762306a36Sopenharmony_ci type: boolean 5862306a36Sopenharmony_ci deprecated: true 5962306a36Sopenharmony_ci description: this means that something outside of our control has put 6062306a36Sopenharmony_ci the GPIO line used for SDA into open drain mode, and that something is 6162306a36Sopenharmony_ci not the GPIO chip. It is essentially an inconsistency flag. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci i2c-gpio,scl-open-drain: 6462306a36Sopenharmony_ci type: boolean 6562306a36Sopenharmony_ci deprecated: true 6662306a36Sopenharmony_ci description: this means that something outside of our control has put the 6762306a36Sopenharmony_ci GPIO line used for SCL into open drain mode, and that something is not 6862306a36Sopenharmony_ci the GPIO chip. It is essentially an inconsistency flag. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci i2c-gpio,sda-has-no-pullup: 7162306a36Sopenharmony_ci type: boolean 7262306a36Sopenharmony_ci description: sda is used in a non-compliant way and has no pull-up. 7362306a36Sopenharmony_ci Therefore disable open-drain. This property is mutually-exclusive 7462306a36Sopenharmony_ci with i2c-gpio,sda-open-drain. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci i2c-gpio,scl-has-no-pullup: 7762306a36Sopenharmony_ci type: boolean 7862306a36Sopenharmony_ci description: scl is used in a non-compliant way and has no pull-up. 7962306a36Sopenharmony_ci Therefore disable open-drain. This property is mutually-exclusive 8062306a36Sopenharmony_ci with i2c-gpio,scl-open-drain. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_cidependencies: 8362306a36Sopenharmony_ci i2c-gpio,sda-has-no-pullup: 8462306a36Sopenharmony_ci not: 8562306a36Sopenharmony_ci required: 8662306a36Sopenharmony_ci - i2c-gpio,sda-open-drain 8762306a36Sopenharmony_ci i2c-gpio,scl-has-no-pullup: 8862306a36Sopenharmony_ci not: 8962306a36Sopenharmony_ci required: 9062306a36Sopenharmony_ci - i2c-gpio,scl-open-drain 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_cirequired: 9362306a36Sopenharmony_ci - compatible 9462306a36Sopenharmony_ci - sda-gpios 9562306a36Sopenharmony_ci - scl-gpios 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciunevaluatedProperties: false 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci... 100