2023-04-06 17:37:03

by Dylan Van Assche

[permalink] [raw]
Subject: [PATCH v5 0/5] arm64: dts: qcom: sdm845: add SLPI remoteproc

* About *

The Qualcomm SDM845 SoC has a separate SLPI (Sensor Low Power Island)
DSP for sensors connected to the SoC which is responsible for exposing
sensors to userspace, power saving, and other features.
While sensors are connected to GPIOs of the SoC, they cannot be used
because the hypervisor blocks direct access to the sensors, thus the
DSP must be used to access any sensor on this SoC. The SLPI DSP uses a
GLink edge (dsps) to communicate with the host and has a FastRPC interface
to load files from the host filesystem such as sensor configuration files.
The FastRPC interface does not use regular FastRPC Compute Banks
but instead uses an allocated CMA region through which communication happens.

* Changes *

This patchseries completes support for the SLPI in the Qualcomm SDM845 SoC
by adding the SLPI to the SDM845 DTS and enable it for 2 hardware devices:
- Oneplus 6
- SHIFTPHONES SHIFT6mq

* Related patches *

1. Remoteproc changes (v3) to support the SLPI DSP in SDM845:
https://lore.kernel.org/linux-remoteproc/[email protected]
2. FastRPC changes (v2) to support the SLPI DSP in SDM845:
https://lore.kernel.org/linux-arm-msm/[email protected]/

This serie does not depend on any serie, but all of them are necessary
to enable the feature in the end.

* Changelog *

Changes in v2:

- Removed double blank lines
- Enforce alphabetically order for 'slpi_pas'
- Reordered 'slpi_pas' properties
- Fixed FastRPC syntax
- Dropped qcom,assign-all-mem property as this is not necessary anymore

Changes in v3:

- Dropped FastRPC dt-bindings change, unnecessary to relax the bindings
- Add reg property to compute-cb for the SLPI on SDM845

Changes in v4:
- Moved SLPI node in sdm845.dtsi to honor sorting by unit address
- Reordered FastRPC memory nodes to have a reverse-Christmas-tree layout
- Use 0x0 instead of 0 for memory addresses
- Add SSC_Q6 (0x5) and ADSP_Q6 (0x6) VMIDs to qcom,scm.h
- Replace magic VMID values by the qcom,scm.h in sdm845.dtsi
- Added Reviewed-by tags for patches:
- 'dts: arm64: qcom: sdm845-oneplus: enable SLPI'
- 'dts: arm64: qcom: sdm845-shift-axolotl: enable SLPI'
as these are unchanged in v4.

Changes in v5:
- Squashed patch 'dts: qcom: arm64: qcom: sdm845: use defines for VMIDs'
into 'dts: arm64: qcom: sdm845: add SLPI FastRPC support'.
- Reordered patches do make sure we first define the additional VMIDs
in dt-bindings before using them.
- Added Acked-by for
'dt-bindings: firmware: qcom: scm: add SSC_Q6 and ADSP_Q6 VMIDs'.
- Fix order of 'arm64' and 'dts' in patch subjects to match tree.

Kind regards,
Dylan Van Assche

Dylan Van Assche (5):
arm64: dts: qcom: sdm845: add SLPI remoteproc
dt-bindings: firmware: qcom: scm: add SSC_Q6 and ADSP_Q6 VMIDs
arm64: dts: qcom: sdm845: add SLPI FastRPC support
arm64: dts: qcom: sdm845-oneplus: enable SLPI
arm64: dts: qcom: sdm845-shift-axolotl: enable SLPI

.../boot/dts/qcom/sdm845-oneplus-common.dtsi | 5 ++
.../boot/dts/qcom/sdm845-shift-axolotl.dts | 5 ++
arch/arm64/boot/dts/qcom/sdm845.dtsi | 62 +++++++++++++++++++
include/dt-bindings/firmware/qcom,scm.h | 2 +
4 files changed, 74 insertions(+)

--
2.39.2


2023-04-06 17:37:25

by Dylan Van Assche

[permalink] [raw]
Subject: [PATCH v5 5/5] arm64: dts: qcom: sdm845-shift-axolotl: enable SLPI

Enable the SLPI DSP on the SHIFTPHONES SHIFT6mq phone with a
Qualcomm SDM845 SoC.

Signed-off-by: Dylan Van Assche <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index b54e304abf71..bd9571a258cf 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
@@ -572,6 +572,11 @@ &qupv3_id_1 {
status = "okay";
};

+&slpi_pas {
+ firmware-name = "qcom/sdm845/axolotl/slpi.mbn";
+ status = "okay";
+};
+
&tlmm {
gpio-reserved-ranges = <0 4>, <81 4>;

--
2.39.2

2023-04-07 18:41:18

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v5 0/5] arm64: dts: qcom: sdm845: add SLPI remoteproc

On Thu, 6 Apr 2023 19:31:43 +0200, Dylan Van Assche wrote:
> * About *
>
> The Qualcomm SDM845 SoC has a separate SLPI (Sensor Low Power Island)
> DSP for sensors connected to the SoC which is responsible for exposing
> sensors to userspace, power saving, and other features.
> While sensors are connected to GPIOs of the SoC, they cannot be used
> because the hypervisor blocks direct access to the sensors, thus the
> DSP must be used to access any sensor on this SoC. The SLPI DSP uses a
> GLink edge (dsps) to communicate with the host and has a FastRPC interface
> to load files from the host filesystem such as sensor configuration files.
> The FastRPC interface does not use regular FastRPC Compute Banks
> but instead uses an allocated CMA region through which communication happens.
>
> [...]

Applied, thanks!

[1/5] arm64: dts: qcom: sdm845: add SLPI remoteproc
commit: 74588aada59a9870139ef4c39d640939dcc08381
[2/5] dt-bindings: firmware: qcom: scm: add SSC_Q6 and ADSP_Q6 VMIDs
commit: 77c7a41e052502f0d8827c63eddae6dd5d717b20
[3/5] arm64: dts: qcom: sdm845: add SLPI FastRPC support
commit: 755b5e094feb974f65cc51371c3482042d5fbadc
[4/5] arm64: dts: qcom: sdm845-oneplus: enable SLPI
commit: c3998dc09f0e70c1e359b819b1b5d0c482f30500
[5/5] arm64: dts: qcom: sdm845-shift-axolotl: enable SLPI
commit: 48bd05786ec72b991430d5493743293df5da56a8

Best regards,
--
Bjorn Andersson <[email protected]>