[PATCH v2 11/12] doc: cmd: add documentation for scmi
Etienne CARRIERE
etienne.carriere at st.com
Thu Aug 3 12:31:33 CEST 2023
> From: AKASHI Takahiro <takahiro.akashi at linaro.org>
> Sent: Wednesday, July 26, 2023 10:38
>
> This is a help text for scmi command.
>
> Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
> ---
> v2
> * add more descriptions about SCMI
Reviewed-by: Etienne Carriere <etienne.carriere at foss.st.com>
> ---
> doc/usage/cmd/scmi.rst | 126 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 126 insertions(+)
> create mode 100644 doc/usage/cmd/scmi.rst
>
> diff --git a/doc/usage/cmd/scmi.rst b/doc/usage/cmd/scmi.rst
> new file mode 100644
> index 000000000000..aebcfe95101d
> --- /dev/null
> +++ b/doc/usage/cmd/scmi.rst
> @@ -0,0 +1,126 @@
> +.. SPDX-License-Identifier: GPL-2.0+:
> +
> +scmi command
> +============
> +
> +Synopsis
> +--------
> +
> +::
> +
> + scmi info
> + scmi perm_dev <agent id> <device id> <flags>
> + scmi perm_proto <agent id> <device id> <protocol id> <flags>
> + scmi reset <agent id> <flags>
> +
> +Description
> +-----------
> +
> +Arm System Control and Management Interface (SCMI hereafter) is a set of
> +standardised interfaces to manage system resources, like clocks, power
> +domains, pin controls, reset and so on, in a system-wide manner.
> +
> +An entity which provides those services is called a SCMI firmware (or
> +SCMI server if you like) may be placed/implemented by EL3 software or
> +by a dedicated system control processor (SCP) or else.
> +
> +A user of SCMI interfaces, including U-Boot, is called a SCMI agent and
> +may issues commands, which are defined in each protocol for specific system
> +resources, to SCMI server via a communication channel, called a transport.
> +Those interfaces are independent from the server's implementation thanks to
> +a tranport layer.
> +
> +For more details, see the `SCMI specification`_.
> +
> +While most of system resources managed under SCMI protocols are implemented
> +and handled as standard U-Boot devices, for example clk_scmi, scmi command
> +provides additional management functionality against SCMI server.
> +
> +scmi info
> +~~~~~~~~~
> + Show base information about SCMI server and supported protocols
> +
> +scmi perm_dev
> +~~~~~~~~~~~~~
> + Allow or deny access permission to the device
> +
> +scmi perm_proto
> +~~~~~~~~~~~~~~~
> + Allow or deny access to the protocol on the device
> +
> +scmi reset
> +~~~~~~~~~~
> + Reset the already-configured permissions against the device
> +
> +Parameters are used as follows:
> +
> +<agent id>
> + SCMI Agent ID, hex value
By the way, this documentation states hexadecimal value are awaited
but not the embedded doc (patch v2 10/12). Would it be worth it?
> +
> +<device id>
> + SCMI Device ID, hex value
> +
> + Please note that what a device means is not defined
> + in the specification.
> +
> +<protocol id>
> + SCMI Protocol ID, hex value
> +
> + It must not be 0x10 (base protocol)
> +
> +<flags>
> + Flags to control the action, hex value
> +
> + 0 to deny, 1 to allow. The other values are reserved and allowed
> + values may depend on the implemented version of SCMI server in
> + the future. See SCMI specification for more details.
> +
> +Example
> +-------
> +
> +Obtain basic information about SCMI server:
> +
> +::
> +
> + => scmi info
> + SCMI device: scmi
> + protocol version: 0x20000
> + # of agents: 3
> + 0: platform
> + > 1: OSPM
> + 2: PSCI
> + # of protocols: 4
> + Power domain management
> + Performance domain management
> + Clock management
> + Sensor management
> + vendor: Linaro
> + sub vendor: PMWG
> + impl version: 0x20b0000
> +
> +Ask for access permission to device#0:
> +
> +::
> +
> + => scmi perm_dev 1 0 1
> +
> +Reset configurations with all access permission settings retained:
> +
> +::
> +
> + => scmi reset 1 0
> +
> +Configuration
> +-------------
> +
> +The scmi command is only available if CONFIG_CMD_SCMI=y.
> +Default n because this command is mainly for debug purpose.
> +
> +Return value
> +------------
> +
> +The return value ($?) is set to 0 if the operation succeeded,
> +1 if the operation failed or -1 if the operation failed due to
> +a syntax error.
> +
> +.. _`SCMI specification`: https://developer.arm.com/documentation/den0056/e/?lang=en
> --
> 2.41.0
>
More information about the U-Boot
mailing list