0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/interrupt-controller/mrvl,intc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Marvell MMP/Orion Interrupt controller bindings
0008
0009 maintainers:
0010 - Andrew Lunn <andrew@lunn.ch>
0011 - Gregory Clement <gregory.clement@bootlin.com>
0012
0013 allOf:
0014 - if:
0015 properties:
0016 compatible:
0017 not:
0018 contains:
0019 const: marvell,orion-intc
0020 then:
0021 required:
0022 - mrvl,intc-nr-irqs
0023 - if:
0024 properties:
0025 compatible:
0026 contains:
0027 enum:
0028 - mrvl,mmp-intc
0029 - mrvl,mmp2-intc
0030 then:
0031 properties:
0032 reg:
0033 maxItems: 1
0034 - if:
0035 properties:
0036 compatible:
0037 contains:
0038 enum:
0039 - marvell,mmp3-intc
0040 - mrvl,mmp2-mux-intc
0041 then:
0042 properties:
0043 reg:
0044 minItems: 2
0045 - if:
0046 properties:
0047 compatible:
0048 contains:
0049 const: mrvl,mmp2-mux-intc
0050 then:
0051 properties:
0052 interrupts:
0053 maxItems: 1
0054 reg-names:
0055 items:
0056 - const: 'mux status'
0057 - const: 'mux mask'
0058 required:
0059 - interrupts
0060 else:
0061 properties:
0062 interrupts: false
0063
0064 properties:
0065 '#interrupt-cells':
0066 const: 1
0067
0068 compatible:
0069 enum:
0070 - mrvl,mmp-intc
0071 - mrvl,mmp2-intc
0072 - marvell,mmp3-intc
0073 - marvell,orion-intc
0074 - mrvl,mmp2-mux-intc
0075
0076 reg:
0077 minItems: 1
0078 maxItems: 2
0079
0080 reg-names: true
0081
0082 interrupts: true
0083
0084 interrupt-controller: true
0085
0086 mrvl,intc-nr-irqs:
0087 description: |
0088 Specifies the number of interrupts in the interrupt controller.
0089 $ref: /schemas/types.yaml#/definitions/uint32
0090
0091 mrvl,clr-mfp-irq:
0092 description: |
0093 Specifies the interrupt that needs to clear MFP edge detection first.
0094 $ref: /schemas/types.yaml#/definitions/uint32
0095
0096 required:
0097 - '#interrupt-cells'
0098 - compatible
0099 - reg
0100 - interrupt-controller
0101
0102 additionalProperties: false
0103
0104 examples:
0105 - |
0106 interrupt-controller@d4282000 {
0107 compatible = "mrvl,mmp2-intc";
0108 interrupt-controller;
0109 #interrupt-cells = <1>;
0110 reg = <0xd4282000 0x1000>;
0111 mrvl,intc-nr-irqs = <64>;
0112 };
0113
0114 interrupt-controller@d4282150 {
0115 compatible = "mrvl,mmp2-mux-intc";
0116 interrupts = <4>;
0117 interrupt-controller;
0118 #interrupt-cells = <1>;
0119 reg = <0x150 0x4>, <0x168 0x4>;
0120 reg-names = "mux status", "mux mask";
0121 mrvl,intc-nr-irqs = <2>;
0122 };
0123 - |
0124 interrupt-controller@fed20204 {
0125 compatible = "marvell,orion-intc";
0126 interrupt-controller;
0127 #interrupt-cells = <1>;
0128 reg = <0xfed20204 0x04>,
0129 <0xfed20214 0x04>;
0130 };
0131
0132 ...