devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
@ 2023-11-09  9:23 Naresh Solanki
  0 siblings, 0 replies; 8+ messages in thread
From: Naresh Solanki @ 2023-11-09  9:23 UTC (permalink / raw)
  To: Peter Rosin, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Laurent Pinchart
  Cc: robh, Patrick Rudolph, Naresh Solanki, linux-i2c, devicetree,
	linux-kernel

From: Patrick Rudolph <patrick.rudolph@9elements.com>

Maxim Max7357 has a configuration register to enable additional
features. These features aren't enabled by default & its up to
board designer to enable the same as it may have unexpected side effects.

These should be validated for proper functioning & detection of devices
in secondary bus as sometimes it can cause secondary bus being disabled.

Add booleans for:
 - maxim,isolate-stuck-channel
 - maxim,send-flush-out-sequence
 - maxim,preconnection-wiggle-test-enable

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Changes in V4:
- Drop max7358.
Changes in V3:
- Update commit message
Changes in V2:
- Update properties.
---
 .../bindings/i2c/i2c-mux-pca954x.yaml         | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
index 2d7bb998b0e9..9aa0585200c9 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
@@ -71,6 +71,23 @@ properties:
     description: A voltage regulator supplying power to the chip. On PCA9846
       the regulator supplies power to VDD2 (core logic) and optionally to VDD1.
 
+  maxim,isolate-stuck-channel:
+    type: boolean
+    description: Allows to use non faulty channels while a stuck channel is
+      isolated from the upstream bus. If not set all channels are isolated from
+      the upstream bus until the fault is cleared.
+
+  maxim,send-flush-out-sequence:
+    type: boolean
+    description: Send a flush-out sequence to stuck auxiliary buses
+      automatically after a stuck channel is being detected.
+
+  maxim,preconnection-wiggle-test-enable:
+    type: boolean
+    description: Send a STOP condition to the auxiliary buses when the switch
+      register activates a channel to detect a stuck high fault. On fault the
+      channel is isolated from the upstream bus.
+
 required:
   - compatible
   - reg
@@ -95,6 +112,19 @@ allOf:
         "#interrupt-cells": false
         interrupt-controller: false
 
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              enum:
+                - maxim,max7357
+    then:
+      properties:
+        maxim,isolate-stuck-channel: false
+        maxim,send-flush-out-sequence: false
+        maxim,preconnection-wiggle-test-enable: false
+
 unevaluatedProperties: false
 
 examples:

base-commit: 9b156db7e479ac996ae9dc93a0cce3b3df3d0307
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
@ 2023-12-20  8:28 Naresh Solanki
  2023-12-20 20:50 ` Wolfram Sang
  0 siblings, 1 reply; 8+ messages in thread
From: Naresh Solanki @ 2023-12-20  8:28 UTC (permalink / raw)
  To: Peter Rosin, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Laurent Pinchart
  Cc: Patrick Rudolph, Naresh Solanki, Rob Herring, linux-i2c,
	devicetree, linux-kernel

From: Patrick Rudolph <patrick.rudolph@9elements.com>

Maxim Max7357 has a configuration register to enable additional
features. These features aren't enabled by default & its up to
board designer to enable the same as it may have unexpected side effects.

These should be validated for proper functioning & detection of devices
in secondary bus as sometimes it can cause secondary bus being disabled.

Add booleans for:
 - maxim,isolate-stuck-channel
 - maxim,send-flush-out-sequence
 - maxim,preconnection-wiggle-test-enable

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Changes in V4:
- Drop max7358.
Changes in V3:
- Update commit message
Changes in V2:
- Update properties.
---
 .../bindings/i2c/i2c-mux-pca954x.yaml         | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
index 2d7bb998b0e9..9aa0585200c9 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
@@ -71,6 +71,23 @@ properties:
     description: A voltage regulator supplying power to the chip. On PCA9846
       the regulator supplies power to VDD2 (core logic) and optionally to VDD1.
 
+  maxim,isolate-stuck-channel:
+    type: boolean
+    description: Allows to use non faulty channels while a stuck channel is
+      isolated from the upstream bus. If not set all channels are isolated from
+      the upstream bus until the fault is cleared.
+
+  maxim,send-flush-out-sequence:
+    type: boolean
+    description: Send a flush-out sequence to stuck auxiliary buses
+      automatically after a stuck channel is being detected.
+
+  maxim,preconnection-wiggle-test-enable:
+    type: boolean
+    description: Send a STOP condition to the auxiliary buses when the switch
+      register activates a channel to detect a stuck high fault. On fault the
+      channel is isolated from the upstream bus.
+
 required:
   - compatible
   - reg
@@ -95,6 +112,19 @@ allOf:
         "#interrupt-cells": false
         interrupt-controller: false
 
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              enum:
+                - maxim,max7357
+    then:
+      properties:
+        maxim,isolate-stuck-channel: false
+        maxim,send-flush-out-sequence: false
+        maxim,preconnection-wiggle-test-enable: false
+
 unevaluatedProperties: false
 
 examples:

base-commit: 76998e5bcdf155b36c7066808a0a65b2ee13cb2a
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
  2023-12-20  8:28 [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357 Naresh Solanki
@ 2023-12-20 20:50 ` Wolfram Sang
  2023-12-21  9:13   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2023-12-20 20:50 UTC (permalink / raw)
  To: Naresh Solanki, Rob Herring
  Cc: Peter Rosin, Andi Shyti, Krzysztof Kozlowski, Conor Dooley,
	Laurent Pinchart, Patrick Rudolph, Rob Herring, linux-i2c,
	devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3127 bytes --]

