Back to home page

OSCL-LXR

 
 

    


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 ...