Re: [PATCH 05/14] dt-bindings: timer: add Canaan k210 to Synopsys DesignWare timer
From: Serge Semin
Date: Tue Jun 28 2022 - 07:06:19 EST
Hi Rob,
On Mon, Jun 27, 2022 at 05:30:25PM -0600, Rob Herring wrote:
> On Sat, Jun 18, 2022 at 01:30:27PM +0100, Conor Dooley wrote:
> > From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> >
> > The Canaan k210 apparently has a Sysnopsys Designware timer but
> > according to the documentation & devicetree it has 2 interrupts rather
> > than the standard one. Add a custom compatible that supports the 2
> > interrupt configuration and falls back to the standard binding (which
> > is currently the one in use in the devicetree entry).
> >
> > Link: https://canaan-creative.com/wp-content/uploads/2020/03/kendryte_standalone_programming_guide_20190311144158_en.pdf #Page 58
> > Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > ---
> > .../bindings/timer/snps,dw-apb-timer.yaml | 28 +++++++++++++++----
> > 1 file changed, 22 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/timer/snps,dw-apb-timer.yaml b/Documentation/devicetree/bindings/timer/snps,dw-apb-timer.yaml
> > index d33c9205a909..9a76acc7a66f 100644
> > --- a/Documentation/devicetree/bindings/timer/snps,dw-apb-timer.yaml
> > +++ b/Documentation/devicetree/bindings/timer/snps,dw-apb-timer.yaml
> > @@ -12,6 +12,9 @@ maintainers:
> > properties:
> > compatible:
> > oneOf:
> > + - items:
> > + - const: canaan,k210-apb-timer
> > + - const: snps,dw-apb-timer
> > - const: snps,dw-apb-timer
> > - enum:
> > - snps,dw-apb-timer-sp
> > @@ -21,9 +24,6 @@ properties:
> > reg:
> > maxItems: 1
> >
> > - interrupts:
> > - maxItems: 1
> > -
> > resets:
> > maxItems: 1
> >
> > @@ -41,7 +41,23 @@ properties:
> >
> > clock-frequency: true
> >
> > -additionalProperties: false
> > +unevaluatedProperties: false
> > +
> > +if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: canaan,k210-apb-timer
> > +
> > +then:
> > + properties:
> > + interrupts:
> > + maxItems: 2
>
> When more than 1, you need to define what they are and the order.
Please see my note to v2 of this patch:
Link: https://lore.kernel.org/lkml/20220627211314.dc2hempelyl5ayjg@mobilestation/
-Sergey
>
> > +
> > +else:
> > + properties:
> > + interrupts:
> > + maxItems: 1
> >
> > required:
> > - compatible
> > @@ -60,8 +76,8 @@ oneOf:
> > examples:
> > - |
> > timer@ffe00000 {
> > - compatible = "snps,dw-apb-timer";
> > - interrupts = <0 170 4>;
> > + compatible = "canaan,k210-apb-timer", "snps,dw-apb-timer";
> > + interrupts = <0 170 4>, <0 170 4>;
> > reg = <0xffe00000 0x1000>;
> > clocks = <&timer_clk>, <&timer_pclk>;
> > clock-names = "timer", "pclk";
> > --
> > 2.36.1
> >
> >