On Wed, Dec 20, 2023 at 01:58:01PM +0530, Naresh Solanki wrote:
> From: Patrick Rudolph <patrick.rudolph@9elements.com>
> 
> Maxim Max7357 has a configuration register to enable additional
> features. These features aren't enabled by default & its up to
> board designer to enable the same as it may have unexpected side effects.
> 
> These should be validated for proper functioning & detection of devices
> in secondary bus as sometimes it can cause secondary bus being disabled.
> 
> Add booleans for:
>  - maxim,isolate-stuck-channel
>  - maxim,send-flush-out-sequence
>  - maxim,preconnection-wiggle-test-enable
> 
> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
> Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
> Reviewed-by: Rob Herring <robh@kernel.org>

Rob, are you really OK with these bindings? They look more like
configuration instead of HW description to me.

> ---
> Changes in V4:
> - Drop max7358.
> Changes in V3:
> - Update commit message
> Changes in V2:
> - Update properties.
> ---
>  .../bindings/i2c/i2c-mux-pca954x.yaml         | 30 +++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> index 2d7bb998b0e9..9aa0585200c9 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> @@ -71,6 +71,23 @@ properties:
>      description: A voltage regulator supplying power to the chip. On PCA9846
>        the regulator supplies power to VDD2 (core logic) and optionally to VDD1.
>  
> +  maxim,isolate-stuck-channel:
> +    type: boolean
> +    description: Allows to use non faulty channels while a stuck channel is
> +      isolated from the upstream bus. If not set all channels are isolated from
> +      the upstream bus until the fault is cleared.
> +
> +  maxim,send-flush-out-sequence:
> +    type: boolean
> +    description: Send a flush-out sequence to stuck auxiliary buses
> +      automatically after a stuck channel is being detected.
> +
> +  maxim,preconnection-wiggle-test-enable:
> +    type: boolean
> +    description: Send a STOP condition to the auxiliary buses when the switch
> +      register activates a channel to detect a stuck high fault. On fault the
> +      channel is isolated from the upstream bus.
> +
>  required:
>    - compatible
>    - reg
> @@ -95,6 +112,19 @@ allOf:
>          "#interrupt-cells": false
>          interrupt-controller: false
>  
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              enum:
> +                - maxim,max7357
> +    then:
> +      properties:
> +        maxim,isolate-stuck-channel: false
> +        maxim,send-flush-out-sequence: false
> +        maxim,preconnection-wiggle-test-enable: false
> +
>  unevaluatedProperties: false
>  
>  examples:
> 
> base-commit: 76998e5bcdf155b36c7066808a0a65b2ee13cb2a
> -- 
> 2.41.0
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
  2023-12-20 20:50 ` Wolfram Sang
@ 2023-12-21  9:13   ` Krzysztof Kozlowski
  2023-12-22 10:35     ` Wolfram Sang
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-21  9:13 UTC (permalink / raw)
  To: Wolfram Sang, Naresh Solanki, Rob Herring, Peter Rosin,
	Andi Shyti, Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart,
	Patrick Rudolph, Rob Herring, linux-i2c, devicetree, linux-kernel

On 20/12/2023 21:50, Wolfram Sang wrote:
> On Wed, Dec 20, 2023 at 01:58:01PM +0530, Naresh Solanki wrote:
>> From: Patrick Rudolph <patrick.rudolph@9elements.com>
>>
>> Maxim Max7357 has a configuration register to enable additional
>> features. These features aren't enabled by default & its up to
>> board designer to enable the same as it may have unexpected side effects.
>>
>> These should be validated for proper functioning & detection of devices
>> in secondary bus as sometimes it can cause secondary bus being disabled.
>>
>> Add booleans for:
>>  - maxim,isolate-stuck-channel
>>  - maxim,send-flush-out-sequence
>>  - maxim,preconnection-wiggle-test-enable
>>
>> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
>> Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
>> Reviewed-by: Rob Herring <robh@kernel.org>
> 
> Rob, are you really OK with these bindings? They look more like
> configuration instead of HW description to me.

Some explanation was provided here:
https://lore.kernel.org/all/CABqG17g8QOgU7cObe=4EMLbEC1PeZWxdPXt7zzFs35JGqpRbfg@mail.gmail.com/

AFAIU, these properties are board-design choice.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
  2023-12-21  9:13   ` Krzysztof Kozlowski
@ 2023-12-22 10:35     ` Wolfram Sang
  2024-01-25 11:58       ` Naresh Solanki
  0 siblings, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2023-12-22 10:35 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Naresh Solanki, Rob Herring, Peter Rosin, Andi Shyti,
	Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart,
	Patrick Rudolph, Rob Herring, linux-i2c, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]


> Some explanation was provided here:
> https://lore.kernel.org/all/CABqG17g8QOgU7cObe=4EMLbEC1PeZWxdPXt7zzFs35JGqpRbfg@mail.gmail.com/
> 
> AFAIU, these properties are board-design choice.

Hey, thanks for the heads up. I agree that these options should not be
"on" by default. I am still not fully convinced they serve as hardware
description, though. Need to think about it some more...


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
  2023-12-22 10:35     ` Wolfram Sang
@ 2024-01-25 11:58       ` Naresh Solanki
  0 siblings, 0 replies; 8+ messages in thread
From: Naresh Solanki @ 2024-01-25 11:58 UTC (permalink / raw)
  To: Wolfram Sang, Krzysztof Kozlowski, Naresh Solanki, Rob Herring,
	Peter Rosin, Andi Shyti, Krzysztof Kozlowski, Conor Dooley,
	Laurent Pinchart, Patrick Rudolph, Rob Herring, linux-i2c,
	devicetree, linux-kernel

Hi Wolfram,

On Fri, 22 Dec 2023 at 16:05, Wolfram Sang <wsa@kernel.org> wrote:
>
>
> > Some explanation was provided here:
> > https://lore.kernel.org/all/CABqG17g8QOgU7cObe=4EMLbEC1PeZWxdPXt7zzFs35JGqpRbfg@mail.gmail.com/
> >
> > AFAIU, these properties are board-design choice.
>
> Hey, thanks for the heads up. I agree that these options should not be
> "on" by default. I am still not fully convinced they serve as hardware
> description, though. Need to think about it some more...
Any update on this ? Let me know if I can help with additional information.

Regards,
Naresh
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
@ 2024-01-30 12:19 Naresh Solanki
  2024-01-30 20:24 ` Andi Shyti
  0 siblings, 1 reply; 8+ messages in thread
From: Naresh Solanki @ 2024-01-30 12:19 UTC (permalink / raw)
  To: Peter Rosin, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Laurent Pinchart
  Cc: mazziesaccount, Patrick Rudolph, Naresh Solanki, Rob Herring,
	linux-i2c, devicetree, linux-kernel

From: Patrick Rudolph <patrick.rudolph@9elements.com>

Maxim Max7357 has a configuration register to enable additional
features. These features aren't enabled by default & its up to
board designer to enable the same as it may have unexpected side effects.

These should be validated for proper functioning & detection of devices
in secondary bus as sometimes it can cause secondary bus being disabled.

Add booleans for:
 - maxim,isolate-stuck-channel
 - maxim,send-flush-out-sequence
 - maxim,preconnection-wiggle-test-enable

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Changes in V5:
- Append Reviewer-by
Changes in V4:
- Drop max7358.
Changes in V3:
- Update commit message
Changes in V2:
- Update properties.
---
 .../bindings/i2c/i2c-mux-pca954x.yaml         | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
index 2d7bb998b0e9..9aa0585200c9 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
@@ -71,6 +71,23 @@ properties:
     description: A voltage regulator supplying power to the chip. On PCA9846
       the regulator supplies power to VDD2 (core logic) and optionally to VDD1.
 
+  maxim,isolate-stuck-channel:
+    type: boolean
+    description: Allows to use non faulty channels while a stuck channel is
+      isolated from the upstream bus. If not set all channels are isolated from
+      the upstream bus until the fault is cleared.
+
+  maxim,send-flush-out-sequence:
+    type: boolean
+    description: Send a flush-out sequence to stuck auxiliary buses
+      automatically after a stuck channel is being detected.
+
+  maxim,preconnection-wiggle-test-enable:
+    type: boolean
+    description: Send a STOP condition to the auxiliary buses when the switch
+      register activates a channel to detect a stuck high fault. On fault the
+      channel is isolated from the upstream bus.
+
 required:
   - compatible
   - reg
@@ -95,6 +112,19 @@ allOf:
         "#interrupt-cells": false
         interrupt-controller: false
 
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              enum:
+                - maxim,max7357
+    then:
+      properties:
+        maxim,isolate-stuck-channel: false
+        maxim,send-flush-out-sequence: false
+        maxim,preconnection-wiggle-test-enable: false
+
 unevaluatedProperties: false
 
 examples:

base-commit: 41bccc98fb7931d63d03f326a746ac4d429c1dd3
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
  2024-01-30 12:19 Naresh Solanki
@ 2024-01-30 20:24 ` Andi Shyti
  0 siblings, 0 replies; 8+ messages in thread
From: Andi Shyti @ 2024-01-30 20:24 UTC (permalink / raw)
  To: Peter Rosin, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Laurent Pinchart, Naresh Solanki
  Cc: Andi Shyti, mazziesaccount, Patrick Rudolph, Rob Herring,
	linux-i2c, devicetree, linux-kernel


Hi Naresh,

On Tue, 30 Jan 2024 17:49:00 +0530, Naresh Solanki wrote:
> Maxim Max7357 has a configuration register to enable additional
> features. These features aren't enabled by default & its up to
> board designer to enable the same as it may have unexpected side effects.
> 
> These should be validated for proper functioning & detection of devices
> in secondary bus as sometimes it can cause secondary bus being disabled.
> 
> [...]

Applied to i2c/i2c-host on 

git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git

Thank you,
Andi

Patches applied
===============
[1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357
      commit: 8e7d967f04df0fa2c2db00f47ac4cd5ea16ade91
[2/2] i2c: muxes: pca954x: Enable features on MAX7357
      commit: 6b572ea231236bb3be4b819d92119470ac121a9e

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-01-30 20:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-20  8:28 [RESEND PATCH v5 1/2] dt-bindings: i2c: pca954x: Add custom properties for MAX7357 Naresh Solanki
2023-12-20 20:50 ` Wolfram Sang
2023-12-21  9:13   ` Krzysztof Kozlowski
2023-12-22 10:35     ` Wolfram Sang
2024-01-25 11:58       ` Naresh Solanki
  -- strict thread matches above, loose matches on Subject: below --
2024-01-30 12:19 Naresh Solanki
2024-01-30 20:24 ` Andi Shyti
2023-11-09  9:23 Naresh Solanki

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).