From patchwork Mon Jun 26 15:55:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 106354 Delivered-To: patch@linaro.org Received: by 10.140.101.48 with SMTP id t45csp166429qge; Mon, 26 Jun 2017 08:55:23 -0700 (PDT) X-Received: by 10.99.64.197 with SMTP id n188mr775392pga.281.1498492523734; Mon, 26 Jun 2017 08:55:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1498492523; cv=none; d=google.com; s=arc-20160816; b=zmE0bJ8jMm1kGnvDYNiECVetAXOXr3CKwwq9teKWI/+zNo2YrNi+qnqHwGn6lXwn4D 3Rnek1uTjT1LaWwD3jKZLztQKZTOkRzN2SQz2OGHf7IA1gMa31EmuDua2Tc1Ju1yPKb/ lfhCUsaxjMZ+46tYjHUa5cVsM5HSnbHmRUdbMuhagJaqAj9AGtDjXknVCyYtnxO2t9yE odK1YLPMpLTI4QfbMY8gbNy6ouXJx8441Rn67EERDrIjxTDmFvcw+HOBnZRMNahs1S50 /Cx1mrlYAg5GFLht6NGoJdh91Perx6lVancDCJ9W6mP/9JRj1TpRje1Cr+eLLKjPO0p4 c1ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=sXjwkJlSWM/aPZLXXYd8DDBIdLAhJxMhKqO7PlES69w=; b=GKClva6c+E7y6jqTh8zCUNBnOd84qoe77cMg+kPkPeQz73QC348IIoTI0mWLwjNeJW G05atm0T2burzzSQPxbrALqnlEL5kZQAJh2FGHqu7US8euscpXgkPNCdW/+UL3kOYShJ mQmAQbnIU3Xbc68XED0uyxMErK/VvLii/hw5u5CN8bqjn7mOitdLcsDalI/aduH33JmR tNohUBqsIhdKw66qllxRB+QQIlDb2g+UBAdGk18cDZ9o04nuBIx3ilCBJK4cuORCD9vr tkqIMkJOhNnoZexgeBa0uwBzvjCFkRFD2RgWN+wmqBiuYlN9uGvXz9HqlFjprYi8Uaaw w0wA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i6si224401pgt.488.2017.06.26.08.55.23; Mon, 26 Jun 2017 08:55:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751445AbdFZPzW (ORCPT + 7 others); Mon, 26 Jun 2017 11:55:22 -0400 Received: from foss.arm.com ([217.140.101.70]:45966 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751402AbdFZPzW (ORCPT ); Mon, 26 Jun 2017 11:55:22 -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 6935680D; Mon, 26 Jun 2017 08:55:21 -0700 (PDT) Received: from e107155-lin.cambridge.arm.com (e107155-lin.cambridge.arm.com [10.1.211.34]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AD4923F4FF; Mon, 26 Jun 2017 08:55:19 -0700 (PDT) From: Sudeep Holla To: ALKML , LKML , DTML Cc: Sudeep Holla , Roy Franz , Harb Abdulhamid , Nishanth Menon , Arnd Bergmann , Loc Ho , Alexey Klimov , Matt Sealey Subject: [PATCH 0/9] firmware: ARM System Control and Management Interface(SCMI) support Date: Mon, 26 Jun 2017 16:55:04 +0100 Message-Id: <1498492513-29771-1-git-send-email-sudeep.holla@arm.com> X-Mailer: git-send-email 2.7.4 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi all, Let me begin admitting that we are introducing yet another protocol to achieve same things as many existing protocols like ARM SCPI, TI SCI, QCOM RPM, Nvidia Tegra BPMP, and so on. All I can say is that this new ARM System Control and Management Interface(SCMI) is more flexible and easily extensible than any of the existing ones. Many vendors were involved in the making of this formal specification and is now officially published[1]. There is a strong trend in the industry to provide micro-controllers in systems to abstract various power, or other system management tasks. These controllers usually have similar interfaces, both in terms of the functions that are provided by them, and in terms of how requests are communicated to them. This specification is to standardise and avoid (any further) fragmentation in the design of such interface by various vendors. This patch set is intended to get feedback on the design and structure of the code. This is not complete and not fully tested due to non-availability of firmware with full feature set at this time. It currently doesn't support notification, asynchronous/delayed response, perf/power statistics region and sensor register region to name a few. I have borrowed some of the ideas of message allocation/management from TI SCI. I had previously posted RFC[2]. Changes RFC->v1: - Add generic mailbox binding for shared memory(Rob H) - Dropped compatibles per protocol(Suggested by Matt S) - Dropped lot of unnecessary pointer casting(Arnd B) - Dropped packing of structures(Arnd B) - Few other changes/additions based initial testing with firmware providing SCMI interface to OSPM -- Regards, Sudeep [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/index.html Sudeep Holla (9): Documentation: dt-bindings: add support for mailbox client shared memory Documentation: add DT binding for ARM System Control and Management Interface(SCMI) protocol firmware: arm_scmi: add basic driver infrastructure for SCMI firmware: arm_scmi: add common infrastructure and support for base protocol firmware: arm_scmi: add initial support for performance protocol firmware: arm_scmi: add initial support for clock protocol firmware: arm_scmi: add initial support for power protocol firmware: arm_scmi: add initial support for sensor protocol firmware: arm_scmi: probe and initialise all the supported protocols Documentation/devicetree/bindings/arm/arm,scmi.txt | 175 +++++ .../devicetree/bindings/mailbox/mailbox.txt | 28 + drivers/firmware/Kconfig | 21 + drivers/firmware/Makefile | 1 + drivers/firmware/arm_scmi/Makefile | 2 + drivers/firmware/arm_scmi/base.c | 293 +++++++ drivers/firmware/arm_scmi/clock.c | 339 ++++++++ drivers/firmware/arm_scmi/common.h | 126 +++ drivers/firmware/arm_scmi/driver.c | 869 +++++++++++++++++++++ drivers/firmware/arm_scmi/perf.c | 511 ++++++++++++ drivers/firmware/arm_scmi/power.c | 242 ++++++ drivers/firmware/arm_scmi/sensors.c | 286 +++++++ include/linux/scmi_protocol.h | 215 +++++ 13 files changed, 3108 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,scmi.txt create mode 100644 drivers/firmware/arm_scmi/Makefile create mode 100644 drivers/firmware/arm_scmi/base.c create mode 100644 drivers/firmware/arm_scmi/clock.c create mode 100644 drivers/firmware/arm_scmi/common.h create mode 100644 drivers/firmware/arm_scmi/driver.c create mode 100644 drivers/firmware/arm_scmi/perf.c create mode 100644 drivers/firmware/arm_scmi/power.c create mode 100644 drivers/firmware/arm_scmi/sensors.c create mode 100644 include/linux/scmi_protocol.h -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Acked-by: Rob Herring