Re: [PATCH 1/6] dt-bindings: interrupt-controller: apple,aic: Add apple,aic2 support

From: Hector Martin
Date: Sat Dec 11 2021 - 07:52:18 EST


On 11/12/2021 21.44, Marc Zyngier wrote:
On Sat, 11 Dec 2021 12:28:10 +0000,
Hector Martin <marcan@xxxxxxxxx> wrote:

On 10/12/2021 02.28, Rob Herring wrote:
On Thu, Dec 09, 2021 at 01:32:44PM +0900, Hector Martin wrote:
<snip>
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - apple,aic2
+ then:
+ required:
+ - apple,event-reg

Is this property valid for aic1? If not, you need:

else:
not:
required:
- apple,event-reg


Thanks, I wasn't sure how to do this. Took me a second to realize how
the logic works here, heh.


I tend to think you should just make this a separate document. There's
not a whole lot of sharing (compared to any other interrupt controller).

Good point. I just kind of defaulted to this way because the driver is
the same (and does share a bunch), but indeed the binding doesn't
really reflect any of that. I'll split it off into another document
for v2. Might as well make the 4-argument interrupt form mandatory
then (we use it for all DTs, even the current 1-die machines, on AICv2
SoCs; the driver can handle both but we might as well be stricter with
the binding).

Well, I'm about to add this 4th cell for FIQ signalled interrupts so
that we can specify an affinity (similarly to what we do with GICv3, 0
meaning no specific affinity and a non-zero phandle indicating a
specific affinity).

Generalising the 4-cell even on AICv1 systems would be pretty nice,
and we can always keep the backward compat as a fallback for old DTs
(that'd pretty cheap).

The driver still takes both, so that's not an issue; we can certainly have the AICv1 binding allow both and the AICv2 one require the 4-cell form. That will also make copy/paste between t8103 and t6000 SoCs slightly less error-prone, since both will have the extra cell.

--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub