Skip to content

Commit 2b822f4

Browse files
Rahul TanwarKAGA-KOKO
authored andcommitted
dt-bindings: x86: apic: Convert Intel's APIC bindings to YAML schema
The DT bindings for X86 local APIC (lapic) and I/O APIC (ioapic) are outdated. Rework them: - Convert the bindings for lapic and ioapic from text to YAML schema. - Separate lapic & ioapic schemas. - Add missing but required standard properties - Add missing descriptions Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rahul Tanwar <rtanwar@maxlinear.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221124084143.21841-2-rtanwar@maxlinear.com
1 parent 9b09927 commit 2b822f4

3 files changed

Lines changed: 117 additions & 26 deletions

File tree

Documentation/devicetree/bindings/interrupt-controller/intel,ce4100-ioapic.txt

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: Intel I/O Advanced Programmable Interrupt Controller (IO APIC)
8+
9+
maintainers:
10+
- Rahul Tanwar <rtanwar@maxlinear.com>
11+
12+
description: |
13+
Intel's Advanced Programmable Interrupt Controller (APIC) is a
14+
family of interrupt controllers. The APIC is a split
15+
architecture design, with a local component (LAPIC) integrated
16+
into the processor itself and an external I/O APIC. Local APIC
17+
(lapic) receives interrupts from the processor's interrupt pins,
18+
from internal sources and from an external I/O APIC (ioapic).
19+
And it sends these to the processor core for handling.
20+
See [1] Chapter 8 for more details.
21+
22+
Many of the Intel's generic devices like hpet, ioapic, lapic have
23+
the ce4100 name in their compatible property names because they
24+
first appeared in CE4100 SoC.
25+
26+
This schema defines bindings for I/O APIC interrupt controller.
27+
28+
[1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf
29+
30+
properties:
31+
compatible:
32+
const: intel,ce4100-ioapic
33+
34+
reg:
35+
maxItems: 1
36+
37+
interrupt-controller: true
38+
39+
'#interrupt-cells':
40+
const: 2
41+
42+
interrupts:
43+
maxItems: 1
44+
45+
required:
46+
- compatible
47+
- reg
48+
- interrupt-controller
49+
- '#interrupt-cells'
50+
51+
additionalProperties: false
52+
53+
examples:
54+
- |
55+
ioapic1: interrupt-controller@fec00000 {
56+
compatible = "intel,ce4100-ioapic";
57+
reg = <0xfec00000 0x1000>;
58+
interrupt-controller;
59+
#interrupt-cells = <2>;
60+
};
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/interrupt-controller/intel,ce4100-lapic.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: Intel Local Advanced Programmable Interrupt Controller (LAPIC)
8+
9+
maintainers:
10+
- Rahul Tanwar <rtanwar@maxlinear.com>
11+
12+
description: |
13+
Intel's Advanced Programmable Interrupt Controller (APIC) is a
14+
family of interrupt controllers. The APIC is a split
15+
architecture design, with a local component (LAPIC) integrated
16+
into the processor itself and an external I/O APIC. Local APIC
17+
(lapic) receives interrupts from the processor's interrupt pins,
18+
from internal sources and from an external I/O APIC (ioapic).
19+
And it sends these to the processor core for handling.
20+
See [1] Chapter 8 for more details.
21+
22+
Many of the Intel's generic devices like hpet, ioapic, lapic have
23+
the ce4100 name in their compatible property names because they
24+
first appeared in CE4100 SoC.
25+
26+
This schema defines bindings for local APIC interrupt controller.
27+
28+
[1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf
29+
30+
properties:
31+
compatible:
32+
const: intel,ce4100-lapic
33+
34+
reg:
35+
maxItems: 1
36+
37+
interrupt-controller: true
38+
39+
'#interrupt-cells':
40+
const: 2
41+
42+
required:
43+
- compatible
44+
- reg
45+
- interrupt-controller
46+
- '#interrupt-cells'
47+
48+
additionalProperties: false
49+
50+
examples:
51+
- |
52+
lapic0: interrupt-controller@fee00000 {
53+
compatible = "intel,ce4100-lapic";
54+
reg = <0xfee00000 0x1000>;
55+
interrupt-controller;
56+
#interrupt-cells = <2>;
57+
};

0 commit comments

Comments
 (0)