blob: 74bfc42693f08e63a26dee1e17d2810d9ac34a6c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/microchip,pic32mzda-evic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip PIC32 EVIC Interrupt Controller
maintainers:
- Cristian Birsan <cristian.birsan@microchip.com>
description: >
The Microchip PIC32 contains an Enhanced Vectored Interrupt Controller (EVIC).
It handles all internal and external interrupts. This controller exists
outside of the CPU and is the arbitrator of all interrupts (including
interrupts from the CPU itself) before they are presented to the CPU.
External interrupts have a software configurable edge polarity. Non external
interrupts have a type and polarity that is determined by the source of the
interrupt.
properties:
compatible:
items:
- const: microchip,pic32mzda-evic
reg:
maxItems: 1
interrupt-controller: true
'#interrupt-cells':
const: 2
interrupts:
maxItems: 1
microchip,external-irqs:
description:
External interrupts with software polarity configuration corresponding to
the INTCON SFR bits.
$ref: /schemas/types.yaml#/definitions/uint32-array
required:
- compatible
- reg
- interrupt-controller
- '#interrupt-cells'
additionalProperties: false
examples:
- |
interrupt-controller@1f810000 {
compatible = "microchip,pic32mzda-evic";
reg = <0x1f810000 0x1000>;
interrupt-controller;
#interrupt-cells = <2>;
microchip,external-irqs = <3 8 13 18 23>;
};
|