linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] firmware: ARM System Control and Management Interface(SCMI) support
Date: Mon, 26 Jun 2017 16:55:04 +0100	[thread overview]
Message-ID: <1498492513-29771-1-git-send-email-sudeep.holla@arm.com> (raw)

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

             reply	other threads:[~2017-06-26 15:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26 15:55 Sudeep Holla [this message]
2017-06-26 15:55 ` [PATCH 1/9] Documentation: dt-bindings: add support for mailbox client shared memory Sudeep Holla
2017-06-28 22:56   ` Rob Herring
2017-06-30 10:24     ` Sudeep Holla
2017-06-26 15:55 ` [PATCH 2/9] Documentation: add DT binding for ARM System Control and Management Interface(SCMI) protocol Sudeep Holla
2017-06-28 23:04   ` Rob Herring
2017-06-30 10:31     ` Sudeep Holla
2017-06-26 15:55 ` [PATCH 3/9] firmware: arm_scmi: add basic driver infrastructure for SCMI Sudeep Holla
     [not found]   ` <1499446341-5956-1-git-send-email-jaswinder.singh@linaro.org>
2017-07-07 17:39     ` Sudeep Holla
2017-07-08  5:32       ` Jassi Brar
2017-07-24  9:50         ` Sudeep Holla
2017-07-24 15:41           ` Jassi Brar
2017-07-24 16:21             ` Sudeep Holla
2017-07-24 17:21               ` Jassi Brar
2017-07-24 17:30                 ` Sudeep Holla
2017-06-26 15:55 ` [PATCH 4/9] firmware: arm_scmi: add common infrastructure and support for base protocol Sudeep Holla
2017-06-26 15:55 ` [PATCH 5/9] firmware: arm_scmi: add initial support for performance protocol Sudeep Holla
2017-06-26 15:55 ` [PATCH 6/9] firmware: arm_scmi: add initial support for clock protocol Sudeep Holla
2017-06-26 15:55 ` [PATCH 7/9] firmware: arm_scmi: add initial support for power protocol Sudeep Holla
2017-06-26 15:55 ` [PATCH 8/9] firmware: arm_scmi: add initial support for sensor protocol Sudeep Holla
2017-06-26 15:55 ` [PATCH 9/9] firmware: arm_scmi: probe and initialise all the supported protocols Sudeep Holla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1498492513-29771-1-git-send-email-sudeep.holla@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).