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" if ping the subsystem successfully. As the interrupts are redefined differently for Kaanapali SoCCP, list for the interrupt properties are moved out of pas-common.
Signed-off-by: Jingyi Wang <[email protected]> --- 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/[email protected] 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/[email protected] Changes in v2: - Drop MPSS change - pick Glymur changes from https://lore.kernel.org/linux-arm-msm/[email protected] - 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/[email protected] --- Gokul Krishna Krishnakumar (1): remoteproc: qcom: pas: Add late attach support for subsystems Jingyi Wang (6): 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: Add smem properties in documents that reference to pas-common dt-bindings: remoteproc: qcom: Document pas for SoCCP on Kaanapali and Glymur platforms remoteproc: core: set recovery_disabled when doing rproc_add() remoteproc: qcom_q6v5_pas: Add SoCCP node on Kaanapali .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 82 +++++------ .../remoteproc/qcom,kaanapali-soccp-pas.yaml | 154 +++++++++++++++++++++ .../bindings/remoteproc/qcom,milos-pas.yaml | 26 +++- .../bindings/remoteproc/qcom,pas-common.yaml | 22 +-- .../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,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_q6v5.c | 88 +++++++++++- drivers/remoteproc/qcom_q6v5.h | 17 ++- drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- drivers/remoteproc/qcom_q6v5_mss.c | 2 +- drivers/remoteproc/qcom_q6v5_pas.c | 121 +++++++++++++++- drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- drivers/remoteproc/remoteproc_core.c | 4 + 22 files changed, 727 insertions(+), 85 deletions(-) --- base-commit: fc7b1a72c6cd5cbbd989c6c32a6486e3e4e3594d change-id: 20260304-knp-soccp-f22a8d1f2e28 Best regards, -- Jingyi Wang <[email protected]>

