Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/interrupt-controller/renesas,intc-irqpin.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Renesas Interrupt Controller (INTC) for external pins
0008 
0009 maintainers:
0010   - Geert Uytterhoeven <geert+renesas@glider.be>
0011 
0012 properties:
0013   compatible:
0014     items:
0015       - enum:
0016           - renesas,intc-irqpin-r8a7740  # R-Mobile A1
0017           - renesas,intc-irqpin-r8a7778  # R-Car M1A
0018           - renesas,intc-irqpin-r8a7779  # R-Car H1
0019           - renesas,intc-irqpin-sh73a0   # SH-Mobile AG5
0020       - const: renesas,intc-irqpin
0021 
0022   reg:
0023     minItems: 5
0024     items:
0025       - description: Interrupt control register
0026       - description: Interrupt priority register
0027       - description: Interrupt source register
0028       - description: Interrupt mask register
0029       - description: Interrupt mask clear register
0030       - description: Interrupt control register for ICR0 with IRLM0 bit
0031 
0032   interrupt-controller: true
0033 
0034   '#interrupt-cells':
0035     const: 2
0036 
0037   interrupts:
0038     minItems: 1
0039     maxItems: 8
0040 
0041   sense-bitfield-width:
0042     $ref: /schemas/types.yaml#/definitions/uint32
0043     enum: [2, 4]
0044     default: 4
0045     description:
0046       Width of a single sense bitfield in the SENSE register, if different from the
0047       default.
0048 
0049   control-parent:
0050     type: boolean
0051     description:
0052       Disable and enable interrupts on the parent interrupt controller, needed for some
0053       broken implementations.
0054 
0055   clocks:
0056     maxItems: 1
0057 
0058   power-domains:
0059     maxItems: 1
0060 
0061 required:
0062   - compatible
0063   - reg
0064   - interrupt-controller
0065   - '#interrupt-cells'
0066   - interrupts
0067 
0068 if:
0069   properties:
0070     compatible:
0071       contains:
0072         enum:
0073           - renesas,intc-irqpin-r8a7740
0074           - renesas,intc-irqpin-sh73a0
0075 then:
0076   required:
0077     - clocks
0078     - power-domains
0079 
0080 additionalProperties: false
0081 
0082 examples:
0083   - |
0084     #include <dt-bindings/clock/r8a7740-clock.h>
0085     #include <dt-bindings/interrupt-controller/arm-gic.h>
0086     #include <dt-bindings/interrupt-controller/irq.h>
0087 
0088     irqpin1: interrupt-controller@e6900004 {
0089         compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
0090         reg = <0xe6900004 4>,
0091               <0xe6900014 4>,
0092               <0xe6900024 1>,
0093               <0xe6900044 1>,
0094               <0xe6900064 1>;
0095         interrupt-controller;
0096         #interrupt-cells = <2>;
0097         interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0098                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0099                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0100                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0101                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0102                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0103                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0104                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
0105         clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
0106         power-domains = <&pd_a4s>;
0107     };