devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Heiner Kallweit <hkallweit1@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Wolfram Sang <wsa@kernel.org>, Peter Rosin <peda@axentia.se>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v4 1/3] dt-bindings: i2c-gpio: Add properties for dealing with write-only SDA/SCL w/o pullup
Date: Wed, 18 Jan 2023 10:32:08 -0600	[thread overview]
Message-ID: <20230118163208.GA117919-robh@kernel.org> (raw)
In-Reply-To: <fa28a480-1980-16dd-0263-ae4866e7c7cc@gmail.com>

On Tue, Jan 17, 2023 at 09:36:05PM +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
> ---
>  .../devicetree/bindings/i2c/i2c-gpio.yaml        | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml b/Documentation/devicetree/bindings/i2c/i2c-gpio.yaml
> index e0d76d5eb..67898cc52 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,18 @@ 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.

The mutual-exclusion can be expressed as a schema instead:

allOf:
  - not:
      required:
        - i2c-gpio,scl-has-no-pullup
        - i2c-gpio,scl-open-drain
  - not:
      required:
        - i2c-gpio,sda-has-no-pullup
        - i2c-gpio,sda-open-drain

Using 'dependencies' with a schema would also work.

Rob

  reply	other threads:[~2023-01-18 16:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-17 20:34 [PATCH v4 0/3] i2c: gpio: support write-only sda Heiner Kallweit
2023-01-17 20:36 ` [PATCH v4 1/3] dt-bindings: i2c-gpio: Add properties for dealing with write-only SDA/SCL w/o pullup Heiner Kallweit
2023-01-18 16:32   ` Rob Herring [this message]
2023-01-18 17:55     ` Heiner Kallweit
2023-01-17 20:38 ` [PATCH v4 2/3] i2c: algo: bit: allow getsda to be NULL Heiner Kallweit
2023-01-17 20:39 ` [PATCH v4 3/3] i2c: gpio: support write-only sda/scl w/o pull-up Heiner Kallweit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230118163208.GA117919-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hkallweit1@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=peda@axentia.se \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).