dt-bindings: remoteproc: qcom,glink-rpm-edge: convert to DT schema
Convert Qualcomm G-Link RPM edge binding to DT schema. Move it to remoteproc as it better suits the purpose - communication channel with remote processor. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
This commit is contained in:
parent
adb239f340
commit
b114f13591
|
@ -0,0 +1,99 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm G-Link RPM edge
|
||||
|
||||
description: |
|
||||
Qualcomm G-Link edge, a FIFO based mechanism for communication with Resource
|
||||
Power Manager (RPM) on various Qualcomm platforms.
|
||||
|
||||
maintainers:
|
||||
- Bjorn Andersson <andersson@kernel.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,glink-rpm
|
||||
|
||||
label:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Name of the edge, used for debugging and identification purposes. The
|
||||
node name will be used if this is not present.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
mboxes:
|
||||
items:
|
||||
- description: rpm_hlos mailbox in APCS
|
||||
|
||||
qcom,remote-pid:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
The identifier for the remote processor as known by the rest of the
|
||||
system.
|
||||
|
||||
qcom,rpm-msg-ram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: |
|
||||
RPM message memory resource (compatible: qcom,rpm-msg-ram).
|
||||
|
||||
rpm-requests:
|
||||
type: object
|
||||
$ref: /schemas/soc/qcom/qcom,smd-rpm.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Qualcomm Resource Power Manager (RPM) over G-Link
|
||||
|
||||
properties:
|
||||
qcom,intents:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
minItems: 1
|
||||
maxItems: 32
|
||||
items:
|
||||
items:
|
||||
- description: size of each intent to preallocate
|
||||
- description: amount of intents to preallocate
|
||||
minimum: 1
|
||||
description:
|
||||
List of (size, amount) pairs describing what intents should be
|
||||
preallocated for this virtual channel. This can be used to tweak the
|
||||
default intents available for the channel to meet expectations of the
|
||||
remote.
|
||||
|
||||
required:
|
||||
- qcom,glink-channels
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
- mboxes
|
||||
|
||||
anyOf:
|
||||
- required:
|
||||
- qcom,remote-pid
|
||||
- required:
|
||||
- qcom,rpm-msg-ram
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
rpm-glink {
|
||||
compatible = "qcom,glink-rpm";
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
mboxes = <&apcs_glb 0>;
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
|
||||
rpm-requests {
|
||||
compatible = "qcom,rpm-msm8996";
|
||||
qcom,glink-channels = "rpm_requests";
|
||||
|
||||
/* ... */
|
||||
};
|
||||
};
|
|
@ -1,94 +0,0 @@
|
|||
Qualcomm GLINK edge binding
|
||||
|
||||
This binding describes a Qualcomm GLINK edge, a fifo based mechanism for
|
||||
communication between subsystem-pairs on various Qualcomm platforms. Two types
|
||||
of edges can be described by the binding; the GLINK RPM edge and a SMEM based
|
||||
edge.
|
||||
|
||||
- compatible:
|
||||
Usage: required for glink-rpm
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,glink-rpm"
|
||||
|
||||
- label:
|
||||
Usage: optional
|
||||
Value type: <string>
|
||||
Definition: should specify the subsystem name this edge corresponds to.
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify the IRQ used by the remote processor to
|
||||
signal this processor about communication related events
|
||||
|
||||
- qcom,remote-pid:
|
||||
Usage: required for glink-smem
|
||||
Value type: <u32>
|
||||
Definition: specifies the identifier of the remote endpoint of this edge
|
||||
|
||||
- qcom,rpm-msg-ram:
|
||||
Usage: required for glink-rpm
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: handle to RPM message memory resource
|
||||
|
||||
- mboxes:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: reference to the "rpm_hlos" mailbox in APCS, as described
|
||||
in mailbox/mailbox.txt
|
||||
|
||||
= GLINK DEVICES
|
||||
Each subnode of the GLINK node represent function tied to a virtual
|
||||
communication channel. The name of the nodes are not important. The properties
|
||||
of these nodes are defined by the individual bindings for the specific function
|
||||
- but must contain the following property:
|
||||
|
||||
- qcom,glink-channels:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: a list of channels tied to this function, used for matching
|
||||
the function to a set of virtual channels
|
||||
|
||||
- qcom,intents:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: a list of size,amount pairs describing what intents should
|
||||
be preallocated for this virtual channel. This can be used
|
||||
to tweak the default intents available for the channel to
|
||||
meet expectations of the remote.
|
||||
|
||||
= EXAMPLE
|
||||
The following example represents the GLINK RPM node on a MSM8996 device, with
|
||||
the function for the "rpm_request" channel defined, which is used for
|
||||
regulators and root clocks.
|
||||
|
||||
apcs_glb: mailbox@9820000 {
|
||||
compatible = "qcom,msm8996-apcs-hmss-global";
|
||||
reg = <0x9820000 0x1000>;
|
||||
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
rpm_msg_ram: memory@68000 {
|
||||
compatible = "qcom,rpm-msg-ram";
|
||||
reg = <0x68000 0x6000>;
|
||||
};
|
||||
|
||||
rpm-glink {
|
||||
compatible = "qcom,glink-rpm";
|
||||
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
|
||||
mboxes = <&apcs_glb 0>;
|
||||
|
||||
rpm-requests {
|
||||
compatible = "qcom,rpm-msm8996";
|
||||
qcom,glink-channels = "rpm_requests";
|
||||
|
||||
qcom,intents = <0x400 5
|
||||
0x800 1>;
|
||||
...
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue