Re: [PATCH v3 1/9] dt-bindings: misc: Describe TI FPC202 dual port controller

Conor Dooley
2024-11-26T18:09:49Z

[-- Attachment #1: Type: text/plain, Size: 2023 bytes --]

On Tue, Nov 26, 2024 at 09:05:42AM +0100, Romain Gantois wrote:
> Hello Conor,
>
> On lundi 25 novembre 2024 19:26:35 heure normale d’Europe centrale Conor Dooley wrote:
> > On Mon, Nov 25, 2024 at 09:45:15AM +0100, Romain Gantois wrote:
> > > The FPC202 dual port controller serves as a low speed signal aggregator
> > > for
> ...
> > > +
> > > +required:
> > > + - compatible
> > > + - gpio-controller
> > > + - "#gpio-cells"
> > > + - reg
> > > + - "#address-cells"
> > > + - "#size-cells"
> > > + - i2c@0
> > > + - i2c@1
> >
> > btw, why are both downstream ports required?
>
> It's because both downstream ports are always present in an FPC202 unit
> so in my opinion, it doesn't make sense to describe an FPC202 with only one
> downstream port.
>
> I suppose you could also consider that ports would only be described in the DT
> if they were connected to something in the hardware, but I don't think it would
> make sense to use an FPC202 in this way. After all, the whole point of this
> component is to act as an I2C ATR and low-speed signal aggregator for
> downstream devices which would have address collisions if you placed them
> on the same I2C bus.
>
> But then again, you could consider that DT bindings should only describe what is
> possible, and not only what makes sense as a use case. I don't really know how to
> answer this question myself, so I'll refer to the maintainers' opinions.

I don't really know what how this device works, which is why I am asking
questions. If there is no use case were someone would only wire up one
of the downstream ports then making both required is fine. I was just
thinking that someone might only hook devices up to one side of it and
leave the other unused entirely. Seemed like it could serve its role
without both sides being used based on the diagram in
https://docs.kernel.org/i2c/i2c-address-translators.html
unless it is not possible for the atr to share the "parent" i2c bus with
other devices?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]