Re: [PATCH v1 01/15] dt-binding: remoteproc: mediatek: Support dual-core SCP
From: Krzysztof Kozlowski <hidden>
Date: 2022-06-02 06:55:32
Also in:
chrome-platform, linux-devicetree, linux-mediatek, linux-remoteproc, lkml
On 02/06/2022 07:21, Tinghan Shen wrote:
Hi Krzysztof, On Wed, 2022-06-01 at 13:50 +0200, Krzysztof Kozlowski wrote:quoted
On 01/06/2022 13:21, Tinghan Shen wrote:quoted
The SCP co-processor is a dual-core RISC-V MCU on MT8195. Add a new property to identify each core and helps to find drivers through device tree API to cooperate with each other, e.g. boot flow and watchdog timeout flow. Add a new compatile for the driver of SCP 2nd core. Signed-off-by: Tinghan Shen <redacted> --- .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+)diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yamlb/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml index eec3b9c4c713..b181786d9575 100644--- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml@@ -20,6 +20,7 @@ properties: - mediatek,mt8186-scp - mediatek,mt8192-scp - mediatek,mt8195-scp + - mediatek,mt8195-scp-dual reg: description:@@ -57,6 +58,16 @@ properties: memory-region: maxItems: 1 + mediatek,scp-core: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: + The property value is a list with 2 items, a core id and a phandleuint32, not phandle.quoted
+ to the sibling SCP node.Skip this. First part is obvious from the schema, second part should be described via items. The core id represents the id of the dts node containsquoted
+ this property. The valid values of core id are 0 and 1 for dual-core SCP. + The phandle of sibling SCP node is used to find the register settings, + trigger core dependent callback, and invoke rproc API.Entire description did not help me to understand what's this. So far it looks like it is not a hardware property but some programming help, so it does not look like properly described in bindings.quoted
+ maxItems: 1In description you said - two items. You need allOf:if:then disallowing this property for other variants.quoted
+ required: - compatible - reg@@ -115,6 +126,7 @@ examples: reg-names = "sram", "cfg", "l1tcm"; clocks = <&infracfg CLK_INFRA_SCPSYS>; clock-names = "main"; + mediatek,scp-core = <0 &scp_dual>;This looks like phandle, so wrong type.quoted
cros_ec { mediatek,rpmsg-name = "cros-ec-rpmsg";Thanks for your feedback. After looking for a comparable uses case, I find out a different approach. mediatek,scp-core: $ref: "/schemas/types.yaml#/definitions/phandle-array" description: Enable the dual-core support in scp driver.
You describe desired functional behavior, not the hardware. What is the property about? If you just want to indicate this is two-core processor, then it could be: mediatek,cores = <2>; /* number of cores */ However it seems you want to achieve here something different and as I raised last time - it does not look like DT property. Or maybe this is for first core and you want to indicate the sibling? Something like that was mentioned in previous description.
items:
- items:
- description: Assign a core id for current scp node.
enum: [0, 1]
- description:
Phandle of another SCP node. This helps to find
the scp driver of another core to trigger core
dependent callback, invoke rproc subdevice API, etc.Items should be rather reversed, as [0,1] being the argument to phandle for a provider (see examples with syscon)... Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel