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