Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Krzysztof Kozlowski and committed by
Rob Herring
547bed81 6dae25e4

+34 -27
+33 -1
Documentation/devicetree/bindings/remoteproc/qcom,smd-edge.yaml
··· 13 13 Qualcomm SMD subnode represents a remote subsystem or a remote processor of 14 14 some sort - or in SMD language an "edge". The name of the edges are not 15 15 important. 16 + 17 + In turn, subnodes of the "edges" represent devices tied to SMD channels on 18 + that "edge". The names of the devices are not important. The properties of 19 + these nodes are defined by the individual bindings for the SMD devices. 16 20 See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml 17 21 18 22 properties: 19 23 $nodename: 20 24 const: "smd-edge" 25 + 26 + apr: 27 + $ref: /schemas/soc/qcom/qcom,apr.yaml# 28 + required: 29 + - qcom,smd-channels 30 + description: 31 + Qualcomm APR/GPR (Asynchronous/Generic Packet Router) 32 + 33 + fastrpc: 34 + $ref: /schemas/misc/qcom,fastrpc.yaml# 35 + required: 36 + - qcom,smd-channels 37 + description: 38 + Qualcomm FastRPC 21 39 22 40 interrupts: 23 41 maxItems: 1 ··· 74 56 The identifier for the remote processor as known by the rest of the 75 57 system. 76 58 59 + rpm-requests: 60 + $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml# 61 + required: 62 + - qcom,smd-channels 63 + description: 64 + Qualcomm Resource Power Manager (RPM) over SMD. 65 + 66 + wcnss: 67 + $ref: /schemas/soc/qcom/qcom,wcnss.yaml 68 + required: 69 + - qcom,smd-channels 70 + description: 71 + Qualcomm WCNSS for Bluetooth, WiFi and FM radio. 72 + 77 73 required: 78 74 - interrupts 79 75 - qcom,smd-edge ··· 98 66 - required: 99 67 - qcom,ipc 100 68 101 - additionalProperties: true 69 + additionalProperties: false 102 70 103 71 examples: 104 72 - |
+1 -26
Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
··· 22 22 patternProperties: 23 23 "^smd-edge|rpm$": 24 24 $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 25 + unevaluatedProperties: false 25 26 description: 26 27 Each subnode of the SMD node represents a remote subsystem or a remote 27 28 processor of some sort - or in SMD language an "edge". The name of the 28 29 edges are not important. 29 - 30 - properties: 31 - rpm-requests: 32 - type: object 33 - description: 34 - In turn, subnodes of the "edges" represent devices tied to SMD 35 - channels on that "edge". The names of the devices are not 36 - important. The properties of these nodes are defined by the 37 - individual bindings for the SMD devices. 38 - 39 - properties: 40 - qcom,smd-channels: 41 - $ref: /schemas/types.yaml#/definitions/string-array 42 - minItems: 1 43 - maxItems: 32 44 - description: 45 - A list of channels tied to this device, used for matching the 46 - device to channels. 47 - 48 - required: 49 - - compatible 50 - - qcom,smd-channels 51 - 52 - additionalProperties: true 53 - 54 - unevaluatedProperties: false 55 30 56 31 required: 57 32 - compatible