• Stephan Gerhold's avatar
    dt-bindings: remoteproc: Add Qualcomm RPM processor/subsystem · 9a2c674e
    Stephan Gerhold authored
    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: default avatarStephan Gerhold <stephan@gerhold.net>
    Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230531-rpm-rproc-v3-6-a07dcdefd918@gerhold.netSigned-off-by: default avatarBjorn Andersson <andersson@kernel.org>
    9a2c674e
qcom,rpm-proc.yaml 6.2 KB