<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/firmware/scmi, branch v2022.10</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/firmware/scmi?h=v2022.10</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/firmware/scmi?h=v2022.10'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-06-23T17:12:56Z</updated>
<entry>
<title>firmware: scmi: use multi channel in mailbox, optee and smccc agents</title>
<updated>2022-06-23T17:12:56Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c08decd29ec44b38262eaa93e0e66d3965d26232'/>
<id>urn:sha1:c08decd29ec44b38262eaa93e0e66d3965d26232</id>
<content type='text'>
Updates .process_msg operators of the SCMI transport drivers that
supports multi-channel to use it now that drivers do provide
the reference through channel argument. These are the mailbox
agent, the optee agent and the smccc agent.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: optee transport: implement multi-channel</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=965d606d60b5593d176c74bc634f4d869efdc189'/>
<id>urn:sha1:965d606d60b5593d176c74bc634f4d869efdc189</id>
<content type='text'>
Implements multi SCMI channel support in OP-TEE SCMI transport. An
SCMI protocol may use a dedicated channel, specified by the DT.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: smccc transport: implement multi-channel</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=57b812fc8f7c02b670df8229e085197fa672e381'/>
<id>urn:sha1:57b812fc8f7c02b670df8229e085197fa672e381</id>
<content type='text'>
Updates SCMI SMCCC transport driver to get SCMI channel reference
at initialization and use when posting SCMI messages.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: mailbox transport: implement multi-channel</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b5d32ea42b38472348fed22f3605ed56a173f74a'/>
<id>urn:sha1:b5d32ea42b38472348fed22f3605ed56a173f74a</id>
<content type='text'>
Updates SCMI mailbox transport driver to get SCMI channel reference
at initialization and use when posting SCMI messages.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: add multi-channel support</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8e96801aa6ae99905acaf9ca36c30b373d441e68'/>
<id>urn:sha1:8e96801aa6ae99905acaf9ca36c30b373d441e68</id>
<content type='text'>
Adds resources for SCMI protocols to possibly use a dedicated SCMI
channel instead of the default channel allocated by the SCMI agent
during initialization. As per DT binding documentation, some SCMI
transports can define a specific SCMI communication channel for
given SCMI protocols. It allows SCMI protocols to pass messages
concurrently each other.

This change introduces new scmi agent uclass API function
devm_scmi_of_get_channel() for SCMI drivers probe sequences to get
a reference to the SCMI channel assigned to its related SCMI protocol.
The function queries the channel reference to its SCMI transport driver
through new scmi agent uclass operator .of_get_channel that uses Device
Tree information from related SCMI agent node.

Operator .of_get_channel returns a reference to the SCMI channel
assigned to SCMI protocol used by the caller device. SCMI transport
drivers that do not support multi-channel are not mandated to register
this operator. When so, API function devm_scmi_of_get_channel() returns
NULL and SCMI transport driver are expected to retrieve by their own
means the reference to the unique SCMI channel, for example using
platform data as these drivers currently do in U-Boot source tree.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: factorize scmi transport look up</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5a11df381a53097a7e813d81221ff735cc20782c'/>
<id>urn:sha1:5a11df381a53097a7e813d81221ff735cc20782c</id>
<content type='text'>
Defines local helper function find_scmi_transport_device() with the
instructions to find the SCMI transport device from a SCMI protocol
device.

Cc: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: prepare uclass to pass channel reference</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=85dc582892384600709acff796bbce10153255bf'/>
<id>urn:sha1:85dc582892384600709acff796bbce10153255bf</id>
<content type='text'>
Changes SCMI transport operator ::process_msg to pass the SCMI channel
reference provided by caller SCMI protocol device.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: prepare scmi uclass API to multi-channel</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8bcb1b4898be4849b711687fd140b43074b648da'/>
<id>urn:sha1:8bcb1b4898be4849b711687fd140b43074b648da</id>
<content type='text'>
Changes SCMI driver API function devm_scmi_process_msg() to add
an SCMI channel reference argument for when SCMI agent supports
SCMI protocol specific channels. First argument of devm_scmi_process_msg()
is also change to point to the caller SCMI protocol device rather
than its parent device (the SCMI agent device).

The argument is a pointer to opaque struct scmi_channel known from
the SCMI transport drivers. It is currently unused and caller a pass
NULL value. A later change will enable such support once SCMI protocol
drivers have means to get the channel reference during initialization.

Cc: Lukasz Majewski &lt;lukma@denx.de&gt;
Cc: Sean Anderson &lt;seanga2@gmail.com&gt;
Cc: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: optee: fix inline description of PTA_SCMI_CMD_GET_CHANNEL</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5d8eb4ce33b4620264461a4ab00abd293f4537d5'/>
<id>urn:sha1:5d8eb4ce33b4620264461a4ab00abd293f4537d5</id>
<content type='text'>
Removes inaccurate inline description of OP-TEE SCMI PTA command
PTA_SCMI_CMD_GET_CHANNEL.

Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: optee: use TEE shared memory for SCMI messages</title>
<updated>2022-06-23T17:12:55Z</updated>
<author>
<name>Etienne Carriere</name>
<email>etienne.carriere@linaro.org</email>
</author>
<published>2022-05-31T16:09:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=593eac9805de7c0c5744da9c1a86d736c083d8b9'/>
<id>urn:sha1:593eac9805de7c0c5744da9c1a86d736c083d8b9</id>
<content type='text'>
Changes implementation when using TEE dynamically allocated shared
memory to synchronize with the Linux implementation where the legacy
SMT protocol cannot be used with such memory since it is expected from
device mapped memory whereas OP-TEE shared memory is cached and
hence should not be accessed using memcpy_toio()/memcpy_fromio().

This change implements the MSG shared memory protocol introduced
in Linux [1]. The protocol uses a simplified SMT header of 32bit
named MSG_SMT to carry SCMI protocol information and uses side channel
means to carry exchanged buffer size information, as TEE invocation API
parameters when used in the SCMI OP-TEE transport.

Link: [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f301bba0ca7392d16a6ea4f1d264a91f1fadea1a
Signed-off-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
</content>
</entry>
</feed>
