[PATCH v2 00/12] Add dedicated device tree node for RPM processor/subsystem

From: Stephan Gerhold
Date: Thu Jun 08 2023 - 03:11:24 EST


The Resource Power Manager (RPM) currently does not have a dedicated
device tree node that represents the remoteproc/subsystem. The
functionality exposed through the SMD/GLINK channels is described in
top-level nodes of the device tree. This makes it hard to group other
functionality provided by the RPM together in the device tree. This
series adds a single top-level remoteproc-rpm/rpm-proc device tree node
that groups all RPM functionality together.

Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx>
---
Changes in v2:
- Pick up review/test tags from Konrad and Krzysztof
- Rename "remoteproc-rpm" -> "remoteproc" everywhere (Krzysztof/Konrad)
- "dt-bindings: remoteproc: Add Qualcomm RPM processor/subsystem"
- Squash with other dt-bindings changes to have atomic refactoring (Krzysztof)
- Add diagrams from discussion as clarification
- "soc: qcom: smem: Add qcom_smem_is_available()"
- Add return documentation in qcom_smem_is_available() (Konrad)
- "soc: qcom: Add RPM processor/subsystem driver"
- Add missing of_node_put(), fix children (Konrad)
- Add depends on RPMSG_QCOM_SMD || RPMSG_QCOM_SMD=n to fix build
error in weird kernel configurations (kernel test robot)
- Link to v1: https://lore.kernel.org/r/20230531-rpm-rproc-v1-0-e0a3b6de1f14@xxxxxxxxxxx

---
Stephan Gerhold (12):
dt-bindings soc: qcom: smd-rpm: Fix sort order
dt-bindings: soc: qcom: smd-rpm: Add MSM8909 to qcom,smd-channels
dt-bindings: soc: qcom: smd-rpm: Add some more compatibles
soc: qcom: smd-rpm: Match rpmsg channel instead of compatible
dt-bindings: remoteproc: Add Qualcomm RPM processor/subsystem
soc: qcom: smem: Add qcom_smem_is_available()
rpmsg: qcom_smd: Use qcom_smem_is_available()
soc: qcom: Add RPM processor/subsystem driver
arm64: dts: qcom: Add rpm-proc node for SMD platforms
arm64: dts: qcom: Add rpm-proc node for GLINK gplatforms
ARM: dts: qcom: Add rpm-proc node for SMD platforms
ARM: dts: qcom: apq8064: Drop redundant /smd node

.../bindings/remoteproc/qcom,rpm-proc.yaml | 171 +++++++++++++++++++++
.../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 23 ++-
.../devicetree/bindings/soc/qcom/qcom,smd.yaml | 7 +
arch/arm/boot/dts/qcom-apq8064.dtsi | 40 -----
arch/arm/boot/dts/qcom-apq8084.dtsi | 6 +-
arch/arm/boot/dts/qcom-msm8226.dtsi | 38 ++---
arch/arm/boot/dts/qcom-msm8974.dtsi | 44 +++---
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 48 +++---
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 28 ++--
arch/arm64/boot/dts/qcom/msm8916.dtsi | 6 +-
arch/arm64/boot/dts/qcom/msm8939.dtsi | 112 +++++++-------
arch/arm64/boot/dts/qcom/msm8953.dtsi | 136 ++++++++--------
arch/arm64/boot/dts/qcom/msm8976.dtsi | 152 +++++++++---------
arch/arm64/boot/dts/qcom/msm8994.dtsi | 99 ++++++------
arch/arm64/boot/dts/qcom/msm8996.dtsi | 113 +++++++-------
arch/arm64/boot/dts/qcom/msm8998.dtsi | 98 ++++++------
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 126 +++++++--------
arch/arm64/boot/dts/qcom/qcs404.dtsi | 152 +++++++++---------
arch/arm64/boot/dts/qcom/sdm630.dtsi | 132 ++++++++--------
arch/arm64/boot/dts/qcom/sm6115.dtsi | 128 +++++++--------
arch/arm64/boot/dts/qcom/sm6125.dtsi | 140 +++++++++--------
arch/arm64/boot/dts/qcom/sm6375.dtsi | 126 +++++++--------
drivers/rpmsg/qcom_smd.c | 10 +-
drivers/soc/qcom/Kconfig | 1 +
drivers/soc/qcom/Makefile | 2 +-
drivers/soc/qcom/rpm-proc.c | 77 ++++++++++
drivers/soc/qcom/smd-rpm.c | 35 ++---
drivers/soc/qcom/smem.c | 11 ++
include/linux/soc/qcom/smem.h | 1 +
29 files changed, 1161 insertions(+), 901 deletions(-)
---
base-commit: 8d5a57ea6a0b1722725170e32e511701ca7c454c
change-id: 20230531-rpm-rproc-758364839cdd

Best regards,
--
Stephan Gerhold <stephan@xxxxxxxxxxx>