> diff --git a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.yaml > new file mode 100644 > index 000000000000..0d51bd78bf2b > --- /dev/null > +++ b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.yaml > @@ -0,0 +1,89 @@ > +# 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@xxxxxxxxxxxxx> > + - Dharma balasubiramani <dharma.b@xxxxxxxxxxxxx> > + > +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. > + > +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 When there's property restrictions being applied, move the allof down to... > + > +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. ...here. Both work, but seeing the restrictions before you see any of the properties is not the most understandable. Cheers, Conor. > +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>; > + }; > +... > > base-commit: 4f5e5092fdbf5cec6bedc19fbe69cce4f5f08372 > -- > 2.25.1 >
Attachment:
signature.asc
Description: PGP signature