<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/firmware/scmi, branch v2023.04</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=v2023.04</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/firmware/scmi?h=v2023.04'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-12-08T14:29:02Z</updated>
<entry>
<title>firmware: scmi: use protocol node name to bind the scmi regulator driver</title>
<updated>2022-12-08T14:29:02Z</updated>
<author>
<name>Patrick Delaunay</name>
<email>patrick.delaunay@foss.st.com</email>
</author>
<published>2022-11-25T11:56:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=55b0affd26e5b31868893faf3e69c41157ce56a6'/>
<id>urn:sha1:55b0affd26e5b31868893faf3e69c41157ce56a6</id>
<content type='text'>
In scmi firmware driver, it is better to bind the scmi protocol driver
"scmi_voltage_domain" with the node name of the protocol 17 and not
the sub-node named "regulator", because is a fixed string which doesn't
provide information and because it is not aligned with the other scmi
protocol nodes.

For example on stm32mp135f-dk board with device tree in stm32mp131.dtsi

scmi: scmi {
	compatible = "linaro,scmi-optee";
	#address-cells = &lt;1&gt;;
	#size-cells = &lt;0&gt;;
	linaro,optee-channel-id = &lt;0&gt;;
	shmem = &lt;&amp;scmi_shm&gt;;
	scmi_clk: protocol@14 {
		reg = &lt;0x14&gt;;
		#clock-cells = &lt;1&gt;;
	};
	scmi_reset: protocol@16 {
		reg = &lt;0x16&gt;;
		#reset-cells = &lt;1&gt;;
	};
	scmi_voltd: protocol@17 {
		reg = &lt;0x17&gt;;
		scmi_regu: regulators {
			#address-cells = &lt;1&gt;;
			#size-cells = &lt;0&gt;;
			scmi_reg11: voltd-reg11 {
				reg = &lt;VOLTD_SCMI_REG11&gt;;
				regulator-name = "reg11";
			};
			scmi_reg18: voltd-reg18 {
				reg = &lt;VOLTD_SCMI_REG18&gt;;
				regulator-name = "reg18";
			};
			scmi_usb33: voltd-usb33 {
				reg = &lt;VOLTD_SCMI_USB33&gt;;
				regulator-name = "usb33";
			};
		};
	};
};

Before the patch:

&gt; dm tree

 scmi_agent    0  [ + ]   scmi-over-optee       |-- scmi
 clk           1  [ + ]   scmi_clk              |   |-- protocol@14
 ...
 reset         1  [   ]   scmi_reset_domain     |   |-- protocol@16
 nop           2  [ + ]   scmi_voltage_domain   |   `-- regulators
 regulator     0  [ + ]   scmi_regulator        |       |-- voltd-reg11
 regulator     1  [ + ]   scmi_regulator        |       |-- voltd-reg18
 regulator     2  [ + ]   scmi_regulator        |       |-- voltd-usb33
 ...

after the patch:

&gt; dm tree

 scmi_agent    0  [ + ]   scmi-over-optee       |-- scmi
 clk           1  [ + ]   scmi_clk              |   |-- protocol@14
 ...
 reset         1  [   ]   scmi_reset_domain     |   |-- protocol@16
 nop           2  [ + ]   scmi_voltage_domain   |   `-- protocol@17
 regulator     0  [ + ]   scmi_regulator        |       |-- voltd-reg11
 regulator     1  [ + ]   scmi_regulator        |       |-- voltd-reg18
 regulator     2  [ + ]   scmi_regulator        |       |-- voltd-usb33
 ...

Signed-off-by: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
</content>
</entry>
<entry>
<title>firmware: scmi: fix the multi channel support with CCF</title>
<updated>2022-10-12T12:55:31Z</updated>
<author>
<name>Patrick Delaunay</name>
<email>patrick.delaunay@foss.st.com</email>
</author>
<published>2022-09-30T07:36:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=eebb967dce04426b5f4b5f4fda51fbf95dea4c32'/>
<id>urn:sha1:eebb967dce04426b5f4b5f4fda51fbf95dea4c32</id>
<content type='text'>
When the CCF is activated, the dev-&gt;parent is not necessary
the reference to SCMI transport and the function devm_scmi_of_get_channel
failed for the registered SCMI clock, child for protocol@14,
the channel is null and the SCMI clock driver crash for any operations.

This patch changes the first parameter of the ops of_get_channel(),
aligned with other process_msg() to pass directly the good reference,
i.e. parent result of find_scmi_transport_device(dev)
which return the reference of the scmi transport device.

Fixes: 8e96801aa6a ("firmware: scmi: add multi-channel support")
Signed-off-by: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
</content>
</entry>
<entry>
<title>dm: core: Drop ofnode_is_available()</title>
<updated>2022-09-29T20:11:31Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2022-09-07T02:27:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8909066199281b86bf4ee7673ec6d7983dd12a26'/>
<id>urn:sha1:8909066199281b86bf4ee7673ec6d7983dd12a26</id>
<content type='text'>
This function is also available as ofnode_is_enabled(), so use that
instead.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<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>
</feed>
