Re: [PATCH V2 1/2] dt-bindings: interrupt-controller: Add Loongson EIOINTC

From: Binbin Zhou
Date: Fri Feb 17 2023 - 05:12:20 EST


On Fri, Feb 17, 2023 at 4:40 PM Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> On 17/02/2023 07:09, Binbin Zhou wrote:
>
> >>> Hi Krzysztof:
> >>>
> >>> Allow me to give a brief overview of the current status of eiointc (DT-based):
> >>> Loongson-3A series supports eiointc;
> >>> Loongson-2K1000 does not support eiointc now;
> >>> Loongson-2K0500 supports eiointc, with differences from
> >>> Loongson-3, e.g. only up to 128 devices are supported;
> >>> Loongson-2K2000 supports eiointc, similar to Loongson-3.
> >>> ....
> >>>
> >>> As can be seen, there is now a bit of confusion in the chip's design of eiointc.
> >>>
> >>> The design of eiointc is probably refined step by step with the chip.
> >>> The same version of eiointc can be used for multiple chips, and the
> >>> same chip series may also use different versions of eiointc. Low-end
> >>> chips may use eiointc-2.0, and high-end chips may use eiointc-1.0,
> >>> depending on the time it's produced.
> >>>
> >>> So in the Loongson-2K series I have defined the current state as
> >>> eiointc-1.0, using the dts property to indicate the maximum number of
> >>> devices supported by eiointc that can be used directly in the driver.
> >>>
> >>> If there are new changes to the design later on, such as the
> >>> definition of registers, we can call it eiointc-2.0, which can also
> >>> cover more than one chip.
> >>
> >> Just go with SoC-based compatibles. If your version is not specific
> >> enough, then it is not a good way to represent the hardware.
> >>
> >
> > Hi Krzysztof:
> >
> > I have tried to write the following SoC-based compatibles, is it fine?
> >
> > compatible:
> > enum:
> > - loongson,ls3a-eiointc # For MIPS Loongson-3A if necessary.
> > - loongson,ls2k0500-eiointc
> > - loongson,ls2k200-eiointc
>
> Looks good, but didn't you state these are compatible between each
> other? I have impression there is a common set, so maybe one compatible
> work on other device with reduced number of devices?
>

So far, the difference between ls2k SOCs is the number of devices
supported by eiointc.

Do you mean use unified compatible and reuse loongson,eio-num-vecs?

Would this be possible, e.g.
compatible:
const: loongson,ls2k-eiointc

loongson,eio-num-vecs:
description:
The number of devices supported by the extended I/O interrupt vector.
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 1
maximum: 256

Thanks.
Binbin

> Best regards,
> Krzysztof
>