* [PATCH v5 1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation
2026-07-07 10:12 [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Ananthu C V
@ 2026-07-07 10:12 ` Ananthu C V
2026-07-09 7:11 ` Mukesh Ojha
2026-07-07 10:12 ` [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur Ananthu C V
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Ananthu C V @ 2026-07-07 10:12 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Ananthu C V
SHM bridge creation is required to enable memory protection for both
remoteproc metadata and its memory region on Qualcomm SoCs running
non-Gunyah based Hypervisors. We currently rely on the iommu property
being present in the remoteproc nodes to detect this.
However, this doesn't cover for cases where the remoteproc does a late
attach, like SoCCP, and for remoteprocs like OOBM SS (Out of Band
Management Sub-system) that doesn't have an iommu in front of it. In the
former case, any attempt to create new mappings would fail with EEXIST
as they are already setup by the bootloader when the SoCCP is brought
out of reset, and unmapping them to create fresh mappings leads to faults
since SoCCP could have active transactions on the bus. In the latter case,
absence of iommu will be caught by the has_iommu flag, and SHM bridge
creation will be skipped.
Fix this by introducing a needs_tzmem flag which would cover for the
above edge cases by serving as an alternate trigger to the PAS helpers
to ensure that SHM bridge is established.
Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
---
drivers/remoteproc/qcom_q6v5_pas.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index 60a4337d9e51..cd7273fbcf98 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -61,6 +61,7 @@ struct qcom_pas_data {
bool region_assign_shared;
int region_assign_vmid;
bool early_boot;
+ bool needs_tzmem;
};
struct qcom_pas {
@@ -914,8 +915,8 @@ static int qcom_pas_probe(struct platform_device *pdev)
goto remove_ssr_sysmon;
}
- pas->pas_ctx->use_tzmem = rproc->has_iommu;
- pas->dtb_pas_ctx->use_tzmem = rproc->has_iommu;
+ pas->pas_ctx->use_tzmem = desc->needs_tzmem || rproc->has_iommu;
+ pas->dtb_pas_ctx->use_tzmem = desc->needs_tzmem || rproc->has_iommu;
if (desc->early_boot)
pas->rproc->state = RPROC_DETACHED;
@@ -1657,8 +1658,27 @@ static const struct qcom_pas_data kaanapali_soccp_resource = {
.early_boot = true,
};
+static const struct qcom_pas_data glymur_soccp_resource = {
+ .crash_reason_smem = 656,
+ .firmware_name = "soccp.mbn",
+ .dtb_firmware_name = "soccp_dtb.mbn",
+ .pas_id = 51,
+ .dtb_pas_id = 0x41,
+ .proxy_pd_names = (char*[]){
+ "cx",
+ "mx",
+ NULL
+ },
+ .ssr_name = "soccp",
+ .sysmon_name = "soccp",
+ .auto_boot = true,
+ .early_boot = true,
+ .needs_tzmem = true,
+};
+
static const struct of_device_id qcom_pas_of_match[] = {
{ .compatible = "qcom,eliza-adsp-pas", .data = &sm8550_adsp_resource },
+ { .compatible = "qcom,glymur-soccp-pas", .data = &glymur_soccp_resource },
{ .compatible = "qcom,kaanapali-soccp-pas", .data = &kaanapali_soccp_resource },
{ .compatible = "qcom,milos-adsp-pas", .data = &sm8550_adsp_resource },
{ .compatible = "qcom,milos-cdsp-pas", .data = &milos_cdsp_resource },
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation
2026-07-07 10:12 ` [PATCH v5 1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation Ananthu C V
@ 2026-07-09 7:11 ` Mukesh Ojha
0 siblings, 0 replies; 12+ messages in thread
From: Mukesh Ojha @ 2026-07-09 7:11 UTC (permalink / raw)
To: Ananthu C V
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, linux-arm-msm, devicetree,
linux-kernel, linux-remoteproc
On Tue, Jul 07, 2026 at 03:12:44AM -0700, Ananthu C V wrote:
> SHM bridge creation is required to enable memory protection for both
> remoteproc metadata and its memory region on Qualcomm SoCs running
> non-Gunyah based Hypervisors. We currently rely on the iommu property
> being present in the remoteproc nodes to detect this.
>
> However, this doesn't cover for cases where the remoteproc does a late
> attach, like SoCCP, and for remoteprocs like OOBM SS (Out of Band
> Management Sub-system) that doesn't have an iommu in front of it. In the
> former case, any attempt to create new mappings would fail with EEXIST
> as they are already setup by the bootloader when the SoCCP is brought
> out of reset, and unmapping them to create fresh mappings leads to faults
> since SoCCP could have active transactions on the bus. In the latter case,
> absence of iommu will be caught by the has_iommu flag, and SHM bridge
> creation will be skipped.
>
> Fix this by introducing a needs_tzmem flag which would cover for the
> above edge cases by serving as an alternate trigger to the PAS helpers
> to ensure that SHM bridge is established.
>
> Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
> ---
> drivers/remoteproc/qcom_q6v5_pas.c | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index 60a4337d9e51..cd7273fbcf98 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> @@ -61,6 +61,7 @@ struct qcom_pas_data {
> bool region_assign_shared;
> int region_assign_vmid;
> bool early_boot;
> + bool needs_tzmem;
> };
>
> struct qcom_pas {
> @@ -914,8 +915,8 @@ static int qcom_pas_probe(struct platform_device *pdev)
> goto remove_ssr_sysmon;
> }
>
> - pas->pas_ctx->use_tzmem = rproc->has_iommu;
> - pas->dtb_pas_ctx->use_tzmem = rproc->has_iommu;
> + pas->pas_ctx->use_tzmem = desc->needs_tzmem || rproc->has_iommu;
> + pas->dtb_pas_ctx->use_tzmem = desc->needs_tzmem || rproc->has_iommu;
>
> if (desc->early_boot)
> pas->rproc->state = RPROC_DETACHED;
> @@ -1657,8 +1658,27 @@ static const struct qcom_pas_data kaanapali_soccp_resource = {
> .early_boot = true,
> };
>
> +static const struct qcom_pas_data glymur_soccp_resource = {
> + .crash_reason_smem = 656,
> + .firmware_name = "soccp.mbn",
> + .dtb_firmware_name = "soccp_dtb.mbn",
> + .pas_id = 51,
> + .dtb_pas_id = 0x41,
> + .proxy_pd_names = (char*[]){
> + "cx",
> + "mx",
> + NULL
> + },
> + .ssr_name = "soccp",
> + .sysmon_name = "soccp",
> + .auto_boot = true,
> + .early_boot = true,
> + .needs_tzmem = true,
> +};
> +
> static const struct of_device_id qcom_pas_of_match[] = {
> { .compatible = "qcom,eliza-adsp-pas", .data = &sm8550_adsp_resource },
> + { .compatible = "qcom,glymur-soccp-pas", .data = &glymur_soccp_resource },
> { .compatible = "qcom,kaanapali-soccp-pas", .data = &kaanapali_soccp_resource },
> { .compatible = "qcom,milos-adsp-pas", .data = &sm8550_adsp_resource },
> { .compatible = "qcom,milos-cdsp-pas", .data = &milos_cdsp_resource },
>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> --
> 2.43.0
>
--
-Mukesh Ojha
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur
2026-07-07 10:12 [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Ananthu C V
2026-07-07 10:12 ` [PATCH v5 1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation Ananthu C V
@ 2026-07-07 10:12 ` Ananthu C V
2026-07-09 7:14 ` Mukesh Ojha
2026-07-07 10:12 ` [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node " Ananthu C V
2026-07-10 18:07 ` (subset) [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Bjorn Andersson
3 siblings, 1 reply; 12+ messages in thread
From: Ananthu C V @ 2026-07-07 10:12 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Ananthu C V
The currently listed SoCCP and SoCCP DTB reserved memory regions
don't align with the memory requested by the SoCCP Firmware. Fix
this by updating the SoCCP/SoCCP DTB memory regions to reflect the
memory region requirements of the SoCCP firmware, as described in
the Glymur v21 memory map release.
Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 20b49af7298e..9ec7c256b80a 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -602,13 +602,13 @@ spss_region_mem: spss@88a00000 {
no-map;
};
- soccpdtb_mem: soccpdtb@892e0000 {
- reg = <0x0 0x892e0000 0x0 0x20000>;
+ soccp_mem: soccp@88e00000 {
+ reg = <0x0 0x88e00000 0x0 0x400000>;
no-map;
};
- soccp_mem: soccp@89300000 {
- reg = <0x0 0x89300000 0x0 0x400000>;
+ soccpdtb_mem: soccpdtb@89200000 {
+ reg = <0x0 0x89200000 0x0 0x20000>;
no-map;
};
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur
2026-07-07 10:12 ` [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur Ananthu C V
@ 2026-07-09 7:14 ` Mukesh Ojha
2026-07-09 12:01 ` Ananthu C V
0 siblings, 1 reply; 12+ messages in thread
From: Mukesh Ojha @ 2026-07-09 7:14 UTC (permalink / raw)
To: Ananthu C V
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, linux-arm-msm, devicetree,
linux-kernel, linux-remoteproc
On Tue, Jul 07, 2026 at 03:12:45AM -0700, Ananthu C V wrote:
> The currently listed SoCCP and SoCCP DTB reserved memory regions
> don't align with the memory requested by the SoCCP Firmware. Fix
> this by updating the SoCCP/SoCCP DTB memory regions to reflect the
> memory region requirements of the SoCCP firmware, as described in
> the Glymur v21 memory map release.
>
> Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
It should have fixes tag ?
> ---
> arch/arm64/boot/dts/qcom/glymur.dtsi | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> index 20b49af7298e..9ec7c256b80a 100644
> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> @@ -602,13 +602,13 @@ spss_region_mem: spss@88a00000 {
> no-map;
> };
>
> - soccpdtb_mem: soccpdtb@892e0000 {
> - reg = <0x0 0x892e0000 0x0 0x20000>;
> + soccp_mem: soccp@88e00000 {
> + reg = <0x0 0x88e00000 0x0 0x400000>;
> no-map;
> };
>
> - soccp_mem: soccp@89300000 {
> - reg = <0x0 0x89300000 0x0 0x400000>;
> + soccpdtb_mem: soccpdtb@89200000 {
> + reg = <0x0 0x89200000 0x0 0x20000>;
> no-map;
> };
>
>
> --
> 2.43.0
>
--
-Mukesh Ojha
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur
2026-07-09 7:14 ` Mukesh Ojha
@ 2026-07-09 12:01 ` Ananthu C V
0 siblings, 0 replies; 12+ messages in thread
From: Ananthu C V @ 2026-07-09 12:01 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, linux-arm-msm, devicetree,
linux-kernel, linux-remoteproc
Hi Mukesh,
On Thu, Jul 09, 2026 at 12:44:07PM +0530, Mukesh Ojha wrote:
> On Tue, Jul 07, 2026 at 03:12:45AM -0700, Ananthu C V wrote:
> > The currently listed SoCCP and SoCCP DTB reserved memory regions
> > don't align with the memory requested by the SoCCP Firmware. Fix
> > this by updating the SoCCP/SoCCP DTB memory regions to reflect the
> > memory region requirements of the SoCCP firmware, as described in
> > the Glymur v21 memory map release.
> >
> > Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
>
>
> It should have fixes tag ?
I did consider this, but since neither reserved regions had uesrs, I
thought this might not be applicable.
> > ---
> > arch/arm64/boot/dts/qcom/glymur.dtsi | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > index 20b49af7298e..9ec7c256b80a 100644
> > --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > @@ -602,13 +602,13 @@ spss_region_mem: spss@88a00000 {
> > no-map;
> > };
> >
> > - soccpdtb_mem: soccpdtb@892e0000 {
> > - reg = <0x0 0x892e0000 0x0 0x20000>;
> > + soccp_mem: soccp@88e00000 {
> > + reg = <0x0 0x88e00000 0x0 0x400000>;
> > no-map;
> > };
> >
> > - soccp_mem: soccp@89300000 {
> > - reg = <0x0 0x89300000 0x0 0x400000>;
> > + soccpdtb_mem: soccpdtb@89200000 {
> > + reg = <0x0 0x89200000 0x0 0x20000>;
> > no-map;
> > };
> >
> >
> > --
> > 2.43.0
> >
>
> --
> -Mukesh Ojha
Best,
Ananthu
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur
2026-07-07 10:12 [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Ananthu C V
2026-07-07 10:12 ` [PATCH v5 1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation Ananthu C V
2026-07-07 10:12 ` [PATCH v5 2/3] arm64: dts: qcom: fix SoCCP memory mappings for Glymur Ananthu C V
@ 2026-07-07 10:12 ` Ananthu C V
2026-07-07 10:25 ` sashiko-bot
2026-07-10 18:07 ` (subset) [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Bjorn Andersson
3 siblings, 1 reply; 12+ messages in thread
From: Ananthu C V @ 2026-07-07 10:12 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Ananthu C V, Sibi Sankar
From: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
The SoC Control Processor (SoCCP) is a small RISC-V MCU that controls
USB Type-C, battery charging, and various other functions on Qualcomm SoCs.
Add the nodes required to enable SoCCP on Glymur/Mahua SoCs.
Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
Co-developed-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
Signed-off-by: Ananthu C V <ananthu.cv@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur-crd.dtsi | 7 +++++
arch/arm64/boot/dts/qcom/glymur.dtsi | 44 ++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
index e784b538f42e..328eb513140f 100644
--- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
@@ -585,6 +585,13 @@ &remoteproc_cdsp {
status = "okay";
};
+&remoteproc_soccp {
+ firmware-name = "qcom/glymur/soccp.mbn",
+ "qcom/glymur/soccp_dtb.mbn";
+
+ status = "okay";
+};
+
&tlmm {
gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
<10 2>, /* OOB UART */
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 9ec7c256b80a..e3dee05de3a3 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -2297,6 +2297,50 @@ &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
};
};
+ remoteproc_soccp: remoteproc@d00000 {
+ compatible = "qcom,glymur-soccp-pas", "qcom,kaanapali-soccp-pas";
+ reg = <0x0 0x00d00000 0x0 0x200000>;
+
+ interrupts-extended = <&intc GIC_SPI 167 IRQ_TYPE_EDGE_RISING>,
+ <&soccp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&soccp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&soccp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&soccp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&soccp_smp2p_in 9 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "pong";
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_MX>;
+ power-domain-names = "cx",
+ "mx";
+
+ memory-region = <&soccp_mem>,
+ <&soccpdtb_mem>;
+
+ qcom,smem-states = <&soccp_smp2p_out 0>,
+ <&soccp_smp2p_out 8>;
+ qcom,smem-state-names = "stop",
+ "ping";
+
+ glink-edge {
+ interrupts-extended = <&ipcc IPCC_MPROC_SOCCP
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc IPCC_MPROC_SOCCP
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <19>;
+ label = "soccp";
+ };
+ };
+
usb_hs_phy: phy@fa0000 {
compatible = "qcom,glymur-m31-eusb2-phy",
"qcom,sm8750-m31-eusb2-phy";
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur
2026-07-07 10:12 ` [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node " Ananthu C V
@ 2026-07-07 10:25 ` sashiko-bot
2026-07-09 7:18 ` Dmitry Baryshkov
2026-07-09 12:11 ` Ananthu C V
0 siblings, 2 replies; 12+ messages in thread
From: sashiko-bot @ 2026-07-07 10:25 UTC (permalink / raw)
To: Ananthu C V; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The 'qcom,glymur-soccp-pas' compatible string incorrectly falls back to 'qcom,kaanapali-soccp-pas', which lacks required TrustZone memory configuration.
- [Medium] The `remoteproc_soccp` node is missing `status = "disabled";` in the base SoC `.dtsi` file.
--
--- Patch [3]: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur ---
commit ba22e521690a1cf89042171dd1def802f653ee49
Author: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
arm64: dts: qcom: add SoCCP DT node for Glymur
This commit adds the device tree nodes required to enable the SoC Control
Processor (SoCCP) on Qualcomm Glymur/Mahua SoCs.
> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
[ ... ]
> + remoteproc_soccp: remoteproc@d00000 {
[Severity: Medium]
Should this remoteproc node include status = "disabled"?
Any board including glymur.dtsi that does not actively use the SoCCP or
provide firmware for it will default to status = "okay". The driver will
attempt to load firmware and boot the remoteproc, potentially causing
spurious driver probe errors and kernel log pollution.
> + compatible = "qcom,glymur-soccp-pas", "qcom,kaanapali-soccp-pas";
[Severity: High]
Is it safe to use "qcom,kaanapali-soccp-pas" as a fallback here?
If an older kernel lacking the Glymur-specific match binds to this node via
the fallback, it will use the kaanapali_soccp_resource which does not set
.needs_tzmem = true.
Since Glymur requires TrustZone memory configuration to prevent faults, the
Kaanapali driver cannot safely run Glymur hardware and may cause a fatal
SMMU or TrustZone panic during remote processor boot.
> + reg = <0x0 0x00d00000 0x0 0x200000>;
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260707-glymur-soccp-v5-0-053993f0c6fe@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur
2026-07-07 10:25 ` sashiko-bot
@ 2026-07-09 7:18 ` Dmitry Baryshkov
2026-07-09 12:15 ` Ananthu C V
2026-07-09 12:11 ` Ananthu C V
1 sibling, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2026-07-09 7:18 UTC (permalink / raw)
To: sashiko-reviews; +Cc: Ananthu C V, conor+dt, devicetree, robh
On Tue, Jul 07, 2026 at 10:25:35AM +0000, sashiko-bot@kernel.org wrote:
>
> > + compatible = "qcom,glymur-soccp-pas", "qcom,kaanapali-soccp-pas";
>
> [Severity: High]
> Is it safe to use "qcom,kaanapali-soccp-pas" as a fallback here?
It doesn't. Please fix DT bindings.
>
> If an older kernel lacking the Glymur-specific match binds to this node via
> the fallback, it will use the kaanapali_soccp_resource which does not set
> .needs_tzmem = true.
>
> Since Glymur requires TrustZone memory configuration to prevent faults, the
> Kaanapali driver cannot safely run Glymur hardware and may cause a fatal
> SMMU or TrustZone panic during remote processor boot.
>
> > + reg = <0x0 0x00d00000 0x0 0x200000>;
>
> [ ... ]
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260707-glymur-soccp-v5-0-053993f0c6fe@oss.qualcomm.com?part=3
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur
2026-07-09 7:18 ` Dmitry Baryshkov
@ 2026-07-09 12:15 ` Ananthu C V
0 siblings, 0 replies; 12+ messages in thread
From: Ananthu C V @ 2026-07-09 12:15 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: sashiko-reviews, conor+dt, devicetree, robh
On Thu, Jul 09, 2026 at 10:18:03AM +0300, Dmitry Baryshkov wrote:
> On Tue, Jul 07, 2026 at 10:25:35AM +0000, sashiko-bot@kernel.org wrote:
> >
>
> > > + compatible = "qcom,glymur-soccp-pas", "qcom,kaanapali-soccp-pas";
> >
> > [Severity: High]
> > Is it safe to use "qcom,kaanapali-soccp-pas" as a fallback here?
>
> It doesn't. Please fix DT bindings.
We assumed breaking the bindings wasn't an option, but given everything can land
in the same cycle, maybe it should be fine. We'll fix this in the next re-spin.
> >
> > If an older kernel lacking the Glymur-specific match binds to this node via
> > the fallback, it will use the kaanapali_soccp_resource which does not set
> > .needs_tzmem = true.
> >
> > Since Glymur requires TrustZone memory configuration to prevent faults, the
> > Kaanapali driver cannot safely run Glymur hardware and may cause a fatal
> > SMMU or TrustZone panic during remote processor boot.
> >
> > > + reg = <0x0 0x00d00000 0x0 0x200000>;
> >
> > [ ... ]
> >
> > --
> > Sashiko AI review · https://sashiko.dev/#/patchset/20260707-glymur-soccp-v5-0-053993f0c6fe@oss.qualcomm.com?part=3
>
> --
> With best wishes
> Dmitry
Thanks for the review.
Best,
Ananthu
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur
2026-07-07 10:25 ` sashiko-bot
2026-07-09 7:18 ` Dmitry Baryshkov
@ 2026-07-09 12:11 ` Ananthu C V
1 sibling, 0 replies; 12+ messages in thread
From: Ananthu C V @ 2026-07-09 12:11 UTC (permalink / raw)
To: sashiko-reviews; +Cc: conor+dt, devicetree, robh
On Tue, Jul 07, 2026 at 10:25:35AM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
> - [High] The 'qcom,glymur-soccp-pas' compatible string incorrectly falls back to 'qcom,kaanapali-soccp-pas', which lacks required TrustZone memory configuration.
> - [Medium] The `remoteproc_soccp` node is missing `status = "disabled";` in the base SoC `.dtsi` file.
> --
>
> --- Patch [3]: [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node for Glymur ---
> commit ba22e521690a1cf89042171dd1def802f653ee49
> Author: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
>
> arm64: dts: qcom: add SoCCP DT node for Glymur
>
> This commit adds the device tree nodes required to enable the SoC Control
> Processor (SoCCP) on Qualcomm Glymur/Mahua SoCs.
>
> > diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
>
> [ ... ]
>
> > + remoteproc_soccp: remoteproc@d00000 {
>
> [Severity: Medium]
> Should this remoteproc node include status = "disabled"?
status = "disabled" was dropped as per suggestion from Konrad in v3.
> Any board including glymur.dtsi that does not actively use the SoCCP or
> provide firmware for it will default to status = "okay". The driver will
> attempt to load firmware and boot the remoteproc, potentially causing
> spurious driver probe errors and kernel log pollution.
>
> > + compatible = "qcom,glymur-soccp-pas", "qcom,kaanapali-soccp-pas";
>
> [Severity: High]
> Is it safe to use "qcom,kaanapali-soccp-pas" as a fallback here?
>
> If an older kernel lacking the Glymur-specific match binds to this node via
> the fallback, it will use the kaanapali_soccp_resource which does not set
> .needs_tzmem = true.
>
> Since Glymur requires TrustZone memory configuration to prevent faults, the
> Kaanapali driver cannot safely run Glymur hardware and may cause a fatal
> SMMU or TrustZone panic during remote processor boot.
>
> > + reg = <0x0 0x00d00000 0x0 0x200000>;
If the binding falls back to qcom,kaanapali-soccp-pas, SoCCP SSR will be broken,
but the other concerns are not applicable. And as per the current bindings, not
adding this fallback will break dtbs_check. We will address this problem in the
next re-spin.
>
> [ ... ]
>
> --g
> Sashiko AI review · https://sashiko.dev/#/patchset/20260707-glymur-soccp-v5-0-053993f0c6fe@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: (subset) [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT
2026-07-07 10:12 [PATCH v5 0/3] Add remoteproc PAS loader for SoCCP on Glymur DT Ananthu C V
` (2 preceding siblings ...)
2026-07-07 10:12 ` [PATCH v5 3/3] arm64: dts: qcom: add SoCCP DT node " Ananthu C V
@ 2026-07-10 18:07 ` Bjorn Andersson
3 siblings, 0 replies; 12+ messages in thread
From: Bjorn Andersson @ 2026-07-10 18:07 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Mathieu Poirier, Ananthu C V
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Sibi Sankar
On Tue, 07 Jul 2026 03:12:43 -0700, Ananthu C V wrote:
> The SoC Control Processor (SoCCP) is a small RISC-V MCU that controls
> USB Type-C, battery charging and various other functions on Qualcomm SoCs.
> This series add the nodes required to enable SoCCP on Glymur/Mahua SoCs.
>
> It also introduces the needs_tzmem flag which would cover for certain edge
> cases by serving as an alternate trigger to the PAS helpers to ensure that
> SHM bridge is established on SoCs running non-Gunyah based Hypervisors. This
> change is required for SSR to work on SoCCP on Glymur.
>
> [...]
Applied, thanks!
[1/3] remoteproc: qcom: pas: add needs_tzmem flag to trigger shmbridge creation
commit: 9921555b96532137df16df5bd3badef2e8caabf3
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 12+ messages in thread