[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a14f77bd-63cf-adb2-39c4-a8f45070ee9a@ti.com>
Date: Sat, 16 Feb 2019 09:07:12 +0530
From: Lokesh Vutla <lokeshvutla@...com>
To: <marc.zyngier@....com>, Tony Lindgren <tony@...mide.com>,
Nishanth Menon <nm@...com>,
Santosh Shilimkar <ssantosh@...nel.org>,
Rob Herring <robh+dt@...nel.org>, <tglx@...utronix.de>,
<jason@...edaemon.net>
CC: Linux ARM Mailing List <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
Device Tree Mailing List <devicetree@...r.kernel.org>,
Sekhar Nori <nsekhar@...com>, Tero Kristo <t-kristo@...com>,
Peter Ujfalusi <peter.ujfalusi@...com>
Subject: Re: [PATCH v5 00/10] Add support for TISCI irqchip drivers
Hi Marc,
On 2/12/2019 1:12 PM, Lokesh Vutla wrote:
> TI AM65x SoC based on K3 architecture introduced support for Events
> which are message based interrupts with minimal latency. These events
> are not compatible with regular interrupts and are valid only through
> an event transport lane. An Interrupt Aggregator(INTA) is introduced
> to convert these events to interrupts. INTA can also group 64 events
> into a single interrupt. Now the SoC has many peripherals and a large
> number of event sources (time sync or DMA), the use of events is
> completely dependent on a user's specific application, which drives a
> need for maximum flexibility in which event sources are used in the
> system. It is also completely up to software control as to how the
> events are serviced.
>
> Because of the huge flexibility there are certain standard peripherals
> (like GPIO etc)where all interrupts cannot be directly corrected to host
> interrupt controller. For this purpose, Interrupt Router(INTR) is
> introduced in the SoC. INTR just does a classic interrupt redirection.
>
> So the SoC has 3 types of interrupt controllers:
> - GIC500
> - Interrupt Router
> - Interrupt Aggregator
>
> Below is a diagrammatic view of how SoC integration of these interrupt
> controllers:(https://pastebin.ubuntu.com/p/9ngV3jdGj2/)
>
> Device Index-x Device Index-y
> | |
> | |
> ....
> \ /
> \ /
> \ (global events) /
> +---------------------------+ +---------+
> | | | |
> | INTA | | GPIO |
> | | | |
> +---------------------------+ +---------+
> | (vint) |
> | |
> \|/ |
> +---------------------------+ |
> | |<-------+
> | INTR |
> | |
> +---------------------------+
> |
> |
> \|/ (gic irq)
> +---------------------------+
> | |
> | GIC |
> | |
> +---------------------------+
>
> While at it, TISCI abstracts the handling of all above IRQ routes where
> interrupt sources are not directly connected to host interrupt controller.
> That would be configuration of Interrupt Aggregator and Interrupt Router.
>
> This series adds support for:
> - TISCI commands needed for IRQ configuration
> - Interrupt Router(INTR) and Interrupt Aggregator(INTA) drivers
Sorry to bother you again. Any chance you can take a quick look at the
series?
Thanks and regards,
Lokesh
Powered by blists - more mailing lists