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 >