From patchwork Mon May 15 17:43:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Morse X-Patchwork-Id: 762661 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wRSg94tPzz9ryr for ; Tue, 16 May 2017 03:46:13 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760703AbdEORqM (ORCPT ); Mon, 15 May 2017 13:46:12 -0400 Received: from foss.arm.com ([217.140.101.70]:56096 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753579AbdEORqM (ORCPT ); Mon, 15 May 2017 13:46:12 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9C72C165C; Mon, 15 May 2017 10:46:11 -0700 (PDT) Received: from melchizedek.cambridge.arm.com (melchizedek.cambridge.arm.com [10.1.207.55]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1BFD43F3E1; Mon, 15 May 2017 10:46:09 -0700 (PDT) From: James Morse To: linux-arm-kernel@lists.infradead.org Cc: Will Deacon , Catalin Marinas , kvmarm@lists.cs.columbia.edu, Marc Zyngier , Christoffer Dall , Rob Herring , Mark Rutland , devicetree@vger.kernel.org Subject: [PATCH 06/11] dt-bindings: add devicetree binding for describing arm64 SDEI firmware Date: Mon, 15 May 2017 18:43:54 +0100 Message-Id: <20170515174400.29735-7-james.morse@arm.com> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20170515174400.29735-1-james.morse@arm.com> References: <20170515174400.29735-1-james.morse@arm.com> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The Software Delegated Exception Interface (SDEI) is an ARM standard for registering callbacks from the platform firmware into the OS. This is typically used to implement RAS notifications. Add a new devicetree binding to describe the SDE firmware interface. Signed-off-by: James Morse --- Documentation/devicetree/bindings/arm/sdei.txt | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/sdei.txt diff --git a/Documentation/devicetree/bindings/arm/sdei.txt b/Documentation/devicetree/bindings/arm/sdei.txt new file mode 100644 index 000000000000..69220d995286 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/sdei.txt @@ -0,0 +1,37 @@ +* Software Delegated Exception Interface (SDEI) + +Firmware implementing the SDEI functions described in ARM document number +ARM DEN 0054A ("Software Delegated Exception Interface") can be used by +Linux to receive notification of events such as those generated by +firmware-first error handling. + +The interface provides a number of API functions for registering callbacks +and enabling/disabling events. Functions are invoked by trapping to the +privilege level of the SDEI firmware (specified as part of the binding +below) and passing arguments in a manner similar to that specified by AAPCS: + + r0 => 32-bit Function ID / return value + {r1 - r3} => Parameters + +Note that the immediate field of the trapping instruction must be set +to #0. + +The SDEI_EVENT_REGISTER function registers a callback in the kernel +text to handle the specified event number. + +Main node required properties: + + - compatible : should contain: + * "arm,sdei-1.0" : For implementations complying to SDEI version 1.x. + + - method : The method of calling the SDEI firmware. Permitted + values are: + * "smc" : SMC #0, with the register assignments specified in this + binding. + * "hvc" : HVC #0, with the register assignments specified in this + binding. +Example: + sdei { + compatible = "arm,sdei-1.0"; + method = "smc"; + };