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: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220909125403.803158-8-krzysztof.kozlowski@linaro.org Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
committed by
Rob Herring
parent
6dae25e4df
commit
547bed8140
@@ -13,12 +13,30 @@ description:
|
||||
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
|
||||
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
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
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:
|
||||
maxItems: 1
|
||||
|
||||
@@ -56,6 +74,20 @@ properties:
|
||||
The identifier for the remote processor as known by the rest of the
|
||||
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:
|
||||
- interrupts
|
||||
- qcom,smd-edge
|
||||
@@ -66,7 +98,7 @@ oneOf:
|
||||
- required:
|
||||
- qcom,ipc
|
||||
|
||||
additionalProperties: true
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -22,37 +22,12 @@ properties:
|
||||
patternProperties:
|
||||
"^smd-edge|rpm$":
|
||||
$ref: /schemas/remoteproc/qcom,smd-edge.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
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
|
||||
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:
|
||||
- compatible
|
||||
|
||||
|
||||
Reference in New Issue
Block a user