| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-lapic.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Intel Local Advanced Programmable Interrupt Controller (LAPIC) | |
| maintainers: | |
| - Rahul Tanwar <rtanwar@maxlinear.com> | |
| description: | | |
| Intel's Advanced Programmable Interrupt Controller (APIC) is a | |
| family of interrupt controllers. The APIC is a split | |
| architecture design, with a local component (LAPIC) integrated | |
| into the processor itself and an external I/O APIC. Local APIC | |
| (lapic) receives interrupts from the processor's interrupt pins, | |
| from internal sources and from an external I/O APIC (ioapic). | |
| And it sends these to the processor core for handling. | |
| See [1] Chapter 8 for more details. | |
| Many of the Intel's generic devices like hpet, ioapic, lapic have | |
| the ce4100 name in their compatible property names because they | |
| first appeared in CE4100 SoC. | |
| This schema defines bindings for local APIC interrupt controller. | |
| [1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf | |
| properties: | |
| compatible: | |
| const: intel,ce4100-lapic | |
| reg: | |
| maxItems: 1 | |
| interrupt-controller: true | |
| '#interrupt-cells': | |
| const: 2 | |
| intel,virtual-wire-mode: | |
| description: Intel defines a few possible interrupt delivery | |
| modes. With respect to boot/init time, mainly two interrupt | |
| delivery modes are possible. | |
| PIC Mode - Legacy external 8259 compliant PIC interrupt controller. | |
| Virtual Wire Mode - use lapic as virtual wire interrupt delivery mode. | |
| For ACPI or MPS spec compliant systems, it is figured out by some read | |
| only bit field/s available in their respective defined data structures. | |
| For OF based systems, it is by default set to PIC mode. | |
| But if this optional boolean property is set, then the interrupt delivery | |
| mode is configured to virtual wire compatibility mode. | |
| type: boolean | |
| required: | |
| - compatible | |
| - reg | |
| - interrupt-controller | |
| - '#interrupt-cells' | |
| additionalProperties: false | |
| examples: | |
| - | | |
| lapic0: interrupt-controller@fee00000 { | |
| compatible = "intel,ce4100-lapic"; | |
| reg = <0xfee00000 0x1000>; | |
| interrupt-controller; | |
| #interrupt-cells = <2>; | |
| intel,virtual-wire-mode; | |
| }; |