public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v5 00/16] firmware: scmi: add SCMI base protocol support
@ 2023-09-26  6:57 AKASHI Takahiro
  2023-09-26  6:57 ` [PATCH v5 01/16] scmi: refactor the code to hide a channel from devices AKASHI Takahiro
                   ` (16 more replies)
  0 siblings, 17 replies; 35+ messages in thread
From: AKASHI Takahiro @ 2023-09-26  6:57 UTC (permalink / raw)
  To: trini, sjg; +Cc: etienne.carriere, u-boot, AKASHI Takahiro

This patch series allows users to access SCMI base protocol provided by
SCMI server (platform). It will also be utilized in separate patches
in the future to add sanity/validity checks for other protocols.
See SCMI specification document v3.2 beta[1] for more details about SCMI
base protocol.

What is currently not implemented is
- SCMI_BASE_NOTIFY_ERRORS command and notification callback mechanism

This feature won't be very useful in the current U-Boot environment.

[1] https://developer.arm.com/documentation/den0056/e/?lang=en


Test
====
The patch series was tested on the following platforms:
* sandbox
* qemu-arm64 with OPTEE as SCMI server


Prerequisite:
=============
* This patch series is based on v2023.10-rc4.


Patches:
========
Patch#1-#4: refactoring & bug fix
Patch#5-#7,#10-#11: Add SCMI base protocol driver
Patch#8-#9,#12-#13: Add SCMI base protocol device unit test
Patch#14-#16: Add scmi command


Change history:
===============
v5 (sep 26, 2023)
* fix a per_child_auto size (patch#1)
* fix an existing bug (not using a protocol's channel) (patch#2-#4)

v4 (Sep 12, 2023)
* shuffle the patch order (patch#5,6 prior to patch#7)
* several improvements/cleanup thanks to Etienne
  (Each commit message has more details.)

v3 (Sep 8, 2023)
* import patch#6 (protocol availability check) from my followup patch
* fix an issue on ST board (reported by Etienne) (patch#1)
* minor code improvements
* fix various typos pointed out by Etienne
* revise function descriptions/comments 
  (Each commit message has more details.)

v2 (Jul, 26, 2023)
* refactor devm_scmi_of_get_channel()/process_msg(), removing uses of ops
  (patch#1)
* use helper functions, removing uses of ops (patch#2,#9,#10)
* add more descriptions in scmi command doc (patch#11)
* remove 'scmi base' sub-command (patch#10,#12)

v1 (Jun, 28, 2023)
* initial release

AKASHI Takahiro (16):
  scmi: refactor the code to hide a channel from devices
  firmware: scmi: use a protocol's own channel if assigned
  firmware: scmi: support dummy channels for sandbox agent
  test: dm: add protocol-specific channel test
  firmware: scmi: implement SCMI base protocol
  firmware: scmi: move scmi_bind_protocols() backward
  firmware: scmi: framework for installing additional protocols
  firmware: scmi: fake base protocol commands on sandbox
  test: dm: simplify SCMI unit test on sandbox
  firmware: scmi: install base protocol to SCMI agent
  firmware: scmi: add a check against availability of protocols
  sandbox: remove SCMI base node definition from test.dts
  test: dm: add SCMI base protocol test
  cmd: add scmi command for SCMI firmware
  doc: cmd: add documentation for scmi
  test: dm: add scmi command test

 arch/sandbox/dts/test.dts                  |   5 +-
 arch/sandbox/include/asm/scmi_test.h       |  19 +-
 cmd/Kconfig                                |   9 +
 cmd/Makefile                               |   1 +
 cmd/scmi.c                                 | 337 +++++++++++
 configs/sandbox_defconfig                  |   1 +
 doc/usage/cmd/scmi.rst                     | 126 ++++
 drivers/clk/clk_scmi.c                     |  27 +-
 drivers/firmware/scmi/Makefile             |   1 +
 drivers/firmware/scmi/base.c               | 657 +++++++++++++++++++++
 drivers/firmware/scmi/mailbox_agent.c      |   5 +-
 drivers/firmware/scmi/optee_agent.c        |   5 +-
 drivers/firmware/scmi/sandbox-scmi_agent.c | 469 ++++++++++++++-
 drivers/firmware/scmi/scmi_agent-uclass.c  | 412 +++++++++++--
 drivers/firmware/scmi/smccc_agent.c        |   5 +-
 drivers/power/regulator/scmi_regulator.c   |  26 +-
 drivers/reset/reset-scmi.c                 |  19 +-
 include/dm/uclass-id.h                     |   1 +
 include/scmi_agent-uclass.h                |  89 ++-
 include/scmi_agent.h                       |  29 +-
 include/scmi_protocols.h                   | 351 +++++++++++
 test/dm/scmi.c                             | 248 ++++++--
 22 files changed, 2638 insertions(+), 204 deletions(-)
 create mode 100644 cmd/scmi.c
 create mode 100644 doc/usage/cmd/scmi.rst
 create mode 100644 drivers/firmware/scmi/base.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2023-10-25  1:15 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-26  6:57 [PATCH v5 00/16] firmware: scmi: add SCMI base protocol support AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 01/16] scmi: refactor the code to hide a channel from devices AKASHI Takahiro
2023-10-05  7:07   ` Etienne CARRIERE - foss
2023-09-26  6:57 ` [PATCH v5 02/16] firmware: scmi: use a protocol's own channel if assigned AKASHI Takahiro
2023-10-05  7:07   ` Etienne CARRIERE - foss
2023-09-26  6:57 ` [PATCH v5 03/16] firmware: scmi: support dummy channels for sandbox agent AKASHI Takahiro
2023-10-02  1:17   ` Simon Glass
2023-10-05  7:08     ` Etienne CARRIERE - foss
2023-09-26  6:57 ` [PATCH v5 04/16] test: dm: add protocol-specific channel test AKASHI Takahiro
2023-10-02  1:17   ` Simon Glass
2023-10-05  7:08     ` Etienne CARRIERE - foss
2023-09-26  6:57 ` [PATCH v5 05/16] firmware: scmi: implement SCMI base protocol AKASHI Takahiro
2023-10-05  7:06   ` Etienne CARRIERE - foss
2023-10-05  9:58     ` AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 06/16] firmware: scmi: move scmi_bind_protocols() backward AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 07/16] firmware: scmi: framework for installing additional protocols AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 08/16] firmware: scmi: fake base protocol commands on sandbox AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 09/16] test: dm: simplify SCMI unit test " AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 10/16] firmware: scmi: install base protocol to SCMI agent AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 11/16] firmware: scmi: add a check against availability of protocols AKASHI Takahiro
2023-10-02  1:17   ` Simon Glass
2023-09-26  6:57 ` [PATCH v5 12/16] sandbox: remove SCMI base node definition from test.dts AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 13/16] test: dm: add SCMI base protocol test AKASHI Takahiro
2023-10-02  1:17   ` Simon Glass
2023-09-26  6:57 ` [PATCH v5 14/16] cmd: add scmi command for SCMI firmware AKASHI Takahiro
2023-10-24  8:27   ` Michal Simek
2023-10-24 22:24     ` Tom Rini
2023-10-25  1:14       ` AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 15/16] doc: cmd: add documentation for scmi AKASHI Takahiro
2023-10-10 14:19   ` Tom Rini
2023-10-11  1:22     ` AKASHI Takahiro
2023-09-26  6:57 ` [PATCH v5 16/16] test: dm: add scmi command test AKASHI Takahiro
2023-10-10 14:19 ` [PATCH v5 00/16] firmware: scmi: add SCMI base protocol support Tom Rini
2023-10-11  1:36   ` AKASHI Takahiro
2023-10-11  2:11     ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox