[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240918142535.GA1519783-robh@kernel.org>
Date: Wed, 18 Sep 2024 09:25:35 -0500
From: Rob Herring <robh@...nel.org>
To: Chris Packham <chris.packham@...iedtelesis.co.nz>
Cc: andi.shyti@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
tsbogend@...ha.franken.de, linux-i2c@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org
Subject: Re: [PATCH 4/5] dt-bindings: i2c: Add RTL9300 I2C multiplexer
On Wed, Sep 18, 2024 at 11:29:31AM +1200, Chris Packham wrote:
> An extension of the RTL9300 SoC is to support multiplexing by selecting
> the SDA pins that are being used dynamically. Add a binding that allows
> us to describe hardware that makes use of this.
>
> Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> ---
> .../bindings/i2c/realtek,rtl9300-i2c-mux.yaml | 82 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 83 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c-mux.yaml
>
> diff --git a/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c-mux.yaml b/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c-mux.yaml
> new file mode 100644
> index 000000000000..a64879d0fda7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/realtek,rtl9300-i2c-mux.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/i2c/realtek,rtl9300-i2c-mux.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Realtek RTL I2C Multiplexer
> +
> +maintainers:
> + - Chris Packham <chris.packham@...iedtelesis.co.nz>
> +
> +description: |
> + The I2C controllers on the RTL9300 support a level of multiplexing. In the
> + simple case the rtl9300-i2c binding can provide a single SDA pin per
> + controller. This binding allows a more than one SDA line to be used per
> + controller providing a level of multiplexing.
> +
> +properties:
> + compatible:
> + const: realtek,rtl9300-i2c-mux
> +
> + i2c-parent:
> + description: phandle of the I2C bus controller that this multiplexer
> + operates on.
> + $ref: /schemas/types.yaml#/definitions/phandle
The mux isn't a separate device, so I think this should just be part of
the i2c parent:
i2c-mux@36c {
i2c@0 {
...
};
i2c@1 {
...
};
...
};
And then you can get rid of the SDA pin property. If you only use 1 pin,
then there is just 1 'i2c' child node with an address matching the SDA
pin.
Rob
Powered by blists - more mailing lists