Hi Patrick, Thank you for the patch. On Sat, Jan 08, 2022 at 07:57:55PM +0100, Patrick Rudolph wrote: > Add the Maxim MAX735x/MAX736x as supported chip and give an example > how to use it. The functionality will be provided by the exisintg > pca954x driver. While DT bindings and drivers are decoupled, the fact that the same driver provides support for the MAX735x/MAX736x indicates there's some similarity between those and the PCA954x chips. Would they be similar enough to have a single DT binding schema file ? This file looks very similar to Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml. > Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> > --- > .../bindings/i2c/i2c-mux-max735x.yaml | 101 ++++++++++++++++++ > 1 file changed, 101 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i2c/i2c-mux-max735x.yaml > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-max735x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-max735x.yaml > new file mode 100644 > index 000000000000..dc924ec934ca > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-max735x.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/i2c-mux-max735x.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX735x/MAX736x I2C bus switch > + > +maintainers: > + - Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > + > +description: > + The binding supports Maxim MAX735x and MAX736x I2C mux/switch devices. > + > +allOf: > + - $ref: /schemas/i2c/i2c-mux.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - maxim,max7367 > + - maxim,max7369 > + then: > + properties: > + interrupts: true > + > + "#interrupt-cells": > + const: 2 > + > + interrupt-controller: true > + > +properties: > + compatible: > + oneOf: > + - enum: > + - maxim,max7356 > + - maxim,max7357 > + - maxim,max7358 > + - maxim,max7367 > + - maxim,max7368 > + - maxim,max7369 > + > + reg: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + i2c-mux-idle-disconnect: > + type: boolean > + description: Forces mux to disconnect all children in idle state. This is > + necessary for example, if there are several multiplexers on the bus and > + the devices behind them use same I2C addresses. > + > + idle-state: > + description: if present, overrides i2c-mux-idle-disconnect > + $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + i2c-mux@74 { > + compatible = "maxim,max7357"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x74>; > + > + i2c@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + > + eeprom@54 { > + compatible = "atmel,24c08"; > + reg = <0x54>; > + }; > + }; > + > + i2c@7 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <7>; > + > + rtc@51 { > + compatible = "nxp,pcf8563"; > + reg = <0x51>; > + }; > + }; > + }; > + }; > +... -- Regards, Laurent Pinchart