2021-11-03 09:19:41

by Horatiu Vultur

[permalink] [raw]
Subject: [PATCH v4 1/2] dt-bindings: i2c-mux: Add property for settle time

Some HW requires some time for the signals to settle after the muxing is
changed. Allow this time to be specified in device tree.

Signed-off-by: Horatiu Vultur <[email protected]>
---
Documentation/devicetree/bindings/i2c/i2c-mux.yaml | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
index 24cac36037f5..4c81e56d02f7 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
@@ -19,6 +19,11 @@ description: |+
populating the i2c child busses. If an 'i2c-mux' subnode is present, only
subnodes of this will be considered as i2c child busses.

+ Optional properties may not be supported by all drivers. However, if a driver
+ wants to support one of the below features, it should adopt these bindings.
+
+select: false
+
properties:
$nodename:
pattern: '^(i2c-?)?mux'
@@ -29,6 +34,11 @@ properties:
'#size-cells':
const: 0

+ settle-time-us:
+ default: 0
+ description:
+ The time required for the signals to settle.
+
patternProperties:
'^i2c@[0-9a-f]+$':
$ref: /schemas/i2c/i2c-controller.yaml
@@ -41,6 +51,10 @@ patternProperties:

additionalProperties: true

+required:
+ - '#address-cells'
+ - '#size-cells'
+
examples:
- |
/*
--
2.33.0


2021-11-12 19:51:26

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] dt-bindings: i2c-mux: Add property for settle time

On Wed, Nov 03, 2021 at 10:18:38AM +0100, Horatiu Vultur wrote:
> Some HW requires some time for the signals to settle after the muxing is
> changed. Allow this time to be specified in device tree.
>
> Signed-off-by: Horatiu Vultur <[email protected]>
> ---
> Documentation/devicetree/bindings/i2c/i2c-mux.yaml | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> index 24cac36037f5..4c81e56d02f7 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> @@ -19,6 +19,11 @@ description: |+
> populating the i2c child busses. If an 'i2c-mux' subnode is present, only
> subnodes of this will be considered as i2c child busses.
>
> + Optional properties may not be supported by all drivers. However, if a driver
> + wants to support one of the below features, it should adopt these bindings.

What drivers? Bindings are independent. I don't think you need the
comment, but this should be a separate change with an explanation along
the lines of what we discussed.

> +
> +select: false
> +
> properties:
> $nodename:
> pattern: '^(i2c-?)?mux'
> @@ -29,6 +34,11 @@ properties:
> '#size-cells':
> const: 0
>
> + settle-time-us:
> + default: 0
> + description:
> + The time required for the signals to settle.
> +
> patternProperties:
> '^i2c@[0-9a-f]+$':
> $ref: /schemas/i2c/i2c-controller.yaml
> @@ -41,6 +51,10 @@ patternProperties:
>
> additionalProperties: true
>
> +required:
> + - '#address-cells'
> + - '#size-cells'
> +

This too is a separate change.

> examples:
> - |
> /*
> --
> 2.33.0
>
>

2021-11-18 14:17:22

by Horatiu Vultur

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] dt-bindings: i2c-mux: Add property for settle time

The 11/12/2021 13:51, Rob Herring wrote:

Hi Rob,

Sorry for the late reply, I was caught with some other patches.

>
> On Wed, Nov 03, 2021 at 10:18:38AM +0100, Horatiu Vultur wrote:
> > Some HW requires some time for the signals to settle after the muxing is
> > changed. Allow this time to be specified in device tree.
> >
> > Signed-off-by: Horatiu Vultur <[email protected]>
> > ---
> > Documentation/devicetree/bindings/i2c/i2c-mux.yaml | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> > index 24cac36037f5..4c81e56d02f7 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux.yaml
> > @@ -19,6 +19,11 @@ description: |+
> > populating the i2c child busses. If an 'i2c-mux' subnode is present, only
> > subnodes of this will be considered as i2c child busses.
> >
> > + Optional properties may not be supported by all drivers. However, if a driver
> > + wants to support one of the below features, it should adopt these bindings.
>
> What drivers? Bindings are independent. I don't think you need the
> comment, but this should be a separate change with an explanation along
> the lines of what we discussed.
>
> > +
> > +select: false
> > +
> > properties:
> > $nodename:
> > pattern: '^(i2c-?)?mux'
> > @@ -29,6 +34,11 @@ properties:
> > '#size-cells':
> > const: 0
> >
> > + settle-time-us:
> > + default: 0
> > + description:
> > + The time required for the signals to settle.
> > +
> > patternProperties:
> > '^i2c@[0-9a-f]+$':
> > $ref: /schemas/i2c/i2c-controller.yaml
> > @@ -41,6 +51,10 @@ patternProperties:
> >
> > additionalProperties: true
> >
> > +required:
> > + - '#address-cells'
> > + - '#size-cells'
> > +
>
> This too is a separate change.

So just to be sure that I follow up correctly, then there will be one
patch with the 'select: false' explaining why is added and another one
with the new property and the required properties.
Or am I still off?

>
> > examples:
> > - |
> > /*
> > --
> > 2.33.0
> >
> >

--
/Horatiu