lkml.org 
[lkml]   [2019]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 07/10] dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
    Date
    Add the DT binding documentation for Interrupt Aggregator driver.

    Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
    ---
    Changes sine v4:
    - None

    .../interrupt-controller/ti,sci-inta.txt | 74 +++++++++++++++++++
    MAINTAINERS | 1 +
    2 files changed, 75 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt

    diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
    new file mode 100644
    index 000000000000..17b1fbd90312
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
    @@ -0,0 +1,74 @@
    +Texas Instruments K3 Interrupt Aggregator
    +=========================================
    +
    +The Interrupt Aggregator (INTA) provides a centralized machine
    +which handles the termination of system events to that they can
    +be coherently processed by the host(s) in the system. A maximum
    +of 64 events can be mapped to a single interrupt.
    +
    +
    + Interrupt Aggregator
    + +-----------------------------------------+
    + | Intmap VINT |
    + | +--------------+ +------------+ |
    + m ------>| | vint | bit | | 0 |.....|63| vint0 |
    + . | +--------------+ +------------+ | +------+
    + . | . . | | HOST |
    +Globalevents ------>| . . |------>| IRQ |
    + . | . . | | CTRL |
    + . | . . | +------+
    + n ------>| +--------------+ +------------+ |
    + | | vint | bit | | 0 |.....|63| vintx |
    + | +--------------+ +------------+ |
    + | |
    + +-----------------------------------------+
    +
    +Configuration of these Intmap registers that maps global events to vint is done
    +by a system controller (like the Device Memory and Security Controller on K3
    +AM654 SoC). Driver should request the system controller to get the range
    +of global events and vints assigned to the requesting host. Management
    +of these requested resources should be handled by driver and requests
    +system controller to map specific global event to vint, bit pair.
    +
    +Communication between the host processor running an OS and the system
    +controller happens through a protocol called TI System Control Interface
    +(TISCI protocol). For more details refer:
    +Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
    +
    +TISCI Interrupt Aggregator Node:
    +-------------------------------
    +- compatible: Must be "ti,sci-inta".
    +- reg: Should contain registers location and length.
    +- interrupt-controller: Identifies the node as an interrupt controller
    +- #interrupt-cells: Specifies the number of cells needed to encode an
    + interrupt source. The value should be 4.
    + First cell should contain the TISCI device ID of source
    + Second cell should contain the event source offset
    + within the device
    + Third cell specified the interrupt number(vint)
    + reaching Interrupt aggregator.
    + Fourth cell specifies the trigger type as defined
    + in interrupts.txt in this directory.
    +- interrupt-parent: phandle of irq parent for TISCI intr.
    +- ti,sci: Phandle to TI-SCI compatible System controller node.
    +- ti,sci-dev-id: TISCI device ID of the Interrupt Aggregator.
    +- ti,sci-rm-range-vint: TISCI subtype id representing the virtual interrupts
    + (vints) range within this IA, assigned to the
    + requesting host context.
    +- ti,sci-rm-range-global-event: TISCI subtype id representing the global
    + events range reaching this IA and are assigned
    + to the requesting host context.
    +
    +Example:
    +--------
    +main_udmass_inta: interrupt-controller@33d00000 {
    + compatible = "ti,sci-inta";
    + reg = <0x0 0x33d00000 0x0 0x100000>;
    + interrupt-controller;
    + interrupt-parent = <&main_navss_intr>;
    + #interrupt-cells = <4>;
    + ti,sci = <&dmsc>;
    + ti,sci-dev-id = <179>;
    + ti,sci-rm-range-vint = <0x0>;
    + ti,sci-rm-range-global-event = <0x1>;
    +};
    diff --git a/MAINTAINERS b/MAINTAINERS
    index 823eeb672cf0..970c732b7158 100644
    --- a/MAINTAINERS
    +++ b/MAINTAINERS
    @@ -15065,6 +15065,7 @@ F: Documentation/devicetree/bindings/clock/ti,sci-clk.txt
    F: drivers/clk/keystone/sci-clk.c
    F: drivers/reset/reset-ti-sci.c
    F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
    +F: Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
    F: drivers/irqchip/irq-ti-sci-intr.c
    F: drivers/irqchip/irq-ti-sci-common.c
    F: drivers/irqchip/irq-ti-sci-common.h
    --
    2.19.2
    \
     
     \ /
      Last update: 2019-02-12 08:45    [W:4.142 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site