| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/interrupt-controller/atmel,aic.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Advanced Interrupt Controller (AIC)
- maintainers:
- - Nicolas Ferre <nicolas.ferre@microchip.com>
- - Dharma balasubiramani <dharma.b@microchip.com>
- description:
- The Advanced Interrupt Controller (AIC) is an 8-level priority, individually
- maskable, vectored interrupt controller providing handling of up to one
- hundred and twenty-eight interrupt sources.
- properties:
- compatible:
- enum:
- - atmel,at91rm9200-aic
- - atmel,sama5d2-aic
- - atmel,sama5d3-aic
- - atmel,sama5d4-aic
- - microchip,sam9x60-aic
- reg:
- maxItems: 1
- interrupt-controller: true
- "#interrupt-cells":
- const: 3
- description: |
- The 1st cell is the IRQ number (Peripheral IDentifier on datasheet).
- The 2nd cell specifies flags:
- bits[3:0] trigger type and level flags:
- 1 = low-to-high edge triggered.
- 2 = high-to-low edge triggered.
- 4 = active high level-sensitive.
- 8 = active low level-sensitive.
- Valid combinations: 1, 2, 3, 4, 8.
- Default for internal sources: 4 (active high).
- The 3rd cell specifies irq priority from 0 (lowest) to 7 (highest).
- interrupts:
- maxItems: 1
- atmel,external-irqs:
- $ref: /schemas/types.yaml#/definitions/uint32-array
- description: u32 array of external irqs.
- allOf:
- - $ref: /schemas/interrupt-controller.yaml#
- - if:
- properties:
- compatible:
- contains:
- const: atmel,at91rm9200-aic
- then:
- properties:
- atmel,external-irqs:
- minItems: 1
- maxItems: 7
- else:
- properties:
- atmel,external-irqs:
- minItems: 1
- maxItems: 1
- required:
- - compatible
- - reg
- - interrupt-controller
- - "#interrupt-cells"
- - atmel,external-irqs
- unevaluatedProperties: false
- examples:
- - |
- interrupt-controller@fffff000 {
- compatible = "atmel,at91rm9200-aic";
- reg = <0xfffff000 0x200>;
- interrupt-controller;
- #interrupt-cells = <3>;
- atmel,external-irqs = <31>;
- };
- ...
|