* [PATCH] arm64: dts: qcom: sc8180x: Add SLPI remoteproc node
@ 2026-11-04 7:40 Val Packett
2026-11-04 7:51 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Val Packett @ 2026-11-04 7:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Val Packett, linux-arm-msm, devicetree, linux-kernel
The Sensors Low-Power Island remoteproc hosts the Sensor Hub firmware
that Linux userspace (hexagonrpcd) can talk to.
Describe the SLPI node for the SC8180X SoC.
Signed-off-by: Val Packett <val@packett.cool>
---
Forgor about committing and sending this while submitting the Surface
Pro X series v1..
Since this is independent and simple while that series is waiting for
comments about the multi-PCIe situation, let's get this in first?
Thanks,
~val
---
arch/arm64/boot/dts/qcom/sc8180x.dtsi | 61 +++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc8180x.dtsi b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
index a85e3211958d..18f03aa62d85 100644
--- a/arch/arm64/boot/dts/qcom/sc8180x.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
@@ -2259,6 +2259,67 @@ tcsr_mutex: hwlock@1f40000 {
#hwlock-cells = <1>;
};
+ remoteproc_slpi: remoteproc@2400000 {
+ compatible = "qcom,sc8180x-slpi-pas", "qcom,sm8150-slpi-pas";
+ reg = <0x0 0x02400000 0x0 0x4040>;
+
+ interrupts-extended = <&intc GIC_SPI 494 IRQ_TYPE_EDGE_RISING>,
+ <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog", "fatal", "ready",
+ "handover", "stop-ack";
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ power-domains = <&rpmhpd SC8180X_LCX>,
+ <&rpmhpd SC8180X_LMX>;
+ power-domain-names = "lcx", "lmx";
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&slpi_smp2p_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>;
+ label = "dsps";
+ qcom,remote-pid = <3>;
+ mboxes = <&apss_shared 24>;
+
+ fastrpc {
+ compatible = "qcom,fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "sdsp";
+ qcom,non-secure-domain;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu 0x05a1 0x0>;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu 0x05a2 0x0>;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu 0x05a3 0x0>;
+ };
+ };
+ };
+ };
+
gpu: gpu@2c00000 {
compatible = "qcom,adreno-680.1", "qcom,adreno";
--
2.56.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8180x: Add SLPI remoteproc node
2026-11-04 7:40 [PATCH] arm64: dts: qcom: sc8180x: Add SLPI remoteproc node Val Packett
@ 2026-11-04 7:51 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-11-04 7:51 UTC (permalink / raw)
To: Val Packett; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] arm64: dts: qcom: sc8180x: remoteproc_slpi compatible violates DT binding
--
commit 0d379b187776a8ea6d877b7ca4de413f6a03989d
Author: Val Packett <val@packett.cool>
arm64: dts: qcom: sc8180x: Add SLPI remoteproc node
This commit adds the Sensors Low-Power Island (SLPI) remoteproc device tree
node to sc8180x.dtsi.
> diff --git a/arch/arm64/boot/dts/qcom/sc8180x.dtsi b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> index a85e3211958d1..18f03aa62d85e 100644
> --- a/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> @@ -2259,6 +2259,67 @@ tcsr_mutex: hwlock@1f40000 {
> #hwlock-cells = <1>;
> };
>
> + remoteproc_slpi: remoteproc@2400000 {
> + compatible = "qcom,sc8180x-slpi-pas", "qcom,sm8150-slpi-pas";
[Severity: Low]
Does this two-entry compatible property pass dtbs_check against
Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml?
In Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml,
qcom,sc8180x-slpi-pas is only permitted as a single standalone enum entry
under properties:compatible:
- enum:
- qcom,sc8180x-adsp-pas
- qcom,sc8180x-cdsp-pas
- qcom,sc8180x-slpi-pas
Additionally, the allOf conditional block in qcom,sm8150-pas.yaml that selects
the lcx and lmx power-domains checks compatible with enum rather than
contains, which does not match a two-item compatible list:
- if:
properties:
compatible:
enum:
- qcom,sc8180x-slpi-pas
- qcom,sm8150-slpi-pas
Looking at qcom_pas_of_match in drivers/remoteproc/qcom_q6v5_pas.c, the other
SC8180X remoteproc nodes use standalone compatible strings, while
qcom,sc8180x-slpi-pas is not yet in the match table:
{ .compatible = "qcom,sc8180x-adsp-pas", .data = &sm8150_adsp_resource },
{ .compatible = "qcom,sc8180x-cdsp-pas", .data = &sm8150_cdsp_resource },
{ .compatible = "qcom,sc8180x-mpss-pas", .data = &sc8180x_mpss_resource },
Should Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml be
updated to allow qcom,sm8150-slpi-pas as a fallback for qcom,sc8180x-slpi-pas
(and use contains in the power-domains conditional), or should remoteproc_slpi
use a single compatible string with qcom,sc8180x-slpi-pas added to
qcom_pas_of_match?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261104074200.123842-1-val@packett.cool?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-04 7:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 7:40 [PATCH] arm64: dts: qcom: sc8180x: Add SLPI remoteproc node Val Packett
2026-11-04 7:51 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox