Hi! 2023-05-01 at 11:15, Patrick Rudolph wrote: > Update the pca954x bindings to add support for the Maxim MAX735x/MAX736x > chips. The functionality will be provided by the existing pca954x driver. > > For chips that are powered off by default add a regulator called vdd-supply. > > Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > --- > .../bindings/i2c/i2c-mux-pca954x.yaml | 22 +++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > index e5c1070903ef..6fed6eae9c9b 100644 > --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > @@ -4,18 +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@xxxxxxxxxxxxxxxx> > > description: > - The binding supports NXP PCA954x and PCA984x I2C mux/switch devices. > + 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 > @@ -56,6 +67,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. > + The pca9846-9 chips do not have one VDD, they have separate supplies for "low level" (VDD1), and "core logic" (VDD2). I don't know how such a situation is normally reflected in bindings, but could it not cause headaches later if use of unqualified VDD is spreading for those chips? Possibly with different semantics depending on if vdd-supply is tied to VDD1, VDD2 or both? Cheers, Peter > required: > - compatible > - reg > @@ -68,6 +82,8 @@ allOf: > compatible: > contains: > enum: > + - maxim,max7367 > + - maxim,max7369 > - nxp,pca9542 > - nxp,pca9543 > - nxp,pca9544 > @@ -94,6 +110,8 @@ examples: > #size-cells = <0>; > reg = <0x74>; > > + vdd-supply = <&p3v3>; > + > interrupt-parent = <&ipic>; > interrupts = <17 IRQ_TYPE_LEVEL_LOW>; > interrupt-controller;