Re: [PATCH v6 02/13] dt-bindings: mfd: Add bindings for sl28cpld

From: Lee Jones
Date: Tue Jul 28 2020 - 05:20:23 EST


On Tue, 28 Jul 2020, Michael Walle wrote:

> Am 2020-07-28 10:56, schrieb Lee Jones:
> > > > > > > +$id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml#
> > > > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > > > +
> > > > > > > +title: Kontron's sl28cpld board management controller
> > > > > >
> > > > > > "S128CPLD" ?
> > > > >
> > > > > still not, its sl28cpld, think of a project/code name, not the product
> > > > > appended with CPLD.
> > > > >
> > > > > > "Board Management Controller (BMC)" ?
> > > > >
> > > > > sounds like IPMI, which I wanted to avoid.
> > > >
> > > > Is there a datasheet?
> > >
> > > No there isn't.
> >
> > Then what are you working from?
>
> Ok, there is no public datasheet. If that wasn't clear before, I'm working
> for that company that also implemented that CPLD.

No, that wasn't clear. You said there was no datasheet.

> > > > > > > +maintainers:
> > > > > > > + - Michael Walle <michael@xxxxxxxx>
> > > > > > > +
> > > > > > > +description: |
> > > > > > > + The board management controller may contain different IP blocks
> > > > > > > like
> > > > > > > + watchdog, fan monitoring, PWM controller, interrupt controller
> > > > > > > and a
> > > > > > > + GPIO controller.
> > > > > > > +
> > > > > > > +properties:
> > > > > > > + compatible:
> > > > > > > + const: kontron,sl28cpld-r1
> > > > > >
> > > > > > We don't usually code revision numbers in compatible strings.
> > > > > >
> > > > > > Is there any way to pull this from the H/W?
> > > > >
> > > > > No, unfortunately you can't. And I really want to keep that, in case
> > > > > in the future there are some backwards incompatible changes.
> > > >
> > > > Rob,
> > > >
> > > > I know you reviewed this already, but you can give your opinion on
> > > > this specifically please? I know that we have pushed back on this in
> > > > the past.
> > >
> > > Oh, come one. That is an arbitrary string. "sl28cpld-r1" is the first
> > > implementation of this. A future "sl28cpld-r2" might look completely
> > > different and might not suite the simple MFD at all. "sl28cpld" is
> > > a made up name - as "sl28cpld-r1" is, too.
> >
> > Well that sounds bogus for a start. I guess that's one of the
> > problems with trying to support programmable H/W in S/W.
>
> What sounds bogus? That we name the implementation sl28cpld?
> How is that different to like adt7411? Its just a name made up by
> the vendor. So if there is a new version of the adt7411 the vendor
> might name it adt7412.

Using an arbitrary string as a compatible would be bogus.

So here 'sl28cpld' is the device name, so it's not actually
arbitrary. That's a good start.

> We name it sl28cpld-r2. So what is the problem here?

Do you though? So 'sl28cpld-r1' is the name of the device? The name
that is quoted from the (private) datasheet? Because looking at the
implementation and going by the conversation, it sounds as though
you-re only adding the '-r1' piece to the compatible string for
revision identification. Which if true, is not usually allowed and
warrants intervention by Rob.

--
Lee Jones [æçæ]
Senior Technical Lead - Developer Services
Linaro.org â Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog