Commit 547bed81 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Rob Herring

dt-bindings: remoteproc: qcom,smd-edge: define children

SMD edge contains subnodes representing devices related to the remote
processor.  With limietd number of remote processors, there is a limited
set of such devices.

List all of them in smd-edge bindings so schema can strictly check for
subnodes.

Additional benefit is requirement of "qcom,smd-channels" for such
subnodes, because their schema cannot enforce it (few devices like APR
or FastRPC can be part of either SMD or GLINK edge).
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220909125403.803158-8-krzysztof.kozlowski@linaro.orgSigned-off-by: default avatarRob Herring <robh@kernel.org>
parent 6dae25e4
...@@ -13,12 +13,30 @@ description: ...@@ -13,12 +13,30 @@ description:
Qualcomm SMD subnode represents a remote subsystem or a remote processor of Qualcomm SMD subnode represents a remote subsystem or a remote processor of
some sort - or in SMD language an "edge". The name of the edges are not some sort - or in SMD language an "edge". The name of the edges are not
important. important.
In turn, subnodes of the "edges" represent devices tied to SMD channels on
that "edge". The names of the devices are not important. The properties of
these nodes are defined by the individual bindings for the SMD devices.
See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
properties: properties:
$nodename: $nodename:
const: "smd-edge" const: "smd-edge"
apr:
$ref: /schemas/soc/qcom/qcom,apr.yaml#
required:
- qcom,smd-channels
description:
Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
fastrpc:
$ref: /schemas/misc/qcom,fastrpc.yaml#
required:
- qcom,smd-channels
description:
Qualcomm FastRPC
interrupts: interrupts:
maxItems: 1 maxItems: 1
...@@ -56,6 +74,20 @@ properties: ...@@ -56,6 +74,20 @@ properties:
The identifier for the remote processor as known by the rest of the The identifier for the remote processor as known by the rest of the
system. system.
rpm-requests:
$ref: /schemas/soc/qcom/qcom,smd-rpm.yaml#
required:
- qcom,smd-channels
description:
Qualcomm Resource Power Manager (RPM) over SMD.
wcnss:
$ref: /schemas/soc/qcom/qcom,wcnss.yaml
required:
- qcom,smd-channels
description:
Qualcomm WCNSS for Bluetooth, WiFi and FM radio.
required: required:
- interrupts - interrupts
- qcom,smd-edge - qcom,smd-edge
...@@ -66,7 +98,7 @@ oneOf: ...@@ -66,7 +98,7 @@ oneOf:
- required: - required:
- qcom,ipc - qcom,ipc
additionalProperties: true additionalProperties: false
examples: examples:
- | - |
......
...@@ -22,37 +22,12 @@ properties: ...@@ -22,37 +22,12 @@ properties:
patternProperties: patternProperties:
"^smd-edge|rpm$": "^smd-edge|rpm$":
$ref: /schemas/remoteproc/qcom,smd-edge.yaml# $ref: /schemas/remoteproc/qcom,smd-edge.yaml#
unevaluatedProperties: false
description: description:
Each subnode of the SMD node represents a remote subsystem or a remote Each subnode of the SMD node represents a remote subsystem or a remote
processor of some sort - or in SMD language an "edge". The name of the processor of some sort - or in SMD language an "edge". The name of the
edges are not important. edges are not important.
properties:
rpm-requests:
type: object
description:
In turn, subnodes of the "edges" represent devices tied to SMD
channels on that "edge". The names of the devices are not
important. The properties of these nodes are defined by the
individual bindings for the SMD devices.
properties:
qcom,smd-channels:
$ref: /schemas/types.yaml#/definitions/string-array
minItems: 1
maxItems: 32
description:
A list of channels tied to this device, used for matching the
device to channels.
required:
- compatible
- qcom,smd-channels
additionalProperties: true
unevaluatedProperties: false
required: required:
- compatible - compatible
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment