dt-bindings: remoteproc: qcom,smd-edge: define re-usable schema for smd-edge
'smd-edge' property appears in multiple bindings, so split it into one place which can be re-used. This reduces code duplication and adds strict schema matching for smd-edge nodes (instead of just "type:object"). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20220517070113.18023-9-krzysztof.kozlowski@linaro.org
This commit is contained in:
parent
ae9d475a10
commit
385fad1303
@ -148,7 +148,7 @@ properties:
|
|||||||
three offsets within syscon for q6, modem and nc halt registers.
|
three offsets within syscon for q6, modem and nc halt registers.
|
||||||
|
|
||||||
smd-edge:
|
smd-edge:
|
||||||
type: object
|
$ref: /schemas/remoteproc/qcom,smd-edge.yaml#
|
||||||
description:
|
description:
|
||||||
Qualcomm Shared Memory subnode which represents communication edge,
|
Qualcomm Shared Memory subnode which represents communication edge,
|
||||||
channels and devices related to the ADSP.
|
channels and devices related to the ADSP.
|
||||||
|
@ -0,0 +1,85 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm SMD Edge communication channel nodes
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
|
||||||
|
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.
|
||||||
|
See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
const: "smd-edge"
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
label:
|
||||||
|
description:
|
||||||
|
Name of the edge, used for debugging and identification purposes. The
|
||||||
|
node name will be used if this is not present.
|
||||||
|
|
||||||
|
mboxes:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
Reference to the mailbox representing the outgoing doorbell in APCS for
|
||||||
|
this client.
|
||||||
|
|
||||||
|
qcom,ipc:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
items:
|
||||||
|
- items:
|
||||||
|
- description: phandle to a syscon node representing the APCS registers
|
||||||
|
- description: u32 representing offset to the register within the syscon
|
||||||
|
- description: u32 representing the ipc bit within the register
|
||||||
|
description:
|
||||||
|
Three entries specifying the outgoing ipc bit used for signaling the
|
||||||
|
remote processor.
|
||||||
|
|
||||||
|
qcom,smd-edge:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
The identifier of the remote processor in the smd channel allocation
|
||||||
|
table.
|
||||||
|
|
||||||
|
qcom,remote-pid:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
The identifier for the remote processor as known by the rest of the
|
||||||
|
system.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- interrupts
|
||||||
|
- qcom,smd-edge
|
||||||
|
|
||||||
|
oneOf:
|
||||||
|
- required:
|
||||||
|
- mboxes
|
||||||
|
- required:
|
||||||
|
- qcom,ipc
|
||||||
|
|
||||||
|
additionalProperties: true
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/mailbox/qcom-ipcc.h>
|
||||||
|
|
||||||
|
remoteproc {
|
||||||
|
// ...
|
||||||
|
|
||||||
|
smd-edge {
|
||||||
|
interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
|
||||||
|
qcom,ipc = <&apcs 8 8>;
|
||||||
|
qcom,smd-edge = <1>;
|
||||||
|
};
|
||||||
|
};
|
@ -28,44 +28,6 @@ patternProperties:
|
|||||||
edges are not important.
|
edges are not important.
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
interrupts:
|
|
||||||
maxItems: 1
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
mboxes:
|
|
||||||
maxItems: 1
|
|
||||||
description:
|
|
||||||
Reference to the mailbox representing the outgoing doorbell in APCS for
|
|
||||||
this client.
|
|
||||||
|
|
||||||
qcom,ipc:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
||||||
items:
|
|
||||||
- items:
|
|
||||||
- description: phandle to a syscon node representing the APCS registers
|
|
||||||
- description: u32 representing offset to the register within the syscon
|
|
||||||
- description: u32 representing the ipc bit within the register
|
|
||||||
description:
|
|
||||||
Three entries specifying the outgoing ipc bit used for signaling the
|
|
||||||
remote processor.
|
|
||||||
|
|
||||||
qcom,smd-edge:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
|
||||||
description:
|
|
||||||
The identifier of the remote processor in the smd channel allocation
|
|
||||||
table.
|
|
||||||
|
|
||||||
qcom,remote-pid:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
|
||||||
description:
|
|
||||||
The identifier for the remote processor as known by the rest of the
|
|
||||||
system.
|
|
||||||
|
|
||||||
rpm-requests:
|
rpm-requests:
|
||||||
type: object
|
type: object
|
||||||
description:
|
description:
|
||||||
@ -89,17 +51,7 @@ patternProperties:
|
|||||||
|
|
||||||
additionalProperties: true
|
additionalProperties: true
|
||||||
|
|
||||||
required:
|
unevaluatedProperties: false
|
||||||
- interrupts
|
|
||||||
- qcom,smd-edge
|
|
||||||
|
|
||||||
oneOf:
|
|
||||||
- required:
|
|
||||||
- mboxes
|
|
||||||
- required:
|
|
||||||
- qcom,ipc
|
|
||||||
|
|
||||||
additionalProperties: false
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
Loading…
Reference in New Issue
Block a user