Re: [PATCH] dt-bindings: timer: Add SiFive CLINT2

From: Conor Dooley
Date: Thu Mar 13 2025 - 18:34:25 EST


On Thu, Mar 13, 2025 at 03:58:05PM +0800, Nick Hu wrote:
> Hi Rob and Conor
>
> Thanks to all your feedback.
>
> On Wed, Mar 12, 2025 at 4:46 AM Conor Dooley <conor@xxxxxxxxxx> wrote:
> >
> > On Tue, Mar 11, 2025 at 02:59:53PM -0500, Rob Herring wrote:
> > > On Tue, Mar 11, 2025 at 01:19:03PM +0800, Nick Hu wrote:
> > > > Add compatible string and property for the SiFive CLINT v2.
> > > >
> > > > Signed-off-by: Nick Hu <nick.hu@xxxxxxxxxx>
> > > > Reviewed-by: Samuel Holland <samuel.holland@xxxxxxxxxx>
> > > > ---
> > > > .../bindings/timer/sifive,clint.yaml | 19 +++++++++++++++++++
> > > > 1 file changed, 19 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
> > > > index 76d83aea4e2b..93d74c504b5f 100644
> > > > --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
> > > > +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
> > > > @@ -36,6 +36,9 @@ properties:
> > > > - starfive,jh7110-clint # StarFive JH7110
> > > > - starfive,jh8100-clint # StarFive JH8100
> > > > - const: sifive,clint0 # SiFive CLINT v0 IP block
> > >
> > > Notice that we don't allow clint0 by itself. We shouldn't start now.
> > >
> > > > + - items:
> > >
> > > If you don't have a specific one yet, then add '- {}' for the first
> > > entry.
> > >
> Do you suggest something like the following?
> - items:
> - {}
> - const: sifive,clint2 # SiFive CLINT v2 IP block
> description: SiFive CLINT v2 is the HRT that supports the Zicntr
>
> > > > + - const: sifive,clint2 # SiFive CLINT v2 IP block
> > > > + description: SiFive CLINT v2 is the HRT that supports the Zicntr
> > > > - items:
> > > > - enum:
> > > > - allwinner,sun20i-d1-clint
> > > > @@ -62,6 +65,22 @@ properties:
> > > > minItems: 1
> > > > maxItems: 4095
> > > >
> > > > + sifive,fine-ctr-bits:
> > > > + description: The width in bits of the fine counter.
> > >
> > > maximum: 15
> > >
> > > Unless you know of a different maximum in which case why aren't you
> > > documenting that too?
> >
> You are right. It's my bad. The maximum width should always be 15 in
> sifive,clint2.
> I should update to:
> sifive,fine-ctr-bits:
> maximum: 15
> description: The width in bits of the fine counter.
>
> if:
> not:
> properties:
> compatible:
> contains:
> const: sifive,clint2
> then:
> properties:
> sifive,fine-ctr-bits: false

I think this should be inverted, to

if: properties: compatible: contains: const: sifive,clint2
then: required: - sifive,fine-counter-bits
else: sifive,fine-counter-bits: false

since the property has no default.

>
> > I'm curious why this is not something that can be discerned from the
> > compatible. It's max 15, but are there actually versions of this with a
> > less-than-15-bit width?
> >
> The width may be various on different platforms so it is possible to
> have a less-than-15-bit width.
>
> > >
> > > > +
> > > > +if:
> > > > + properties:
> > > > + compatible:
> > > > + contains:
> > > > + const: sifive,clint2
> > > > +then:
> > > > + properties:
> > > > + sifive,fine-ctr-bits:
> > > > + maximum: 15
> > > > +else:
> > > > + properties:
> > > > + sifive,fine-ctr-bits: false
> > > > +
> > > > additionalProperties: false
> > > >
> > > > required:
> > > > --
> > > > 2.17.1
> > > >
>
> Best Regards,
> Nick

Attachment: signature.asc
Description: PGP signature