Files
linux/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
Krzysztof Kozlowski 94f1f366ca dt-bindings: misc: qcom,fastrpc: restrict channel names
The Qualcomm FastRPC is expected to in GLINK or SMD edge node and its
channel name is always the same.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220909125403.803158-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Rob Herring <robh@kernel.org>
2022-09-09 11:23:30 -05:00

131 lines
3.1 KiB
YAML

# 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"
items:
- const: fastrpcglink-apps-dsp
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"
items:
- const: fastrpcsmd-apps-dsp
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
iommus:
minItems: 1
maxItems: 2
qcom,nsessions:
$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>;
};
};
};