blob: b7c5022eec84278b7dd925416c430797f4e505b4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/mrvl,intc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Marvell MMP/Orion Interrupt controller
8
9maintainers:
10 - Andrew Lunn <andrew@lunn.ch>
11 - Gregory Clement <gregory.clement@bootlin.com>
12
13allOf:
14 - if:
15 properties:
16 compatible:
17 not:
18 contains:
19 const: marvell,orion-intc
20 then:
21 required:
22 - mrvl,intc-nr-irqs
23 - if:
24 properties:
25 compatible:
26 contains:
27 enum:
28 - mrvl,mmp-intc
29 - mrvl,mmp2-intc
30 then:
31 properties:
32 reg:
33 maxItems: 1
34 - if:
35 properties:
36 compatible:
37 contains:
38 enum:
39 - marvell,mmp3-intc
40 - mrvl,mmp2-mux-intc
41 then:
42 properties:
43 reg:
44 minItems: 2
45 - if:
46 properties:
47 compatible:
48 contains:
49 const: mrvl,mmp2-mux-intc
50 then:
51 properties:
52 interrupts:
53 maxItems: 1
54 reg-names:
55 items:
56 - const: mux status
57 - const: mux mask
58 required:
59 - interrupts
60 else:
61 properties:
62 interrupts: false
63
64properties:
65 '#interrupt-cells':
66 const: 1
67
68 compatible:
69 enum:
70 - mrvl,mmp-intc
71 - mrvl,mmp2-intc
72 - marvell,mmp3-intc
73 - marvell,orion-intc
74 - mrvl,mmp2-mux-intc
75
76 reg:
77 minItems: 1
78 maxItems: 2
79
80 reg-names: true
81
82 interrupts: true
83
84 interrupt-controller: true
85
86 mrvl,intc-nr-irqs:
87 description: |
88 Specifies the number of interrupts in the interrupt controller.
89 $ref: /schemas/types.yaml#/definitions/uint32
90
91 mrvl,clr-mfp-irq:
92 description: |
93 Specifies the interrupt that needs to clear MFP edge detection first.
94 $ref: /schemas/types.yaml#/definitions/uint32
95
96required:
97 - '#interrupt-cells'
98 - compatible
99 - reg
100 - interrupt-controller
101
102additionalProperties: false
103
104examples:
105 - |
106 interrupt-controller@d4282000 {
107 compatible = "mrvl,mmp2-intc";
108 interrupt-controller;
109 #interrupt-cells = <1>;
110 reg = <0xd4282000 0x1000>;
111 mrvl,intc-nr-irqs = <64>;
112 };
113
114 interrupt-controller@d4282150 {
115 compatible = "mrvl,mmp2-mux-intc";
116 interrupts = <4>;
117 interrupt-controller;
118 #interrupt-cells = <1>;
119 reg = <0x150 0x4>, <0x168 0x4>;
120 reg-names = "mux status", "mux mask";
121 mrvl,intc-nr-irqs = <2>;
122 };
123 - |
124 interrupt-controller@fed20204 {
125 compatible = "marvell,orion-intc";
126 interrupt-controller;
127 #interrupt-cells = <1>;
128 reg = <0xfed20204 0x04>,
129 <0xfed20214 0x04>;
130 };
131
132...