Except that this was not fully tested few comments. A nit, subject: drop second/last, redundant "dt-bindings for". The "dt-bindings" prefix is already stating that these are bindings. See also: https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18 On 26/04/2024 18:49, Farouk Bouabid wrote: > This patch adds support for the Mule I2C multiplexer. Please do not use "This commit/patch/change", but imperative mood. See longer explanation here: https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > > Mule is an mcu that emulates a set of i2c devices which are reacheable > through an i2c-mux. > > The emulated devices share a single i2c address with the mux itself where > the requested register is what determines which logic is executed (mux or > device). > > Signed-off-by: Farouk Bouabid <farouk.bouabid@xxxxxxxxxxxxxxxxxxxxx> > --- > .../devicetree/bindings/i2c/i2c-mux-mule.yaml | 80 ++++++++++++++++++++++ > 1 file changed, 80 insertions(+) > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml > new file mode 100644 > index 000000000000..458e4661cbc8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-mule.yaml Use compatible as filename. > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/i2c-mux-mule.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mule I2C multiplexer > + > +maintainers: > + - Farouk Bouabid <farouk.bouabid@xxxxxxxxxxxxxxxxxxxxx> > + - Quentin Schulz <quentin.schulz@xxxxxxxxxxxxxxxxxxxxx> > + > +description: | > + Mule is an mcu that emulates a set of i2c devices which are reacheable typo, reachable > + through an i2c-mux. > + > + The emulated devices share a single i2c address with the mux itself where > + the requested register is what determines which logic is executed (mux or > + device) > + > + +--------------------------------------------------+ > + | Mule | > + | +---------------+ | > + ------+->|Config register|----+ | > + | | +---------------+ | | > + | | V_ | > + | | | \ +--------+ | > + | | | \-------->| dev #0 | | > + | | | | +--------+ | > + | | | M |-------->| dev #1 | | > + | +--------------------->| U | +--------+ | > + | | X |-------->| dev #2 | | > + | | | +--------+ | > + | | /-------->| dev #3 | | > + | |__/ +--------+ | > + +--------------------------------------------------+ > + > + > +allOf: > + - $ref: /schemas/i2c/i2c-mux.yaml# > + > +properties: > + compatible: > + const: tsd,mule-i2c-mux > + > + reg: > + maxItems: 1 > + Best regards, Krzysztof