On Mon, Dec 4, 2023 at 5:51 PM Inochi Amaoto <inochiama@xxxxxxxxxxx> wrote: > > The timer registers of aclint don't follow the clint layout and can > be mapped on any different offset. As sg2042 uses separated timer > and mswi for its clint, it should follow the aclint spec and have > separated registers. > > The previous patch introduced a new type of T-HEAD aclint timer which > has clint timer layout. Although it has the clint timer layout, it > should follow the aclint spec and uses the separated mtime and mtimecmp > regs. So a ABI change is needed to make the timer fit the aclint spec. > > To make T-HEAD aclint timer more closer to the aclint spec, use > regs-names to represent the mtimecmp register, which can avoid hack > for unsupport mtime register of T-HEAD aclint timer. > > Also, as T-HEAD aclint only supports mtimecmp, it is unnecessary to > implement the whole aclint spec. To make this binding T-HEAD specific, > only add reg-name for existed register. For details, see the discussion > in the last link. > > Signed-off-by: Inochi Amaoto <inochiama@xxxxxxxxxxx> > Fixes: 4734449f7311 ("dt-bindings: timer: Add Sophgo sg2042 CLINT timer") > Link: https://lists.infradead.org/pipermail/opensbi/2023-October/005693.html > Link: https://github.com/riscv/riscv-aclint/blob/main/riscv-aclint.adoc > Link: https://lore.kernel.org/all/IA1PR20MB4953F9D77FFC76A9D236922DBBB6A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > --- > .../bindings/timer/thead,c900-aclint-mtimer.yaml | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml b/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml > index fbd235650e52..2e92bcdeb423 100644 > --- a/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml > +++ b/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml > @@ -17,7 +17,12 @@ properties: > - const: thead,c900-aclint-mtimer > > reg: > - maxItems: 1 > + items: > + - description: MTIMECMP Registers > + > + reg-names: > + items: > + - const: mtimecmp > > interrupts-extended: > minItems: 1 > @@ -28,6 +33,7 @@ additionalProperties: false > required: > - compatible > - reg > + - reg-names > - interrupts-extended > > examples: > @@ -39,5 +45,6 @@ examples: > <&cpu3intc 7>, > <&cpu4intc 7>; > reg = <0xac000000 0x00010000>; > + reg-names = "mtimecmp"; > }; > ... > -- > 2.43.0 > Acked-by: Guo Ren <guoren@xxxxxxxxxx> -- Best Regards Guo Ren