Message ID | 20250321083507.25298-1-nick.hu@sifive.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v3] dt-bindings: timer: Add SiFive CLINT2 | expand |
Context | Check | Description |
---|---|---|
bjorn/pre-ci_am | success | Success |
bjorn/build-rv32-defconfig | success | build-rv32-defconfig |
bjorn/build-rv64-clang-allmodconfig | success | build-rv64-clang-allmodconfig |
bjorn/build-rv64-gcc-allmodconfig | success | build-rv64-gcc-allmodconfig |
bjorn/build-rv64-nommu-k210-defconfig | success | build-rv64-nommu-k210-defconfig |
bjorn/build-rv64-nommu-k210-virt | success | build-rv64-nommu-k210-virt |
bjorn/checkpatch | success | checkpatch |
bjorn/dtb-warn-rv64 | success | dtb-warn-rv64 |
bjorn/header-inline | success | header-inline |
bjorn/kdoc | success | kdoc |
bjorn/module-param | success | module-param |
bjorn/verify-fixes | success | verify-fixes |
bjorn/verify-signedoff | success | verify-signedoff |
On Fri, Mar 21, 2025 at 04:35:06PM +0800, Nick Hu wrote: > Add compatible string and property for the SiFive CLINT v2. The SiFive > CLINT v2 is incompatible with the SiFive CLINT v0 due to differences > in their control methods. > > Signed-off-by: Nick Hu <nick.hu@sifive.com> > Reviewed-by: Samuel Holland <samuel.holland@sifive.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> > --- > - v3 changes: > - Add the reason for the incompatibility between sifive,clint2 and > sifive,clint0. > - v2 changes: > - Don't allow sifive,clint2 by itself. Add '-{}' to the first entry > - Mark the sifive,fine-ctr-bits as the required property when > the compatible includes the sifive,clint2 > > .../bindings/timer/sifive,clint.yaml | 22 +++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml > index 76d83aea4e2b..34684cda8b15 100644 > --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml > +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml > @@ -36,6 +36,12 @@ properties: > - starfive,jh7110-clint # StarFive JH7110 > - starfive,jh8100-clint # StarFive JH8100 > - const: sifive,clint0 # SiFive CLINT v0 IP block > + - items: > + - {} > + - const: sifive,clint2 # SiFive CLINT v2 IP block > + description: > + SiFive CLINT v2 is the HRT that supports the Zicntr. The control of sifive,clint2 > + differs from that of sifive,clint0, making them incompatible. > - items: > - enum: > - allwinner,sun20i-d1-clint > @@ -62,6 +68,22 @@ properties: > minItems: 1 > maxItems: 4095 > > + sifive,fine-ctr-bits: > + maximum: 15 > + description: The width in bits of the fine counter. > + > +if: > + properties: > + compatible: > + contains: > + const: sifive,clint2 > +then: > + required: > + - sifive,fine-ctr-bits > +else: > + properties: > + sifive,fine-ctr-bits: false > + > additionalProperties: false > > required: > -- > 2.17.1 >
diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml index 76d83aea4e2b..34684cda8b15 100644 --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml @@ -36,6 +36,12 @@ properties: - starfive,jh7110-clint # StarFive JH7110 - starfive,jh8100-clint # StarFive JH8100 - const: sifive,clint0 # SiFive CLINT v0 IP block + - items: + - {} + - const: sifive,clint2 # SiFive CLINT v2 IP block + description: + SiFive CLINT v2 is the HRT that supports the Zicntr. The control of sifive,clint2 + differs from that of sifive,clint0, making them incompatible. - items: - enum: - allwinner,sun20i-d1-clint @@ -62,6 +68,22 @@ properties: minItems: 1 maxItems: 4095 + sifive,fine-ctr-bits: + maximum: 15 + description: The width in bits of the fine counter. + +if: + properties: + compatible: + contains: + const: sifive,clint2 +then: + required: + - sifive,fine-ctr-bits +else: + properties: + sifive,fine-ctr-bits: false + additionalProperties: false required: