162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Intel I/O Advanced Programmable Interrupt Controller (IO APIC) 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Rahul Tanwar <rtanwar@maxlinear.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Intel's Advanced Programmable Interrupt Controller (APIC) is a 1462306a36Sopenharmony_ci family of interrupt controllers. The APIC is a split 1562306a36Sopenharmony_ci architecture design, with a local component (LAPIC) integrated 1662306a36Sopenharmony_ci into the processor itself and an external I/O APIC. Local APIC 1762306a36Sopenharmony_ci (lapic) receives interrupts from the processor's interrupt pins, 1862306a36Sopenharmony_ci from internal sources and from an external I/O APIC (ioapic). 1962306a36Sopenharmony_ci And it sends these to the processor core for handling. 2062306a36Sopenharmony_ci See [1] Chapter 8 for more details. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci Many of the Intel's generic devices like hpet, ioapic, lapic have 2362306a36Sopenharmony_ci the ce4100 name in their compatible property names because they 2462306a36Sopenharmony_ci first appeared in CE4100 SoC. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci This schema defines bindings for I/O APIC interrupt controller. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci [1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciproperties: 3162306a36Sopenharmony_ci compatible: 3262306a36Sopenharmony_ci const: intel,ce4100-ioapic 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci reg: 3562306a36Sopenharmony_ci maxItems: 1 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci interrupt-controller: true 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci '#interrupt-cells': 4062306a36Sopenharmony_ci const: 2 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci interrupts: 4362306a36Sopenharmony_ci maxItems: 1 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cirequired: 4662306a36Sopenharmony_ci - compatible 4762306a36Sopenharmony_ci - reg 4862306a36Sopenharmony_ci - interrupt-controller 4962306a36Sopenharmony_ci - '#interrupt-cells' 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciadditionalProperties: false 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciexamples: 5462306a36Sopenharmony_ci - | 5562306a36Sopenharmony_ci ioapic1: interrupt-controller@fec00000 { 5662306a36Sopenharmony_ci compatible = "intel,ce4100-ioapic"; 5762306a36Sopenharmony_ci reg = <0xfec00000 0x1000>; 5862306a36Sopenharmony_ci interrupt-controller; 5962306a36Sopenharmony_ci #interrupt-cells = <2>; 6062306a36Sopenharmony_ci }; 61