Skip to content

Commit ed65197

Browse files
vlkondratievKAGA-KOKO
authored andcommitted
dt-bindings: interrupt-controller: Add MIPS P8700 aclint-sswi
Add ACLINT-SSWI variant for the MIPS P8700 SoC. This CPU has a SSWI device compliant with the RISC-V draft spec (see [1]). CPU indexes on this platform are not continuous, instead it uses bit-fields to encode hart,core,cluster numbers, thus the DT property "riscv,hart-indexes" is mandatory for it. Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/all/20250612143911.3224046-4-vladimir.kondratiev@mobileye.com Link: https://github.com/riscvarchive/riscv-aclint [1]
1 parent 81f335e commit ed65197

1 file changed

Lines changed: 55 additions & 9 deletions

File tree

Documentation/devicetree/bindings/interrupt-controller/thead,c900-aclint-sswi.yaml

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,32 @@
44
$id: http://devicetree.org/schemas/interrupt-controller/thead,c900-aclint-sswi.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: T-HEAD C900 ACLINT Supervisor-level Software Interrupt Device
7+
title: ACLINT Supervisor-level Software Interrupt Device
88

99
maintainers:
1010
- Inochi Amaoto <inochiama@outlook.com>
1111

1212
description:
13-
The SSWI device is a part of the THEAD ACLINT device. It provides
14-
supervisor-level IPI functionality for a set of HARTs on a THEAD
15-
platform. It provides a register to set an IPI (SETSSIP) for each
16-
HART connected to the SSWI device.
13+
The SSWI device is a part of the ACLINT device. It provides
14+
supervisor-level IPI functionality for a set of HARTs on a supported
15+
platforms. It provides a register to set an IPI (SETSSIP) for each
16+
HART connected to the SSWI device. See draft specification
17+
https://github.com/riscvarchive/riscv-aclint
18+
19+
Following variants of the SSWI ACLINT supported, using dedicated
20+
compatible string
21+
- THEAD C900
22+
- MIPS P8700
1723

1824
properties:
1925
compatible:
20-
items:
21-
- enum:
22-
- sophgo,sg2044-aclint-sswi
23-
- const: thead,c900-aclint-sswi
26+
oneOf:
27+
- items:
28+
- enum:
29+
- sophgo,sg2044-aclint-sswi
30+
- const: thead,c900-aclint-sswi
31+
- items:
32+
- const: mips,p8700-aclint-sswi
2433

2534
reg:
2635
maxItems: 1
@@ -34,6 +43,14 @@ properties:
3443
minItems: 1
3544
maxItems: 4095
3645

46+
riscv,hart-indexes:
47+
$ref: /schemas/types.yaml#/definitions/uint32-array
48+
minItems: 1
49+
maxItems: 4095
50+
description:
51+
A list of hart indexes that APLIC should use to address each hart
52+
that is mentioned in the "interrupts-extended"
53+
3754
additionalProperties: false
3855

3956
required:
@@ -43,8 +60,22 @@ required:
4360
- interrupt-controller
4461
- interrupts-extended
4562

63+
allOf:
64+
- if:
65+
properties:
66+
compatible:
67+
contains:
68+
const: mips,p8700-aclint-sswi
69+
then:
70+
required:
71+
- riscv,hart-indexes
72+
else:
73+
properties:
74+
riscv,hart-indexes: false
75+
4676
examples:
4777
- |
78+
//Example 1
4879
interrupt-controller@94000000 {
4980
compatible = "sophgo,sg2044-aclint-sswi", "thead,c900-aclint-sswi";
5081
reg = <0x94000000 0x00004000>;
@@ -55,4 +86,19 @@ examples:
5586
<&cpu3intc 1>,
5687
<&cpu4intc 1>;
5788
};
89+
90+
- |
91+
//Example 2
92+
interrupt-controller@94000000 {
93+
compatible = "mips,p8700-aclint-sswi";
94+
reg = <0x94000000 0x00004000>;
95+
#interrupt-cells = <0>;
96+
interrupt-controller;
97+
interrupts-extended = <&cpu1intc 1>,
98+
<&cpu2intc 1>,
99+
<&cpu3intc 1>,
100+
<&cpu4intc 1>;
101+
riscv,hart-indexes = <0x0 0x1 0x10 0x11>;
102+
};
103+
58104
...

0 commit comments

Comments
 (0)