Re: [PATCH 4/5] dt-bindings: i2c: Add RTL9300 I2C multiplexer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
> ---
>  .../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@xxxxxxxxxxxxxxxxxxx>
> +
> +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




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux