Question about shared interrupts in devicetree

Geert Uytterhoeven geert at linux-m68k.org
Thu Apr 9 03:37:52 EDT 2015


Hi Stefan,

On Thu, Apr 9, 2015 at 9:24 AM, Stefan Wahren <stefan.wahren at i2se.com> wrote:
> Am 08.04.2015 um 21:20 schrieb Geert Uytterhoeven:
>> On Tue, Apr 7, 2015 at 7:06 PM, Stefan Wahren <stefan.wahren at i2se.com> wrote:
>>> [...]
>>>
>>> thanks for the good explanation. After looking into the reference manual [1] of
>>> the i.MX28 i still can't decide if the subsystem generate the interrupts as a
>>> whole or
>>> as a logical group. I only found this para in chapter 11.11:
>>>
>>>     The VDDA_BO_IRQ, VDDD_BO_IRQ, VDDIO_BO_IRQ, and BATT_BO_IRQ each
>>>     have their own interrupt line back to the interrupt collector.
>>>     However, the remaining five interrupts—VDD5V_GT_VDDIO_IRQ, DC_OK_IRQ,
>>>     VBUSVALID_IRQ, LINREG_OK_IRQ and PSWITCH_IRQ—all share a single
>>>     interrupt line. In this case, software must read the interrupt status
>>>     bits to discover which event caused the interrupt.
>>>
>>> In my case DC_OK_IRQ and PSWITCH_IRQ are relevant.
>>>
>>> Maybe someone else has a idea?
>> Perhaps you can implement an interrupt-controller to handle the multiplexing
>> of the 5 remaining interrupts?
>
> Could you please explain the benefit / reason of this approach?

Since you have different logical modules in the subsystem, this allows to model
the subsystem as separate modules and a separate interrupt controller, and
have separate drivers for all modules.

Look at da9063 for an example (there are more according to "git grep irq_chip
-- drivers/mfd", but not all of them may have DT bindings).

>> Can they be disabled/enabled individually?
>
> Yes. What are the consequences?

If they cannot be disabled/enabled individually, it's more difficult to handle
by implementing an interrupt-controller.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the Kernelnewbies mailing list