15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25f62a964SEmmanuel Vadot%YAML 1.2 35f62a964SEmmanuel Vadot--- 45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/thead,c900-aclint-sswi.yaml# 55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65f62a964SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: ACLINT Supervisor-level Software Interrupt Device 85f62a964SEmmanuel Vadot 95f62a964SEmmanuel Vadotmaintainers: 105f62a964SEmmanuel Vadot - Inochi Amaoto <inochiama@outlook.com> 115f62a964SEmmanuel Vadot 125f62a964SEmmanuel Vadotdescription: 13*833e5d42SEmmanuel Vadot The SSWI device is a part of the ACLINT device. It provides 14*833e5d42SEmmanuel Vadot supervisor-level IPI functionality for a set of HARTs on a supported 15*833e5d42SEmmanuel Vadot platforms. It provides a register to set an IPI (SETSSIP) for each 16*833e5d42SEmmanuel Vadot HART connected to the SSWI device. See draft specification 17*833e5d42SEmmanuel Vadot https://github.com/riscvarchive/riscv-aclint 18*833e5d42SEmmanuel Vadot 19*833e5d42SEmmanuel Vadot Following variants of the SSWI ACLINT supported, using dedicated 20*833e5d42SEmmanuel Vadot compatible string 21*833e5d42SEmmanuel Vadot - THEAD C900 22*833e5d42SEmmanuel Vadot - MIPS P8700 235f62a964SEmmanuel Vadot 245f62a964SEmmanuel Vadotproperties: 255f62a964SEmmanuel Vadot compatible: 26*833e5d42SEmmanuel Vadot oneOf: 27*833e5d42SEmmanuel Vadot - items: 285f62a964SEmmanuel Vadot - enum: 295f62a964SEmmanuel Vadot - sophgo,sg2044-aclint-sswi 305f62a964SEmmanuel Vadot - const: thead,c900-aclint-sswi 31*833e5d42SEmmanuel Vadot - items: 32*833e5d42SEmmanuel Vadot - const: mips,p8700-aclint-sswi 335f62a964SEmmanuel Vadot 345f62a964SEmmanuel Vadot reg: 355f62a964SEmmanuel Vadot maxItems: 1 365f62a964SEmmanuel Vadot 375f62a964SEmmanuel Vadot "#interrupt-cells": 385f62a964SEmmanuel Vadot const: 0 395f62a964SEmmanuel Vadot 405f62a964SEmmanuel Vadot interrupt-controller: true 415f62a964SEmmanuel Vadot 425f62a964SEmmanuel Vadot interrupts-extended: 435f62a964SEmmanuel Vadot minItems: 1 445f62a964SEmmanuel Vadot maxItems: 4095 455f62a964SEmmanuel Vadot 46*833e5d42SEmmanuel Vadot riscv,hart-indexes: 47*833e5d42SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 48*833e5d42SEmmanuel Vadot minItems: 1 49*833e5d42SEmmanuel Vadot maxItems: 4095 50*833e5d42SEmmanuel Vadot description: 51*833e5d42SEmmanuel Vadot A list of hart indexes that APLIC should use to address each hart 52*833e5d42SEmmanuel Vadot that is mentioned in the "interrupts-extended" 53*833e5d42SEmmanuel Vadot 545f62a964SEmmanuel VadotadditionalProperties: false 555f62a964SEmmanuel Vadot 565f62a964SEmmanuel Vadotrequired: 575f62a964SEmmanuel Vadot - compatible 585f62a964SEmmanuel Vadot - reg 595f62a964SEmmanuel Vadot - "#interrupt-cells" 605f62a964SEmmanuel Vadot - interrupt-controller 615f62a964SEmmanuel Vadot - interrupts-extended 625f62a964SEmmanuel Vadot 63*833e5d42SEmmanuel VadotallOf: 64*833e5d42SEmmanuel Vadot - if: 65*833e5d42SEmmanuel Vadot properties: 66*833e5d42SEmmanuel Vadot compatible: 67*833e5d42SEmmanuel Vadot contains: 68*833e5d42SEmmanuel Vadot const: mips,p8700-aclint-sswi 69*833e5d42SEmmanuel Vadot then: 70*833e5d42SEmmanuel Vadot required: 71*833e5d42SEmmanuel Vadot - riscv,hart-indexes 72*833e5d42SEmmanuel Vadot else: 73*833e5d42SEmmanuel Vadot properties: 74*833e5d42SEmmanuel Vadot riscv,hart-indexes: false 75*833e5d42SEmmanuel Vadot 765f62a964SEmmanuel Vadotexamples: 775f62a964SEmmanuel Vadot - | 78*833e5d42SEmmanuel Vadot //Example 1 795f62a964SEmmanuel Vadot interrupt-controller@94000000 { 805f62a964SEmmanuel Vadot compatible = "sophgo,sg2044-aclint-sswi", "thead,c900-aclint-sswi"; 815f62a964SEmmanuel Vadot reg = <0x94000000 0x00004000>; 825f62a964SEmmanuel Vadot #interrupt-cells = <0>; 835f62a964SEmmanuel Vadot interrupt-controller; 845f62a964SEmmanuel Vadot interrupts-extended = <&cpu1intc 1>, 855f62a964SEmmanuel Vadot <&cpu2intc 1>, 865f62a964SEmmanuel Vadot <&cpu3intc 1>, 875f62a964SEmmanuel Vadot <&cpu4intc 1>; 885f62a964SEmmanuel Vadot }; 89*833e5d42SEmmanuel Vadot 90*833e5d42SEmmanuel Vadot - | 91*833e5d42SEmmanuel Vadot //Example 2 92*833e5d42SEmmanuel Vadot interrupt-controller@94000000 { 93*833e5d42SEmmanuel Vadot compatible = "mips,p8700-aclint-sswi"; 94*833e5d42SEmmanuel Vadot reg = <0x94000000 0x00004000>; 95*833e5d42SEmmanuel Vadot #interrupt-cells = <0>; 96*833e5d42SEmmanuel Vadot interrupt-controller; 97*833e5d42SEmmanuel Vadot interrupts-extended = <&cpu1intc 1>, 98*833e5d42SEmmanuel Vadot <&cpu2intc 1>, 99*833e5d42SEmmanuel Vadot <&cpu3intc 1>, 100*833e5d42SEmmanuel Vadot <&cpu4intc 1>; 101*833e5d42SEmmanuel Vadot riscv,hart-indexes = <0x0 0x1 0x10 0x11>; 102*833e5d42SEmmanuel Vadot }; 103*833e5d42SEmmanuel Vadot 1045f62a964SEmmanuel Vadot... 105