1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*aa1a8ff2SEmmanuel Vadot%YAML 1.2
3*aa1a8ff2SEmmanuel Vadot---
4*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/st,stih407-irq-syscfg.yaml#
5*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*aa1a8ff2SEmmanuel Vadot
7*aa1a8ff2SEmmanuel Vadottitle: STMicroelectronics STi System Configuration Controlled IRQs
8*aa1a8ff2SEmmanuel Vadot
9*aa1a8ff2SEmmanuel Vadotmaintainers:
10*aa1a8ff2SEmmanuel Vadot  - Patrice Chotard <patrice.chotard@foss.st.com>
11*aa1a8ff2SEmmanuel Vadot
12*aa1a8ff2SEmmanuel Vadotdescription:
13*aa1a8ff2SEmmanuel Vadot  On STi based systems; External, CTI (Core Sight), PMU (Performance
14*aa1a8ff2SEmmanuel Vadot  Management), and PL310 L2 Cache IRQs are controlled using System
15*aa1a8ff2SEmmanuel Vadot  Configuration registers.  This device is used to unmask them prior to use.
16*aa1a8ff2SEmmanuel Vadot
17*aa1a8ff2SEmmanuel Vadotproperties:
18*aa1a8ff2SEmmanuel Vadot  compatible:
19*aa1a8ff2SEmmanuel Vadot    const: st,stih407-irq-syscfg
20*aa1a8ff2SEmmanuel Vadot
21*aa1a8ff2SEmmanuel Vadot  st,syscfg:
22*aa1a8ff2SEmmanuel Vadot    description: Phandle to Cortex-A9 IRQ system config registers
23*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
24*aa1a8ff2SEmmanuel Vadot
25*aa1a8ff2SEmmanuel Vadot  st,irq-device:
26*aa1a8ff2SEmmanuel Vadot    description: Array of IRQs to enable.
27*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
28*aa1a8ff2SEmmanuel Vadot    items:
29*aa1a8ff2SEmmanuel Vadot      - description: Enable the IRQ of the channel one.
30*aa1a8ff2SEmmanuel Vadot      - description: Enable the IRQ of the channel two.
31*aa1a8ff2SEmmanuel Vadot
32*aa1a8ff2SEmmanuel Vadot  st,fiq-device:
33*aa1a8ff2SEmmanuel Vadot    description: Array of FIQs to enable.
34*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
35*aa1a8ff2SEmmanuel Vadot    items:
36*aa1a8ff2SEmmanuel Vadot      - description: Enable the IRQ of the channel one.
37*aa1a8ff2SEmmanuel Vadot      - description: Enable the IRQ of the channel two.
38*aa1a8ff2SEmmanuel Vadot
39*aa1a8ff2SEmmanuel Vadot  st,invert-ext:
40*aa1a8ff2SEmmanuel Vadot    description: External IRQs can be inverted at will. This property inverts
41*aa1a8ff2SEmmanuel Vadot      these three IRQs using bitwise logic, each one being encoded respectively
42*aa1a8ff2SEmmanuel Vadot      on the first, second and fourth bit.
43*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
44*aa1a8ff2SEmmanuel Vadot    enum: [ 1, 2, 3, 4, 5, 6 ]
45*aa1a8ff2SEmmanuel Vadot
46*aa1a8ff2SEmmanuel Vadotrequired:
47*aa1a8ff2SEmmanuel Vadot  - compatible
48*aa1a8ff2SEmmanuel Vadot  - st,syscfg
49*aa1a8ff2SEmmanuel Vadot  - st,irq-device
50*aa1a8ff2SEmmanuel Vadot  - st,fiq-device
51*aa1a8ff2SEmmanuel Vadot
52*aa1a8ff2SEmmanuel VadotadditionalProperties: false
53*aa1a8ff2SEmmanuel Vadot
54*aa1a8ff2SEmmanuel Vadotexamples:
55*aa1a8ff2SEmmanuel Vadot  - |
56*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq-st.h>
57*aa1a8ff2SEmmanuel Vadot    irq-syscfg {
58*aa1a8ff2SEmmanuel Vadot        compatible = "st,stih407-irq-syscfg";
59*aa1a8ff2SEmmanuel Vadot        st,syscfg = <&syscfg_cpu>;
60*aa1a8ff2SEmmanuel Vadot        st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
61*aa1a8ff2SEmmanuel Vadot                        <ST_IRQ_SYSCFG_PMU_1>;
62*aa1a8ff2SEmmanuel Vadot        st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
63*aa1a8ff2SEmmanuel Vadot                        <ST_IRQ_SYSCFG_DISABLED>;
64*aa1a8ff2SEmmanuel Vadot    };
65*aa1a8ff2SEmmanuel Vadot...
66