lkml.org 
[lkml]   [2013]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH 0/6] DRIVERS: IRQCHIP: Add support for crossbar IP
    On 09/30/2013 08:59 AM, Sricharan R wrote:
    > Some socs have a large number of interrupts requests to service
    > the needs of its many peripherals and subsystems. All of the interrupt
    > requests lines from the subsystems are not needed at the same
    > time, so they have to be muxed to the controllers appropriately.
    > In such places a interrupt controllers are preceded by an
    > IRQ CROSSBAR that provides flexibility in muxing the device interrupt
    > requests to the controller inputs.
    >
    > This series models the peripheral interrupts that can be routed through
    > the crossbar to the GIC as 'routable-irqs'. The routable irqs are added
    > in a separate linear domain inside the GIC. The registered routable domain's
    > callback are invoked as a part of the GIC's callback, which in turn should
    > allocate a free irq line and configure the IP accordingly. So every peripheral
    > in the dts files mentions the fixed crossbar number as its interrupt. A free
    > gic line for that gets allocated and configured when the peripheral's interrupt
    > is mapped.
    >
    > The minimal crossbar driver to track and allocate free GIC lines and configure the
    > crossbar is added here, along with the DT bindings.

    Seems like interrupt-map property is what you need here.

    http://devicetree.org/Device_Tree_Usage#Advanced_Interrupt_Mapping

    Versatile Express also has an example.

    Rob

    >
    > Sricharan R (6):
    > DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs
    > DRIVERS: IRQCHIP: CROSSBAR: Add support for Crossbar IP
    > ARM: DTS: DRA: Add crossbar device binding
    > ARM: DTS: DRA: Replace peripheral interrupt numbers with crossbar
    > inputs.
    > ARM: OMAP4+: Correct Wakeup-gen code to use physical irq number
    > ARM: DRA: Enable Crossbar IP support for DRA7XX
    >
    > Documentation/devicetree/bindings/arm/gic.txt | 5 +
    > .../devicetree/bindings/arm/omap/crossbar.txt | 27 +++
    > arch/arm/boot/dts/dra7.dtsi | 98 +++++-----
    > arch/arm/mach-omap2/Kconfig | 1 +
    > arch/arm/mach-omap2/omap-wakeupgen.c | 4 +-
    > arch/arm/mach-omap2/omap4-common.c | 4 +
    > drivers/irqchip/Kconfig | 8 +
    > drivers/irqchip/Makefile | 1 +
    > drivers/irqchip/irq-crossbar.c | 195 ++++++++++++++++++++
    > drivers/irqchip/irq-gic.c | 57 +++++-
    > include/linux/irqchip/arm-gic.h | 8 +-
    > include/linux/irqchip/irq-crossbar.h | 11 ++
    > 12 files changed, 363 insertions(+), 56 deletions(-)
    > create mode 100644 Documentation/devicetree/bindings/arm/omap/crossbar.txt
    > create mode 100644 drivers/irqchip/irq-crossbar.c
    > create mode 100644 include/linux/irqchip/irq-crossbar.h
    >



    \
     
     \ /
      Last update: 2013-09-30 17:21    [W:4.444 / U:0.552 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site