xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/ti,keystone-irq.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/ti,keystone-irq.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: Keystone 2 IRQ controller IP
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Grygorii Strashko <grygorii.strashko@ti.com>
11*ae5de77eSEmmanuel Vadot
12*ae5de77eSEmmanuel Vadotdescription:
13*ae5de77eSEmmanuel Vadot  On Keystone SOCs, DSP cores can send interrupts to ARM host using the IRQ
14*ae5de77eSEmmanuel Vadot  controller IP. It provides 28 IRQ signals to ARM. The IRQ handler running on
15*ae5de77eSEmmanuel Vadot  HOST OS can identify DSP signal source by analyzing SRCCx bits in IPCARx
16*ae5de77eSEmmanuel Vadot  registers. This is one of the component used by the IPC mechanism used on
17*ae5de77eSEmmanuel Vadot  Keystone SOCs.
18*ae5de77eSEmmanuel Vadot
19*ae5de77eSEmmanuel Vadotproperties:
20*ae5de77eSEmmanuel Vadot  compatible:
21*ae5de77eSEmmanuel Vadot    const: ti,keystone-irq
22*ae5de77eSEmmanuel Vadot
23*ae5de77eSEmmanuel Vadot  reg:
24*ae5de77eSEmmanuel Vadot    maxItems: 1
25*ae5de77eSEmmanuel Vadot
26*ae5de77eSEmmanuel Vadot  interrupt-controller: true
27*ae5de77eSEmmanuel Vadot
28*ae5de77eSEmmanuel Vadot  '#interrupt-cells':
29*ae5de77eSEmmanuel Vadot    const: 1
30*ae5de77eSEmmanuel Vadot
31*ae5de77eSEmmanuel Vadot  interrupts:
32*ae5de77eSEmmanuel Vadot    maxItems: 1
33*ae5de77eSEmmanuel Vadot
34*ae5de77eSEmmanuel Vadot  ti,syscon-dev:
35*ae5de77eSEmmanuel Vadot    description: Phandle and offset to syscon device
36*ae5de77eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
37*ae5de77eSEmmanuel Vadot    items:
38*ae5de77eSEmmanuel Vadot      - items:
39*ae5de77eSEmmanuel Vadot          - description: Phandle to syscon device control registers
40*ae5de77eSEmmanuel Vadot          - description: Offset to control register
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadotrequired:
43*ae5de77eSEmmanuel Vadot  - compatible
44*ae5de77eSEmmanuel Vadot  - reg
45*ae5de77eSEmmanuel Vadot  - interrupt-controller
46*ae5de77eSEmmanuel Vadot  - '#interrupt-cells'
47*ae5de77eSEmmanuel Vadot  - interrupts
48*ae5de77eSEmmanuel Vadot  - ti,syscon-dev
49*ae5de77eSEmmanuel Vadot
50*ae5de77eSEmmanuel VadotadditionalProperties: false
51*ae5de77eSEmmanuel Vadot
52*ae5de77eSEmmanuel Vadotexamples:
53*ae5de77eSEmmanuel Vadot  - |
54*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
55*ae5de77eSEmmanuel Vadot
56*ae5de77eSEmmanuel Vadot    interrupt-controller@2a0 {
57*ae5de77eSEmmanuel Vadot      compatible = "ti,keystone-irq";
58*ae5de77eSEmmanuel Vadot      reg = <0x2a0 0x4>;
59*ae5de77eSEmmanuel Vadot      ti,syscon-dev = <&devctrl 0x2a0>;
60*ae5de77eSEmmanuel Vadot      interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
61*ae5de77eSEmmanuel Vadot      interrupt-controller;
62*ae5de77eSEmmanuel Vadot      #interrupt-cells = <1>;
63*ae5de77eSEmmanuel Vadot    };
64