dt-bindings: remoteproc: Add Qualcomm RPM processor/subsystem
authorStephan Gerhold <stephan@gerhold.net>
Thu, 15 Jun 2023 16:50:39 +0000 (18:50 +0200)
committerBjorn Andersson <andersson@kernel.org>
Fri, 14 Jul 2023 05:18:56 +0000 (22:18 -0700)
commit9a2c674ee7816ef4d68e10e63f4b23fc4c725cbe
tree8f09337d12a36cc55ba6d1328006fdead88004d1
parentb3a12c2996ce152309a8263c26824a20cea12d1d
dt-bindings: remoteproc: Add Qualcomm RPM processor/subsystem

On Qualcomm platforms, most subsystems (e.g. audio/modem DSP) are
described as remote processors in the device tree, with a dedicated
node where properties and services related to them can be described.

The Resource Power Manager (RPM) is also such a subsystem, with a
remote processor that is running a special firmware. Unfortunately,
the RPM never got a dedicated node representing it properly in the
device tree. Most of the RPM services are described below a top-level
/smd or /rpm-glink node.

However, SMD/GLINK is just one of the communication channels to the RPM
firmware. For example, the MPM interrupt functionality provided by the
RPM does not use SMD/GLINK but writes directly to a special memory
region allocated by the RPM firmware in combination with a mailbox.
Currently there is no good place in the device tree to describe this
functionality. It doesn't belong below SMD/GLINK but it's not an
independent top-level device either.

Introduce a new "qcom,rpm-proc" compatible that allows describing the
RPM as a remote processor/subsystem like all others. The SMD/GLINK node
is moved to a "smd-edge"/"glink-edge" subnode consistent with other
existing bindings. Additional subnodes (e.g. interrupt-controller for
MPM, rpm-master-stats) can be also added there.

Deprecate using the old top-level /smd node since all SMD edges
are now specified as subnodes of the remote processor.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230531-rpm-rproc-v3-6-a07dcdefd918@gerhold.net
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml