2022-02-14 19:03:02

by Patrick Rudolph

[permalink] [raw]
Subject: [v5 1/3] dt-bindings: i2c: Add Maxim MAX735x/MAX736x variants

Update the pca954x bindings to add support for the Maxim MAX735x/MAX736x
chips. The functionality will be provided by the exisintg pca954x driver.

While on it make the interrupts support conditionally as not all of the
existing chips have interrupts.

For chips that are powered off by default add an optional regulator
called vdd-supply.

Signed-off-by: Patrick Rudolph <[email protected]>
---
.../bindings/i2c/i2c-mux-pca954x.yaml | 44 ++++++++++++++-----
1 file changed, 34 insertions(+), 10 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
index 9f1726d0356b..8d90127b06ce 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
@@ -4,21 +4,48 @@
$id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

-title: NXP PCA954x I2C bus switch
+title: NXP PCA954x I2C and compatible bus switches

maintainers:
- Laurent Pinchart <[email protected]>

description:
- The binding supports NXP PCA954x and PCA984x I2C mux/switch devices.
+ The binding supports NXP PCA954x and PCA984x I2C mux/switch devices,
+ and the Maxim MAX735x and MAX736x I2C mux/switch devices.

allOf:
- $ref: /schemas/i2c/i2c-mux.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - maxim,max7367
+ - maxim,max7369
+ - nxp,pca9542
+ - nxp,pca9543
+ - nxp,pca9544
+ - nxp,pca9545
+ then:
+ properties:
+ interrupts:
+ maxitems: 1
+
+ "#interrupt-cells":
+ const: 2
+
+ interrupt-controller: true

properties:
compatible:
oneOf:
- enum:
+ - maxim,max7356
+ - maxim,max7357
+ - maxim,max7358
+ - maxim,max7367
+ - maxim,max7368
+ - maxim,max7369
- nxp,pca9540
- nxp,pca9542
- nxp,pca9543
@@ -38,14 +65,6 @@ properties:
reg:
maxItems: 1

- interrupts:
- maxItems: 1
-
- "#interrupt-cells":
- const: 2
-
- interrupt-controller: true
-
reset-gpios:
maxItems: 1

@@ -59,6 +78,9 @@ properties:
description: if present, overrides i2c-mux-idle-disconnect
$ref: /schemas/mux/mux-controller.yaml#/properties/idle-state

+ vdd-supply:
+ description: A voltage regulator supplying power to the chip.
+
required:
- compatible
- reg
@@ -79,6 +101,8 @@ examples:
#size-cells = <0>;
reg = <0x74>;

+ vdd-supply = <&p3v3>;
+
interrupt-parent = <&ipic>;
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
--
2.34.1


2022-02-16 06:14:41

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [v5 1/3] dt-bindings: i2c: Add Maxim MAX735x/MAX736x variants

On Mon, 14 Feb 2022 11:31:14 +0100, Patrick Rudolph wrote:
> Update the pca954x bindings to add support for the Maxim MAX735x/MAX736x
> chips. The functionality will be provided by the exisintg pca954x driver.
>
> While on it make the interrupts support conditionally as not all of the
> existing chips have interrupts.
>
> For chips that are powered off by default add an optional regulator
> called vdd-supply.
>
> Signed-off-by: Patrick Rudolph <[email protected]>
> ---
> .../bindings/i2c/i2c-mux-pca954x.yaml | 44 ++++++++++++++-----
> 1 file changed, 34 insertions(+), 10 deletions(-)
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml: allOf:1:then:properties:interrupts: 'maxitems' is not one of ['$ref', 'additionalItems', 'additionalProperties', 'allOf', 'anyOf', 'const', 'contains', 'default', 'dependencies', 'dependentRequired', 'dependentSchemas', 'deprecated', 'description', 'else', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'items', 'if', 'minItems', 'minimum', 'maxItems', 'maximum', 'multipleOf', 'not', 'oneOf', 'pattern', 'patternProperties', 'properties', 'required', 'then', 'type', 'typeSize', 'unevaluatedProperties', 'uniqueItems']
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml: ignoring, error in schema: allOf: 1: then: properties: interrupts
Documentation/devicetree/bindings/i2c/i2c-mux.example.dt.yaml:0:0: /example-0/i2c/i2c-mux@70: failed to match any schema with compatible: ['nxp,pca9548']
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.example.dt.yaml:0:0: /example-0/i2c/i2c-mux@74: failed to match any schema with compatible: ['nxp,pca9548']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1592439

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.