This series adds support for SoCCP on Qualcomm Glymur/Mahua platforms. It introduces the needs_tzmem flag to force tzmem usage and subsequent SHM bridge setup required when Linux runs at EL2 in the absence of Gunyah. We've been currently relying on the iommu property being present for this, but for remoteprocs that are already running like SoCCP the memory mappings are already in place, and any attempt to recreate them would result in smmu faults and a non-functional remoteproc. This change is required for SSR to work on SoCCP on Glymur.
For SoCCP SSR verification we've raised two PR's in diag upstream: https://github.com/linux-msm/diag/pull/23 https://github.com/linux-msm/diag/pull/24 SoCCP SSR on Glymur can be triggered using the following commands using diag: error fatal: send_data 75 37 03 152 00 wdog bite: send_data 75 37 03 152 01 Software exception (Null pointer): send_data 75 37 03 152 02 software exception (div by 0): send_data 75 37 03 152 03 / # send_data 75 37 03 152 03 75 37 3 152 / # qcom_q6v5_pas d00000.remoteproc: fatal error received: EX:idle:0x0xa90cc050:PC=0xa8eb5d8c:LR=0xa8fe5b3a:CAUSE=0xb:REASON=0x4 remoteproc remoteproc0: crash detected in soccp: type fatal error qcom_q6v5_pas d00000.remoteproc: Handover signaled, but it already happened remoteproc remoteproc0: handling crash #4 in soccp remoteproc remoteproc0: recovering soccp ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: failed to send UCSI write request: -104 remoteproc remoteproc0: stopped remote processor soccp usb 3-1: USB disconnect, device number 3 usb 5-1: USB disconnect, device number 2 r8152-cfgselector 5-1.3: USB disconnect, device number 3 qcom_q6v5_pas d00000.remoteproc: Handover signaled, but it already happened debugfs: 'pmic_glink.ucsi.0' already exists in 'ucsi' remoteproc remoteproc0: remote processor soccp is now up Signed-off-by: Ananthu C V <[email protected]> --- Changes in v4: - dropped soccp from remoteproc node name - dropped status=disabled - added a new needs_tzmem flag in qcom_q6v5_pas platform driver, and added glymur_soccp_resource which uses the flag - dropped qcom,kaanapali-soccp-pas compatible, due to the kaanapali_soccp_resource not having the needs_tzmem flag enabled - fixed memory region mappings for glymur soccp - Link to v3: https://lore.kernel.org/lkml/[email protected] Changes in v3: - dropped smp2p nodes which are already merged, and adsp and cdsp nodes - updated interrupts-extended (dropped <&soccp_smp2p_in 10 IRQ_TYPE_EDGE_RISING>), interrupt-names (dropped wake-ack), smem-states (dropped <&soccp_smp2p_out 10>, <&soccp_smp2p_out 9>), and smem-state-names (dropped wakeup, sleep) - fixed IPCC names, GLYMUR_MPROC_SOCCP -> IPCC_MPROC_SOCCP - Link to v2: https://lore.kernel.org/lkml/20250925-v3_glymur_introduction-v2-24-8e1533a58...@oss.qualcomm.com/ Changes in v2: - None related to soccp - Link to v1: https://lore.kernel.org/r/20250925-v3_glymur_introduction-v1-0-5413a8511...@oss.qualcomm.com --- Ananthu C V (2): remoteproc: qcom: pas: add needs_tzmem flag to force shmbridge creation arm64: dts: qcom: fix SoCCP memory mappings for Glymur Sibi Sankar (1): arm64: dts: qcom: add SoCCP DT node for Glymur arch/arm64/boot/dts/qcom/glymur-crd.dtsi | 7 +++++ arch/arm64/boot/dts/qcom/glymur.dtsi | 52 +++++++++++++++++++++++++++++--- drivers/remoteproc/qcom_q6v5_pas.c | 24 +++++++++++++-- 3 files changed, 77 insertions(+), 6 deletions(-) --- base-commit: 6eb8711ece2ce27e52e327a5b7a628ed39b97f45 change-id: 20260702-glymur-soccp-8f50d947f601 Best regards, -- Ananthu C V <[email protected]>

