Re: [PATCH 1/2] dt-bindings: arm: arm,scmi: add smc/hvc transports
From: Sudeep Holla <hidden>
Date: 2020-02-07 11:06:07
Also in:
linux-devicetree, lkml
On Fri, Feb 07, 2020 at 10:55:44AM +0000, Peng Fan wrote:
quoted
Subject: Re: [PATCH 1/2] dt-bindings: arm: arm,scmi: add smc/hvc transports On Fri, Feb 07, 2020 at 10:08:36AM +0000, Marc Zyngier wrote:quoted
On 2020-02-06 13:01, peng.fan@nxp.com wrote:quoted
From: Peng Fan <peng.fan@nxp.com> SCMI could use SMC/HVC as tranports, so add into devicetree binding doc. Signed-off-by: Peng Fan <peng.fan@nxp.com> --- Documentation/devicetree/bindings/arm/arm,scmi.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/Documentation/devicetree/bindings/arm/arm,scmi.txtb/Documentation/devicetree/bindings/arm/arm,scmi.txt index f493d69e6194..03cff8b55a93 100644--- a/Documentation/devicetree/bindings/arm/arm,scmi.txt +++ b/Documentation/devicetree/bindings/arm/arm,scmi.txt@@ -14,7 +14,7 @@ Required properties: The scmi node with the following properties shall be under the/firmware/ node. -- compatible : shall be "arm,scmi" +- compatible : shall be "arm,scmi" or "arm,scmi-smc" - mboxes: List of phandle and mailbox channel specifiers. It should contain exactly one or two mailboxes, one for transmitting messages("tx") and another optional for receiving the notifications("rx") if @@ -25,6 +25,8 @@ The scmi node with the following properties shall be under the /firmware/ node. protocol identifier for a given sub-node. - #size-cells : should be '0' as 'reg' property doesn't have any size associated with it. +- arm,smc-id : SMC id required when using smc transports +- arm,hvc-id : HVC id required when using hvc transports Optional properties:Not directly related to DT: Why do we need to distinguish between SMC and HVC?IIUC you want just one property to get the function ID ? Does that align with what you are saying ? I wanted to ask the same question and I see no need for 2 different properties.The multiple protocols might use SMC or HVC. Saying Protocol@x { method="smc"; arm,func-id=<0x....> }; Protocol@y { method="hvc"; arm,func-id=<0x....> };
Wow, stop there. Please don't do that. You either use SMC or HVC consistently. Not both at the same time. Any particular reasons for trying such crazy things.
With my propose:
Protocol@x {
arm,smc-id=<0x....>
};
Protocol@y {
arm,hvc-id=<0x....>
};
No need an extra method property to indicate it is smc or hvc.
The driver use take arm,smc-id as SMC, arm,hvc-id as HVC.NACK, just have one function ID, I am not very particular on the name 'smc-id' is just fine for me. But only one function ID for any conduit used and that is chosen by PSCI/SMCCC. If you need multiple channels(unique per protocol) then I suggest go for an channel ID or you can even manage just with shmem associated with it (I prefer latter but again I am fine either way) -- Regards, Sudeep _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel