Re: [PATCH v4 2/2] dt/bindings: Add bindings for Layerscape external irqs

From: Marc Zyngier
Date: Fri Feb 09 2018 - 04:47:11 EST


On 08/02/18 15:08, Rasmus Villemoes wrote:
> On 2018-02-05 07:07, Rob Herring wrote:
>>> +Example:
>>> + scfg: scfg@1570000 {
>>> + compatible = "fsl,ls1021a-scfg", "syscon";
>>> + ...
>>> + extirq: interrupt-controller {
>>> + compatible = "fsl,ls1021a-extirq";
>>> + #interrupt-cells = <3>;
>>> + interrupt-controller;
>>> + interrupt-parent = <&gic>;
>>> + offset = <0x1ac>;
>>
>> Use reg here instead (with a length).
>
> Hm, ok, but what does the length buy us? Should the driver just ignore
> it, or should it check that it is 4 and bail out if not?
>
>>> + interrupts = <163 164 165 167 168 169>;
>>
>> These don't look like GIC interrupt cells. Building this with current
>> dtc will have errors.
>
> Indeed, they are not. They simply record which interrupt lines on the
> GIC the external interrupt lines IRQ0...IRQ5 map to (the arm64 socs
> apparently have 12 such lines, but I don't know what they map to). I
> originally had that mapping in the driver, but I was asked to move it to
> DT. Is the problem the use of the name "interrupts" for this property?
> I'm happy to use something else (parent-interrupts, interrupt-mapping,
> ...) I find it very hard to figure out which property names have
> magic/reserved meanings.
>
> I don't see any warnings/errors from dtc in the 4.14 tree I'm working
> on. Does it require an even newer dtc than that?

Most interrupt controllers use a private property, potentially with a
range (see the recent example of the Qualcomm PDC [1]).

Thanks,

M.

[1] https://patchwork.kernel.org/patch/10208037/
--
Jazz is not dead. It just smells funny...