Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp221013pxb; Tue, 31 Aug 2021 19:44:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHzT1zkxVZbmuHNojVsJysKDn3QlDNJRorAzpbKFF6b1Goz9v8xmxJqbgoqT7715xwlMuF X-Received: by 2002:a5d:9681:: with SMTP id m1mr25066292ion.113.1630464294508; Tue, 31 Aug 2021 19:44:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630464294; cv=none; d=google.com; s=arc-20160816; b=PvjWBFWMg8yauuZ5vny05a03X3a5/TiVaAVGHQtu+HmsVnxULqAjCqE4N/UH/s7PXH NmDikgzZUy3n9troz78mvuU9c6XyGZHwSUtfomghgB+3h/JVp7iSIYdlempjQl4fc0h1 XixH4afYbwaghq3nZGNA/bdsu4VXB3zvclfh8ZDJoocWfCCuttwugn1G9nug0u49yGdx ib1fJNw05/jRGbwKtnB1zWfWJyP+/53y/L03i1BllNcg8NdVWyZRLHCA5hDH667U5Eqi cn95bSJOV0Fjis83wGIFKc7UUFAaSmHoXIMmEAiYR7JnB7ADaz0Q+hazkhhII7ZXQ810 cAQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=VJN6Yn8anNyePkxZIH0sbBuDiAsFTMzSe4iTlv6qQOw=; b=0fUoMzMtgeZIrYdiJHEvU24QIun2kigMoUdTuozq07jNH5H3sgiNUuk3GqzwY1eLWw R9r11OtM//0sMgMY+zL9Kw4Bwgi79Vl003Fgl/I8tbzIHjuAqBgA061ZjVFA4nXhEFoA 3IewJSuaf5LziUlmkU+r2HcgtNbOcRfm94r4gmQn8p4eQPQLUse+/poTfvg+g6cMNaTH xCtYjNiFOS9mEWInFHf5x1njcuuzguu/3gkwCghkFxCrTEZmPSrzGe4HqF15Z8ovovVj xevSl6iWZY9cpQNFf5v1+3VK3tbc4+4eptsXwwUGM0JJrlI4bekr/RtgjxRgFJQ4iu9/ VHZg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m8si19453149ilq.88.2021.08.31.19.44.42; Tue, 31 Aug 2021 19:44:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241596AbhIABZ0 (ORCPT + 99 others); Tue, 31 Aug 2021 21:25:26 -0400 Received: from mail-oi1-f179.google.com ([209.85.167.179]:41482 "EHLO mail-oi1-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234036AbhIABZ0 (ORCPT ); Tue, 31 Aug 2021 21:25:26 -0400 Received: by mail-oi1-f179.google.com with SMTP id 6so1701136oiy.8; Tue, 31 Aug 2021 18:24:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=VJN6Yn8anNyePkxZIH0sbBuDiAsFTMzSe4iTlv6qQOw=; b=UcF5h2S4wQ2ehCmS+UrKDubR6LFS2AlMwO11VYeTvh6xJ+o46bQj5yTTauQk/puFaF jpi6xe8iEWIkx+YsqhNNPIUE3Pmu4flbLNbz/51QaJRZeHw5UQopR9cKO4zo+Y6huDzz dkBlSbwMDWIlrQk+Ei4NGTfSREiVvyyOmIznDAboLxl3P8e5w5mQY5QbxoBSgLRRLuTQ JlCbQQ0J9L1knB7dv8lrsUd7W1WW4hDX+Tqsmx2Z0MtRtER+fVlAOl3rZC54+dp/XYTw dW1gKII0Ff+MdX16lS/0YNjGB5eCV48hUe27FFYzCh8kP5sOvUPOce4F02aK8Z9+9DO7 RAwQ== X-Gm-Message-State: AOAM5305g5o7fPtG40+FNRxtRmtlrrxN9FyDaM2coVEIKqhL8MKmQHRi V0C11F7Iqo5LdFqZcUCdGQ== X-Received: by 2002:a05:6808:690:: with SMTP id k16mr5361611oig.152.1630459469893; Tue, 31 Aug 2021 18:24:29 -0700 (PDT) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id k23sm4055216ood.12.2021.08.31.18.24.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Aug 2021 18:24:29 -0700 (PDT) Received: (nullmailer pid 990302 invoked by uid 1000); Wed, 01 Sep 2021 01:24:28 -0000 Date: Tue, 31 Aug 2021 20:24:28 -0500 From: Rob Herring To: Anup Patel Cc: Palmer Dabbelt , Palmer Dabbelt , Paul Walmsley , Thomas Gleixner , Marc Zyngier , Daniel Lezcano , Atish Patra , Alistair Francis , Anup Patel , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Bin Meng Subject: Re: [RFC PATCH v3 05/11] dt-bindings: interrupt-controller: Add ACLINT MSWI and SSWI bindings Message-ID: References: <20210830041729.237252-1-anup.patel@wdc.com> <20210830041729.237252-6-anup.patel@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210830041729.237252-6-anup.patel@wdc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 30, 2021 at 09:47:23AM +0530, Anup Patel wrote: > We add DT bindings documentation for the ACLINT MSWI and SSWI > devices found on RISC-V SOCs. > > Signed-off-by: Anup Patel > Reviewed-by: Bin Meng > --- > .../riscv,aclint-swi.yaml | 95 +++++++++++++++++++ > 1 file changed, 95 insertions(+) > create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,aclint-swi.yaml > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/riscv,aclint-swi.yaml b/Documentation/devicetree/bindings/interrupt-controller/riscv,aclint-swi.yaml > new file mode 100644 > index 000000000000..68563259ae24 > --- /dev/null > +++ b/Documentation/devicetree/bindings/interrupt-controller/riscv,aclint-swi.yaml > @@ -0,0 +1,95 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/interrupt-controller/riscv,aclint-swi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: RISC-V ACLINT Software Interrupt Devices > + > +maintainers: > + - Anup Patel > + > +description: > + RISC-V SOCs include an implementation of the M-level software interrupt > + (MSWI) device and the S-level software interrupt (SSWI) device defined > + in the RISC-V Advanced Core Local Interruptor (ACLINT) specification. > + > + The ACLINT MSWI and SSWI devices are documented in the RISC-V ACLINT > + specification located at > + https://github.com/riscv/riscv-aclint/blob/main/riscv-aclint.adoc. > + > + The ACLINT MSWI and SSWI devices directly connect to the M-level and > + S-level software interrupt lines of various HARTs (or CPUs) respectively > + so the RISC-V per-HART (or per-CPU) local interrupt controller is the > + parent interrupt controller for the ACLINT MSWI and SSWI devices. > + > +allOf: > + - $ref: /schemas/interrupt-controller.yaml# > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - riscv,aclint-mswi > + > + - items: > + - enum: > + - riscv,aclint-sswi All this can be just: enum: - riscv,aclint-mswi - riscv,aclint-sswi However... > + > + description: > + For ACLINT MSWI devices, it should be "riscv,aclint-mswi" OR > + ",-aclint-mswi". > + For ACLINT SSWI devices, it should be "riscv,aclint-sswi" OR > + ",-aclint-sswi". s/OR/AND/ There must be a compatible for the implementation. Unless RiscV implementations of specs are complete describing all clocks, power domains, resets, etc. and are quirk free. But don't write free form constraints... > + > + reg: > + maxItems: 1 > + > + "#interrupt-cells": > + const: 0 > + > + interrupts-extended: > + minItems: 1 > + maxItems: 4095 > + > + interrupt-controller: true > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts-extended > + - interrupt-controller > + - "#interrupt-cells" > + > +examples: > + - | > + // Example 1 (RISC-V MSWI device used by Linux RISC-V NoMMU kernel): > + > + interrupt-controller@2000000 { > + compatible = "riscv,aclint-mswi"; > + interrupts-extended = <&cpu1intc 3>, > + <&cpu2intc 3>, > + <&cpu3intc 3>, > + <&cpu4intc 3>; > + reg = <0x2000000 0x4000>; > + interrupt-controller; > + #interrupt-cells = <0>; > + }; > + > + - | > + // Example 2 (RISC-V SSWI device used by Linux RISC-V MMU kernel): > + > + interrupt-controller@2100000 { > + compatible = "riscv,aclint-sswi"; > + interrupts-extended = <&cpu1intc 1>, > + <&cpu2intc 1>, > + <&cpu3intc 1>, > + <&cpu4intc 1>; > + reg = <0x2100000 0x4000>; > + interrupt-controller; > + #interrupt-cells = <0>; > + }; > +... > -- > 2.25.1 > >