xref: /linux/Documentation/devicetree/bindings/interrupt-controller/intel,ce4100-ioapic.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
12b822f47SRahul Tanwar# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22b822f47SRahul Tanwar%YAML 1.2
32b822f47SRahul Tanwar---
4*43d78445SRob Herring$id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml#
5*43d78445SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
62b822f47SRahul Tanwar
72b822f47SRahul Tanwartitle: Intel I/O Advanced Programmable Interrupt Controller (IO APIC)
82b822f47SRahul Tanwar
92b822f47SRahul Tanwarmaintainers:
102b822f47SRahul Tanwar  - Rahul Tanwar <rtanwar@maxlinear.com>
112b822f47SRahul Tanwar
122b822f47SRahul Tanwardescription: |
132b822f47SRahul Tanwar  Intel's Advanced Programmable Interrupt Controller (APIC) is a
142b822f47SRahul Tanwar  family of interrupt controllers. The APIC is a split
152b822f47SRahul Tanwar  architecture design, with a local component (LAPIC) integrated
162b822f47SRahul Tanwar  into the processor itself and an external I/O APIC. Local APIC
172b822f47SRahul Tanwar  (lapic) receives interrupts from the processor's interrupt pins,
182b822f47SRahul Tanwar  from internal sources and from an external I/O APIC (ioapic).
192b822f47SRahul Tanwar  And it sends these to the processor core for handling.
202b822f47SRahul Tanwar  See [1] Chapter 8 for more details.
212b822f47SRahul Tanwar
222b822f47SRahul Tanwar  Many of the Intel's generic devices like hpet, ioapic, lapic have
232b822f47SRahul Tanwar  the ce4100 name in their compatible property names because they
242b822f47SRahul Tanwar  first appeared in CE4100 SoC.
252b822f47SRahul Tanwar
262b822f47SRahul Tanwar  This schema defines bindings for I/O APIC interrupt controller.
272b822f47SRahul Tanwar
282b822f47SRahul Tanwar  [1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf
292b822f47SRahul Tanwar
302b822f47SRahul Tanwarproperties:
312b822f47SRahul Tanwar  compatible:
322b822f47SRahul Tanwar    const: intel,ce4100-ioapic
332b822f47SRahul Tanwar
342b822f47SRahul Tanwar  reg:
352b822f47SRahul Tanwar    maxItems: 1
362b822f47SRahul Tanwar
372b822f47SRahul Tanwar  interrupt-controller: true
382b822f47SRahul Tanwar
392b822f47SRahul Tanwar  '#interrupt-cells':
402b822f47SRahul Tanwar    const: 2
412b822f47SRahul Tanwar
422b822f47SRahul Tanwar  interrupts:
432b822f47SRahul Tanwar    maxItems: 1
442b822f47SRahul Tanwar
452b822f47SRahul Tanwarrequired:
462b822f47SRahul Tanwar  - compatible
472b822f47SRahul Tanwar  - reg
482b822f47SRahul Tanwar  - interrupt-controller
492b822f47SRahul Tanwar  - '#interrupt-cells'
502b822f47SRahul Tanwar
512b822f47SRahul TanwaradditionalProperties: false
522b822f47SRahul Tanwar
532b822f47SRahul Tanwarexamples:
542b822f47SRahul Tanwar  - |
552b822f47SRahul Tanwar    ioapic1: interrupt-controller@fec00000 {
562b822f47SRahul Tanwar        compatible = "intel,ce4100-ioapic";
572b822f47SRahul Tanwar        reg = <0xfec00000 0x1000>;
582b822f47SRahul Tanwar        interrupt-controller;
592b822f47SRahul Tanwar        #interrupt-cells = <2>;
602b822f47SRahul Tanwar    };
61