10175ce4aSRob Herring# SPDX-License-Identifier: GPL-2.0 20175ce4aSRob Herring%YAML 1.2 30175ce4aSRob Herring--- 40175ce4aSRob Herring$id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# 50175ce4aSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 60175ce4aSRob Herring 79d69d47fSKrzysztof Kozlowskititle: GPIO bitbanged I2C 80175ce4aSRob Herring 90175ce4aSRob Herringmaintainers: 1098a47999SWolfram Sang - Wolfram Sang <wsa@kernel.org> 110175ce4aSRob Herring 120175ce4aSRob HerringallOf: 130175ce4aSRob Herring - $ref: /schemas/i2c/i2c-controller.yaml# 140175ce4aSRob Herring 150175ce4aSRob Herringproperties: 160175ce4aSRob Herring compatible: 170175ce4aSRob Herring items: 180175ce4aSRob Herring - const: i2c-gpio 190175ce4aSRob Herring 200175ce4aSRob Herring sda-gpios: 210175ce4aSRob Herring description: 220175ce4aSRob Herring gpio used for the sda signal, this should be flagged as 230175ce4aSRob Herring active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) 240175ce4aSRob Herring from <dt-bindings/gpio/gpio.h> since the signal is by definition 250175ce4aSRob Herring open drain. 260175ce4aSRob Herring maxItems: 1 270175ce4aSRob Herring 280175ce4aSRob Herring scl-gpios: 290175ce4aSRob Herring description: 300175ce4aSRob Herring gpio used for the scl signal, this should be flagged as 310175ce4aSRob Herring active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) 320175ce4aSRob Herring from <dt-bindings/gpio/gpio.h> since the signal is by definition 330175ce4aSRob Herring open drain. 340175ce4aSRob Herring maxItems: 1 350175ce4aSRob Herring 36*a00bb94cSHeiner Kallweit i2c-gpio,sda-output-only: 37*a00bb94cSHeiner Kallweit description: sda as output only 38*a00bb94cSHeiner Kallweit type: boolean 39*a00bb94cSHeiner Kallweit 400175ce4aSRob Herring i2c-gpio,scl-output-only: 410175ce4aSRob Herring description: scl as output only 420175ce4aSRob Herring type: boolean 430175ce4aSRob Herring 440175ce4aSRob Herring i2c-gpio,delay-us: 450175ce4aSRob Herring description: delay between GPIO operations (may depend on each platform) 460175ce4aSRob Herring 470175ce4aSRob Herring i2c-gpio,timeout-ms: 480175ce4aSRob Herring description: timeout to get data 490175ce4aSRob Herring 500175ce4aSRob Herring # Deprecated properties, do not use in new device tree sources: 510175ce4aSRob Herring gpios: 520175ce4aSRob Herring minItems: 2 530175ce4aSRob Herring maxItems: 2 540175ce4aSRob Herring description: sda and scl gpio, alternative for {sda,scl}-gpios 550175ce4aSRob Herring 560175ce4aSRob Herring i2c-gpio,sda-open-drain: 57a451c3beSRob Herring type: boolean 58a451c3beSRob Herring deprecated: true 590175ce4aSRob Herring description: this means that something outside of our control has put 600175ce4aSRob Herring the GPIO line used for SDA into open drain mode, and that something is 610175ce4aSRob Herring not the GPIO chip. It is essentially an inconsistency flag. 620175ce4aSRob Herring 630175ce4aSRob Herring i2c-gpio,scl-open-drain: 64a451c3beSRob Herring type: boolean 65a451c3beSRob Herring deprecated: true 660175ce4aSRob Herring description: this means that something outside of our control has put the 670175ce4aSRob Herring GPIO line used for SCL into open drain mode, and that something is not 680175ce4aSRob Herring the GPIO chip. It is essentially an inconsistency flag. 690175ce4aSRob Herring 70*a00bb94cSHeiner Kallweit i2c-gpio,sda-has-no-pullup: 71*a00bb94cSHeiner Kallweit type: boolean 72*a00bb94cSHeiner Kallweit description: sda is used in a non-compliant way and has no pull-up. 73*a00bb94cSHeiner Kallweit Therefore disable open-drain. This property is mutually-exclusive 74*a00bb94cSHeiner Kallweit with i2c-gpio,sda-open-drain. 75*a00bb94cSHeiner Kallweit 76*a00bb94cSHeiner Kallweit i2c-gpio,scl-has-no-pullup: 77*a00bb94cSHeiner Kallweit type: boolean 78*a00bb94cSHeiner Kallweit description: scl is used in a non-compliant way and has no pull-up. 79*a00bb94cSHeiner Kallweit Therefore disable open-drain. This property is mutually-exclusive 80*a00bb94cSHeiner Kallweit with i2c-gpio,scl-open-drain. 81*a00bb94cSHeiner Kallweit 82*a00bb94cSHeiner Kallweitdependencies: 83*a00bb94cSHeiner Kallweit i2c-gpio,sda-has-no-pullup: 84*a00bb94cSHeiner Kallweit not: 85*a00bb94cSHeiner Kallweit required: 86*a00bb94cSHeiner Kallweit - i2c-gpio,sda-open-drain 87*a00bb94cSHeiner Kallweit i2c-gpio,scl-has-no-pullup: 88*a00bb94cSHeiner Kallweit not: 89*a00bb94cSHeiner Kallweit required: 90*a00bb94cSHeiner Kallweit - i2c-gpio,scl-open-drain 91*a00bb94cSHeiner Kallweit 920175ce4aSRob Herringrequired: 930175ce4aSRob Herring - compatible 940175ce4aSRob Herring - sda-gpios 950175ce4aSRob Herring - scl-gpios 960175ce4aSRob Herring 976fdc6e23SRob HerringunevaluatedProperties: false 986fdc6e23SRob Herring 990175ce4aSRob Herring... 100