1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# 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:
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>
glink-edge {
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-smd-rpm";
qcom,glink-channels = "rpm_requests";
/* ... */
};
};
|