The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/interrupt-controller/ti,sci-inta.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/interrupt-controller/ti,sci-inta.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Texas Instruments K3 Interrupt Aggregator
    8 
    9 maintainers:
   10   - Lokesh Vutla <lokeshvutla@ti.com>
   11 
   12 allOf:
   13   - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
   14 
   15 description: |
   16   The Interrupt Aggregator (INTA) provides a centralized machine
   17   which handles the termination of system events to that they can
   18   be coherently processed by the host(s) in the system. A maximum
   19   of 64 events can be mapped to a single interrupt.
   20 
   21                                 Interrupt Aggregator
   22                        +-----------------------------------------+
   23                        |      Intmap            VINT             |
   24                        | +--------------+  +------------+        |
   25               m ------>| | vint  | bit  |  | 0 |.....|63| vint0  |
   26                  .     | +--------------+  +------------+        |      +------+
   27                  .     |         .               .               |      | HOST |
   28   Globalevents  ------>|         .               .               |----->| IRQ  |
   29                  .     |         .               .               |      | CTRL |
   30                  .     |         .               .               |      +------+
   31               n ------>| +--------------+  +------------+        |
   32                        | | vint  | bit  |  | 0 |.....|63| vintx  |
   33                        | +--------------+  +------------+        |
   34                        |                                         |
   35                        |      Unmap                              |
   36                        | +--------------+                        |
   37   Unmapped events ---->| |   umapidx    |-------------------------> Globalevents
   38                        | +--------------+                        |
   39                        |                                         |
   40                        +-----------------------------------------+
   41 
   42   Configuration of these Intmap registers that maps global events to vint is
   43   done by a system controller (like the Device Memory and Security Controller
   44   on AM654 SoC). Driver should request the system controller to get the range
   45   of global events and vints assigned to the requesting host. Management
   46   of these requested resources should be handled by driver and requests
   47   system controller to map specific global event to vint, bit pair.
   48 
   49   Communication between the host processor running an OS and the system
   50   controller happens through a protocol called TI System Control Interface
   51   (TISCI protocol).
   52 
   53 properties:
   54   compatible:
   55     const: ti,sci-inta
   56 
   57   reg:
   58     maxItems: 1
   59 
   60   interrupt-controller: true
   61 
   62   msi-controller: true
   63 
   64   ti,interrupt-ranges:
   65     $ref: /schemas/types.yaml#/definitions/uint32-matrix
   66     description: |
   67       Interrupt ranges that converts the INTA output hw irq numbers
   68       to parents's input interrupt numbers.
   69     items:
   70       items:
   71         - description: |
   72             "output_irq" specifies the base for inta output irq
   73         - description: |
   74             "parent's input irq" specifies the base for parent irq
   75         - description: |
   76             "limit" specifies the limit for translation
   77 
   78   ti,unmapped-event-sources:
   79     $ref: /schemas/types.yaml#/definitions/phandle-array
   80     items:
   81       maxItems: 1
   82     description:
   83       Array of phandles to DMA controllers where the unmapped events originate.
   84 
   85 required:
   86   - compatible
   87   - reg
   88   - interrupt-controller
   89   - msi-controller
   90   - ti,sci
   91   - ti,sci-dev-id
   92   - ti,interrupt-ranges
   93 
   94 unevaluatedProperties: false
   95 
   96 examples:
   97   - |
   98     bus {
   99         #address-cells = <2>;
  100         #size-cells = <2>;
  101 
  102         main_udmass_inta: msi-controller@33d00000 {
  103             compatible = "ti,sci-inta";
  104             reg = <0x0 0x33d00000 0x0 0x100000>;
  105             interrupt-controller;
  106             msi-controller;
  107             interrupt-parent = <&main_navss_intr>;
  108             ti,sci = <&dmsc>;
  109             ti,sci-dev-id = <179>;
  110             ti,interrupt-ranges = <0 0 256>;
  111         };
  112     };

Cache object: 3e0b2d08c60e54abf8fff79a00356848


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.