Add initial support for SoCCP on Qualcomm Kaanapali platform. SoC Control
Processor (SoCCP) is loaded by bootloader on Kaanapali. PAS loader will
check the state of the subsystem, and set the status "attached". As the
interrupts are redefined differently for Kaanapali SoCCP, list for the
interrupt properties are moved out of pas-common.
When we return fail in the rproc attach op, current remoteproc core cannot
handle it correctly for further recovery/firmware loading, which should be
generic problem shared across all remoteproc drivers that do attach and
not mandatory for normal bring up, a separate series is used for resolving
this:
https://lore.kernel.org/all/20260623-rproc-attach-issue-v3-0-8e24310707ce@oss.qualcomm.com/
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
---
Changes in v7:
- minor coding style fix - Shawn
- check stop-ack and shutdown-ack when doing attach - Stephan
- update "qcom,smem-states" to fix phandle-array check fail - Rob
- Add interrupt list to qcom,shikra-pas.yaml
- pick binding for Maili SoCCP
- Link to v1: https://lore.kernel.org/r/20260519-knp-soccp-v6-0-cf5d0e194b5f@oss.qualcomm.com
Changes in v6:
- remove ping-pong in the attach workflow - Bjorn
- fix handover_irq imbalance - Stephan
- add attaach callback to minidump ops table - Jie
- pick binding for Hawi SoCCP
- Link to v5: https://lore.kernel.org/r/20260409-knp-soccp-v5-0-805a492124da@oss.qualcomm.com
Changes in v5:
- squash "qcom,smem-states" patch with the change changing pas-common
- drop the patch that set recovery_disabled
- remove the 5 seconds timeout in qcom_pas_attach and related logic
- patch rebase and add reviewed-by tag
- Link to v4: https://lore.kernel.org/all/20260310-knp-soccp-v4-0-0a91575e0e7e@oss.qualcomm.com/
Changes in v4:
- drop adsp/cdsp binding that have been applied
- move interrupt list out of pas-common yaml
- add constraint for smem-states in each file
- "wake-ack" interrupt and "wakeup"/"sleep" smem state have been deprecated in design, drop these
- coding style fixup
- add a patch to disable recovery during rproc_add to make sure rproc_report_crash can be called correctly during qcom_pas_attach
- update the handling for irq_get_irqchip_state -ENODEV in attach path
- skip qcom_q6v5_unprepare if the state is RPROC_ATTACHED
- Link to v3: https://lore.kernel.org/all/20251223-knp-remoteproc-v3-0-5b09885c55a5@oss.qualcomm.com
Changes in v3:
- Drop Glymur ADSP/CDSP binding
- Extend the "interrupts" and "interrupt-names" properties in the pas-common
- add missing IPCC_MPROC_SOCCP definition
- fix complie err caused by qcom_q6v5_wcss.c
- code clean up for late attach feature
- call rproc_report_crash() instead of set RPROC_CRASHED state
- fix q6v5.running and q6v5.handover_issued state handling
- if wait_for_completion_timeout return 0, set RPROC_OFFLINE for PAS loader
- Only ping the subsystem if ready_state is set
- Link to v2: https://lore.kernel.org/r/20251029-knp-remoteproc-v2-0-6c81993b52ea@oss.qualcomm.com
Changes in v2:
- Drop MPSS change
- pick Glymur changes from https://lore.kernel.org/linux-arm-msm/20250924183726.509202-1-sibi.sankar@oss.qualcomm.com
- Drop redundant adsp bindings - Dmitry
- Clarify Kaanapali CDSP compatible in commit msg - Krzysztof
- include pas-common.yaml in soccp yaml and extend the common part - Krzysztof
- Clear early_boot flag in the adsp stop callback - Dmitry
- Use .mbn in soccp driver node - Konrad
- Link to v1: https://lore.kernel.org/r/20250924-knp-remoteproc-v1-0-611bf7be8329@oss.qualcomm.com
---
Jingyi Wang (5):
dt-bindings: remoteproc: qcom: cleanup qcom,adsp.yaml
dt-bindings: remoteproc: qcom: move interrupts and interrupt-names list out of pas-common
dt-bindings: remoteproc: qcom: Document pas for SoCCP on Kaanapali and Glymur platforms
remoteproc: qcom: pas: Add late attach support for subsystems
remoteproc: qcom_q6v5_pas: Add SoCCP node on Kaanapali
Mukesh Ojha (1):
dt-bindings: remoteproc: qcom: Document pas for SoCCP on Hawi and Maili SoC
.../devicetree/bindings/remoteproc/qcom,adsp.yaml | 82 +++++------
.../remoteproc/qcom,kaanapali-soccp-pas.yaml | 156 +++++++++++++++++++++
.../bindings/remoteproc/qcom,milos-pas.yaml | 26 +++-
.../bindings/remoteproc/qcom,pas-common.yaml | 28 ++--
.../bindings/remoteproc/qcom,qcs404-pas.yaml | 22 ++-
.../bindings/remoteproc/qcom,sa8775p-pas.yaml | 22 ++-
.../bindings/remoteproc/qcom,sc7180-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sdx55-pas.yaml | 24 +++-
.../bindings/remoteproc/qcom,shikra-pas.yaml | 20 +++
.../bindings/remoteproc/qcom,sm6115-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sm6350-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sm6375-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sm8150-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sm8350-pas.yaml | 28 ++++
.../bindings/remoteproc/qcom,sm8550-pas.yaml | 28 ++++
drivers/remoteproc/qcom_common.h | 6 +
drivers/remoteproc/qcom_q6v5.c | 3 +-
drivers/remoteproc/qcom_q6v5_pas.c | 86 ++++++++++++
drivers/remoteproc/qcom_sysmon.c | 19 +++
20 files changed, 642 insertions(+), 76 deletions(-)
---
base-commit: 4fa3f5fabb30bf00d7475d5a33459ea83d639bf9
change-id: 20260623-knp-soccp-d7c3f790f0c1
Best regards,
--
Jingyi Wang <jingyi.wang@oss.qualcomm.com>