[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <hp5cothkqfs7hbviesjz3mxr76tjxolnccweuqpfwxs5m7aiqo@uer253tr67z2>
Date: Thu, 18 Sep 2025 14:44:06 +0300
From: Ioana Ciornei <ioana.ciornei@....com>
To: Conor Dooley <conor@...nel.org>
Cc: Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>, Bartosz Golaszewski <brgl@...ev.pl>,
Shawn Guo <shawnguo@...nel.org>, Michael Walle <mwalle@...nel.org>, Lee Jones <lee@...nel.org>,
devicetree@...r.kernel.org, linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
Frank Li <Frank.Li@....com>
Subject: Re: [PATCH v3 02/10] dt-bindings: fsl,fpga-qixis-i2c: add support
for LX2160ARDB FPGA
On Wed, Sep 17, 2025 at 08:19:42PM +0100, Conor Dooley wrote:
> On Wed, Sep 17, 2025 at 12:04:14PM +0300, Ioana Ciornei wrote:
> > Extend the list of supported compatible strings with fsl,lx2160ardb-fpga.
> >
> > Since the register map exposed by the LX2160ARDB's FPGA also contains
> > two GPIO controllers, accept the necessary GPIO pattern property.
> > At the same time, add the #address-cells and #size-cells properties as
> > valid ones so that the child nodes of the fsl,lx2160ardb-fpga node are
> > addressable.
> >
> > This is necessary because when defining child devices such as the GPIO
> > controller described in the added example, the child device needs a the
> > reg property to properly identify its register location in the parent
> > I2C device address space.
> >
> > Impose this restriction for the new compatible through an if-statement.
> >
> > Signed-off-by: Ioana Ciornei <ioana.ciornei@....com>
> > ---
> > Changes in v2:
> > - Enforce a unit address on the child gpios nodes (remove the ?)
> > - Enforce the use of unit addresses by having #address-size and
> > #size-cells only for the newly added fsl,lx2160ardb-fpga compatible
> > Changes in v3:
> > - Replace the trivial-gpio reference with an explicit mention of the
> > accepted child gpio compatible.
> > - Reword the commit message.
> > - Add the 'else' case to the if statement.
> >
> > .../bindings/board/fsl,fpga-qixis-i2c.yaml | 58 +++++++++++++++++++
> > 1 file changed, 58 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > index 28b37772fb65..e889dac052e7 100644
> > --- a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > @@ -22,6 +22,13 @@ properties:
> > - fsl,lx2160aqds-fpga
> > - const: fsl,fpga-qixis-i2c
> > - const: simple-mfd
> > + - const: fsl,lx2160ardb-fpga
>
> How come this is not compatible with fsl,fpga-qixis-i2c ? Seems like
> that device has a feature subset of that one, given your changes here.
The feature set exposed by the devices is highly dependent on the board
type, meaning that even though the FPGA found on the LX2160AQDS board
(fsl,lx2160aqds-fpga) works in the same way in terms of access over I2C
as the one found on the LX2160ARDB (fsl,lx2160ardb-fpga added here), the
register map inside the device space its different since there are
different on-board devices to be controlled.
I didn't add the fsl,fpga-qixis-i2c as a fallback because there is no
driver probing it and it seemed to not make sense / be necessary.
Ioana
Powered by blists - more mailing lists