On Tue, Sep 27, 2022 at 6:25 AM Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Tue, 27 Sept 2022 at 11:12, Jean-Philippe Brucker > <jean-phili...@linaro.org> wrote: > > > > Since the pl061 device can be used as interrupt controller, its node > > should contain "interrupt-controller" and "#interrupt-cells" properties. > > It *can* be, but this PL061 is *not* an interrupt controller. > I don't see any reason why we should claim so in the DT.
Taking another look, it is an interrupt controller. The GPIOs are connected to the 'gpio-keys' node which is interrupt based (there's a polled version too). That binding happens to be pretty lax and allows the GPIO to be specified either with 'gpios' or 'interrupts' property. The Linux PL061 driver happens to work only because it always registers an interrupt controller regardless of having "interrupt-controller" and "#interrupt-cells" properties or not. Rob