| # SPDX-License-Identifier: GPL-2.0-only |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/interrupt-controller/mrvl,intc.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Marvell MMP/Orion Interrupt controller |
| |
| maintainers: |
| - Andrew Lunn <andrew@lunn.ch> |
| - Gregory Clement <gregory.clement@bootlin.com> |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| not: |
| contains: |
| const: marvell,orion-intc |
| then: |
| required: |
| - mrvl,intc-nr-irqs |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - mrvl,mmp-intc |
| - mrvl,mmp2-intc |
| then: |
| properties: |
| reg: |
| maxItems: 1 |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - marvell,mmp3-intc |
| - mrvl,mmp2-mux-intc |
| then: |
| properties: |
| reg: |
| minItems: 2 |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: mrvl,mmp2-mux-intc |
| then: |
| properties: |
| interrupts: |
| maxItems: 1 |
| reg-names: |
| items: |
| - const: mux status |
| - const: mux mask |
| required: |
| - interrupts |
| else: |
| properties: |
| interrupts: false |
| |
| properties: |
| '#interrupt-cells': |
| const: 1 |
| |
| compatible: |
| enum: |
| - mrvl,mmp-intc |
| - mrvl,mmp2-intc |
| - marvell,mmp3-intc |
| - marvell,orion-intc |
| - mrvl,mmp2-mux-intc |
| |
| reg: |
| minItems: 1 |
| maxItems: 2 |
| |
| reg-names: true |
| |
| interrupts: true |
| |
| interrupt-controller: true |
| |
| mrvl,intc-nr-irqs: |
| description: | |
| Specifies the number of interrupts in the interrupt controller. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| mrvl,clr-mfp-irq: |
| description: | |
| Specifies the interrupt that needs to clear MFP edge detection first. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| required: |
| - '#interrupt-cells' |
| - compatible |
| - reg |
| - interrupt-controller |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| interrupt-controller@d4282000 { |
| compatible = "mrvl,mmp2-intc"; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| reg = <0xd4282000 0x1000>; |
| mrvl,intc-nr-irqs = <64>; |
| }; |
| |
| interrupt-controller@d4282150 { |
| compatible = "mrvl,mmp2-mux-intc"; |
| interrupts = <4>; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| reg = <0x150 0x4>, <0x168 0x4>; |
| reg-names = "mux status", "mux mask"; |
| mrvl,intc-nr-irqs = <2>; |
| }; |
| - | |
| interrupt-controller@fed20204 { |
| compatible = "marvell,orion-intc"; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| reg = <0xfed20204 0x04>, |
| <0xfed20214 0x04>; |
| }; |
| |
| ... |