Message ID | 8eb4fb92-ea53-fb4e-4cdd-daed4ad96806@gmail.com |
---|---|
State | Accepted |
Commit | a00bb94c7bde3e470bbb517650293800cd20e271 |
Headers | show |
Series | i2c: gpio: support write-only sda | expand |
On Wed, 18 Jan 2023 22:51:58 +0100, Heiner Kallweit wrote: > There are slave devices that understand I2C but have read-only SDA and > SCL. Examples are FD650 7-segment LED controller and its derivatives. > Typical board designs don't even have a pull-up for both pins. > Therefore add properties for not using open-drain. For write-only SCL > we have a property already, add one for write-only SDA. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > --- > v4: > - add no-pullup properties > v5: > - add checking mutually-exclusive properties to schema > --- > .../devicetree/bindings/i2c/i2c-gpio.yaml | 26 +++++++++++++++++++ > 1 file changed, 26 insertions(+) > Reviewed-by: Rob Herring <robh@kernel.org>
On Wed, Jan 18, 2023 at 10:51:58PM +0100, Heiner Kallweit wrote: > There are slave devices that understand I2C but have read-only SDA and > SCL. Examples are FD650 7-segment LED controller and its derivatives. > Typical board designs don't even have a pull-up for both pins. > Therefore add properties for not using open-drain. For write-only SCL > we have a property already, add one for write-only SDA. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Applied to for-next, thanks!
diff --git a/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml b/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml index e0d76d5eb..afd4925c2 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml @@ -33,6 +33,10 @@ properties: 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 @@ -63,6 +67,28 @@ properties: 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
There are slave devices that understand I2C but have read-only SDA and SCL. Examples are FD650 7-segment LED controller and its derivatives. Typical board designs don't even have a pull-up for both pins. Therefore add properties for not using open-drain. For write-only SCL we have a property already, add one for write-only SDA. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- v4: - add no-pullup properties v5: - add checking mutually-exclusive properties to schema --- .../devicetree/bindings/i2c/i2c-gpio.yaml | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+)