diff mbox series

[v4,1/2] dt-bindings: i2c-mux: Add property for settle time

Message ID 20211103091839.1665672-2-horatiu.vultur@microchip.com
State Needs Review / ACK
Delegated to: Peter Rosin
Headers show
Series i2c-mux-gpmux: Support settle-time-us property | expand

Commit Message

Horatiu Vultur Nov. 3, 2021, 9:18 a.m. UTC
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 <horatiu.vultur@microchip.com>
---
 Documentation/devicetree/bindings/i2c/i2c-mux.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Rob Herring Nov. 12, 2021, 7:51 p.m. UTC | #1
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 <horatiu.vultur@microchip.com>
> ---
>  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
> 
>
Horatiu Vultur Nov. 18, 2021, 2:19 p.m. UTC | #2
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 <horatiu.vultur@microchip.com>
> > ---
> >  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
> >
> >
diff mbox series

Patch

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:
   - |
     /*