dt-bindings: misc: fastrpc convert bindings to yaml
Convert Qualcomm FastRPC bindings to yaml format, so that we could validate dt-entries correctly and any future additions can go into yaml format. Use compute-cb@ subnodes instead of just cb@. Add qcom,glink-channels and qcom,smd-channels missing properties to make sure dtbs_check doesn't fail right off the bat. Correct the name of the parent node in the example from smd-edge to glink-edge. Since now the qcom,fastrpc bindings document is yaml, update the reference to it in qcom,glink-edge and also use $ref. Also update the MAINTAINERS file to point to the yaml version. Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Co-developed-by: David Heidelberg <david@ixit.cz> Signed-off-by: David Heidelberg <david@ixit.cz> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220907074301.3996021-1-abel.vesa@linaro.org Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
@ -1,88 +0,0 @@
|
|||||||
Qualcomm Technologies, Inc. FastRPC Driver
|
|
||||||
|
|
||||||
The FastRPC implements an IPC (Inter-Processor Communication)
|
|
||||||
mechanism that allows for clients to transparently make remote method
|
|
||||||
invocations across DSP and APPS boundaries. This enables developers
|
|
||||||
to offload tasks to the DSP and free up the application processor for
|
|
||||||
other tasks.
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: must be "qcom,fastrpc"
|
|
||||||
|
|
||||||
- label
|
|
||||||
Usage: required
|
|
||||||
Value type: <string>
|
|
||||||
Definition: should specify the dsp domain name this fastrpc
|
|
||||||
corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp"
|
|
||||||
|
|
||||||
- qcom,non-secure-domain:
|
|
||||||
Usage: required
|
|
||||||
Value type: <boolean>
|
|
||||||
Definition: Property to specify that dsp domain is non-secure.
|
|
||||||
|
|
||||||
- qcom,vmids:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32 array>
|
|
||||||
Definition: Virtual machine IDs for remote processor.
|
|
||||||
|
|
||||||
- #address-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 1
|
|
||||||
|
|
||||||
- #size-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 0
|
|
||||||
|
|
||||||
= COMPUTE BANKS
|
|
||||||
Each subnode of the Fastrpc represents compute context banks available
|
|
||||||
on the dsp.
|
|
||||||
- All Compute context banks MUST contain the following properties:
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: must be "qcom,fastrpc-compute-cb"
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Context Bank ID.
|
|
||||||
|
|
||||||
- qcom,nsessions:
|
|
||||||
Usage: Optional
|
|
||||||
Value type: <u32>
|
|
||||||
Defination: A value indicating how many sessions can share this
|
|
||||||
context bank. Defaults to 1 when this property
|
|
||||||
is not specified.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
adsp-pil {
|
|
||||||
compatible = "qcom,msm8996-adsp-pil";
|
|
||||||
...
|
|
||||||
smd-edge {
|
|
||||||
label = "lpass";
|
|
||||||
fastrpc {
|
|
||||||
compatible = "qcom,fastrpc";
|
|
||||||
qcom,smd-channels = "fastrpcsmd-apps-dsp";
|
|
||||||
label = "adsp";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
cb@1 {
|
|
||||||
compatible = "qcom,fastrpc-compute-cb";
|
|
||||||
reg = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cb@2 {
|
|
||||||
compatible = "qcom,fastrpc-compute-cb";
|
|
||||||
reg = <2>;
|
|
||||||
};
|
|
||||||
...
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
124
Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
Normal file
124
Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm FastRPC Driver
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The FastRPC implements an IPC (Inter-Processor Communication)
|
||||||
|
mechanism that allows for clients to transparently make remote method
|
||||||
|
invocations across DSP and APPS boundaries. This enables developers
|
||||||
|
to offload tasks to the DSP and free up the application processor for
|
||||||
|
other tasks.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qcom,fastrpc
|
||||||
|
|
||||||
|
label:
|
||||||
|
enum:
|
||||||
|
- adsp
|
||||||
|
- mdsp
|
||||||
|
- sdsp
|
||||||
|
- cdsp
|
||||||
|
|
||||||
|
qcom,glink-channels:
|
||||||
|
description:
|
||||||
|
A list of channels tied to this function, used for matching
|
||||||
|
the function to a set of virtual channels.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/string-array"
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qcom,non-secure-domain:
|
||||||
|
description:
|
||||||
|
Used to mark the current domain as non-secure.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
qcom,smd-channels:
|
||||||
|
description:
|
||||||
|
Channel name used for the RPM communication
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/string-array"
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qcom,vmids:
|
||||||
|
description:
|
||||||
|
Virtual machine IDs for remote processor.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32-array"
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"(compute-)?cb@[0-9]*$":
|
||||||
|
type: object
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Each subnode of the Fastrpc represents compute context banks available on the dsp.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qcom,fastrpc-compute-cb
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qcom,nsession:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
default: 1
|
||||||
|
description: >
|
||||||
|
A value indicating how many sessions can share this context bank.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- label
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/mailbox/qcom-ipcc.h>
|
||||||
|
|
||||||
|
glink-edge {
|
||||||
|
interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
|
||||||
|
IPCC_MPROC_SIGNAL_GLINK_QMP
|
||||||
|
IRQ_TYPE_EDGE_RISING>;
|
||||||
|
mboxes = <&ipcc IPCC_CLIENT_LPASS
|
||||||
|
IPCC_MPROC_SIGNAL_GLINK_QMP>;
|
||||||
|
label = "lpass";
|
||||||
|
qcom,remote-pid = <2>;
|
||||||
|
|
||||||
|
fastrpc {
|
||||||
|
compatible = "qcom,fastrpc";
|
||||||
|
label = "adsp";
|
||||||
|
qcom,smd-channels = "fastrpcsmd-apps-dsp";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
compute-cb@1 {
|
||||||
|
compatible = "qcom,fastrpc-compute-cb";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
compute-cb@2 {
|
||||||
|
compatible = "qcom,fastrpc-compute-cb";
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@ -23,9 +23,9 @@ properties:
|
|||||||
Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
|
Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
|
||||||
|
|
||||||
fastrpc:
|
fastrpc:
|
||||||
type: object
|
$ref: /schemas/misc/qcom,fastrpc.yaml#
|
||||||
description:
|
description:
|
||||||
See Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
|
Qualcomm FastRPC
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -16862,7 +16862,7 @@ M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|||||||
M: Amol Maheshwari <amahesh@qti.qualcomm.com>
|
M: Amol Maheshwari <amahesh@qti.qualcomm.com>
|
||||||
L: linux-arm-msm@vger.kernel.org
|
L: linux-arm-msm@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
|
F: Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
|
||||||
F: drivers/misc/fastrpc.c
|
F: drivers/misc/fastrpc.c
|
||||||
F: include/uapi/misc/fastrpc.h
|
F: include/uapi/misc/fastrpc.h
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user