Message ID | 20230414110137.401356-2-patrick.rudolph@9elements.com |
---|---|
State | New |
Headers | show |
Series | Add support for Maxim MAX735x/MAX736x variants | expand |
On 14/04/2023 13:01, 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. Typo: existing > > 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 <patrick.rudolph@9elements.com> > --- > .../bindings/i2c/i2c-mux-pca954x.yaml | 45 ++++++++++++++++--- > 1 file changed, 39 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > index 9f1726d0356b..6fed6eae9c9b 100644 > --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > @@ -4,21 +4,29 @@ > $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 <laurent.pinchart@ideasonboard.com> > > description: > - The binding supports NXP PCA954x and PCA984x I2C mux/switch devices. > - > -allOf: > - - $ref: /schemas/i2c/i2c-mux.yaml# > + The NXP PCA954x and compatible devices are I2C bus > + multiplexer/switches that share the same functionality > + and register layout. > + The devices usually have 4 or 8 child buses, which are > + attached to the parent bus by using the SMBus "Send Byte" > + command. > > properties: > compatible: > oneOf: > - enum: > + - maxim,max7356 > + - maxim,max7357 > + - maxim,max7358 > + - maxim,max7367 > + - maxim,max7368 > + - maxim,max7369 > - nxp,pca9540 > - nxp,pca9542 > - nxp,pca9543 > @@ -59,10 +67,33 @@ 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 > > +allOf: > + - $ref: /schemas/i2c/i2c-mux.yaml# > + - if: > + not: > + properties: > + compatible: > + contains: > + enum: > + - maxim,max7367 > + - maxim,max7369 > + - nxp,pca9542 > + - nxp,pca9543 > + - nxp,pca9544 > + - nxp,pca9545 That's independent change. You add here support for Maxim devices, not customize PCA. Please split it to new patch (first in the series). > + then: > + properties: > + interrupts: false > + "#interrupt-cells": false > + interrupt-controller: false > + > unevaluatedProperties: false > > examples: > @@ -74,11 +105,13 @@ examples: > #size-cells = <0>; > > i2c-mux@74 { > - compatible = "nxp,pca9548"; > + compatible = "nxp,pca9545"; Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml index 9f1726d0356b..6fed6eae9c9b 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml @@ -4,21 +4,29 @@ $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 <laurent.pinchart@ideasonboard.com> description: - The binding supports NXP PCA954x and PCA984x I2C mux/switch devices. - -allOf: - - $ref: /schemas/i2c/i2c-mux.yaml# + The NXP PCA954x and compatible devices are I2C bus + multiplexer/switches that share the same functionality + and register layout. + The devices usually have 4 or 8 child buses, which are + attached to the parent bus by using the SMBus "Send Byte" + command. properties: compatible: oneOf: - enum: + - maxim,max7356 + - maxim,max7357 + - maxim,max7358 + - maxim,max7367 + - maxim,max7368 + - maxim,max7369 - nxp,pca9540 - nxp,pca9542 - nxp,pca9543 @@ -59,10 +67,33 @@ 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 +allOf: + - $ref: /schemas/i2c/i2c-mux.yaml# + - if: + not: + properties: + compatible: + contains: + enum: + - maxim,max7367 + - maxim,max7369 + - nxp,pca9542 + - nxp,pca9543 + - nxp,pca9544 + - nxp,pca9545 + then: + properties: + interrupts: false + "#interrupt-cells": false + interrupt-controller: false + unevaluatedProperties: false examples: @@ -74,11 +105,13 @@ examples: #size-cells = <0>; i2c-mux@74 { - compatible = "nxp,pca9548"; + compatible = "nxp,pca9545"; #address-cells = <1>; #size-cells = <0>; reg = <0x74>; + vdd-supply = <&p3v3>; + interrupt-parent = <&ipic>; interrupts = <17 IRQ_TYPE_LEVEL_LOW>; interrupt-controller;
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 <patrick.rudolph@9elements.com> --- .../bindings/i2c/i2c-mux-pca954x.yaml | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-)