dt-bindings: remoteproc: qcom: Document pas for SoCCP on Kaanapali and Glymur platforms

Document the component used to boot SoCCP on Kaanapali SoC and add
compatible for Glymur SoCCP which could fallback to Kaanapali. Extend
the "qcom,smem-states", "qcom,smem-state-names" in the pas-common
and add maxItems constraints for SMEM properties in the documents
that reference to pas-common.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Link: https://patch.msgid.link/20260519-knp-soccp-v6-3-cf5d0e194b5f@oss.qualcomm.com
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
This commit is contained in:
Jingyi Wang
2026-08-05 15:36:03 +03:00
committed by Abel Vesa
parent 827ac48ec2
commit e747f8dc7f
8 changed files with 205 additions and 0 deletions
@@ -63,6 +63,14 @@ properties:
interrupt-names:
maxItems: 5
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- memory-region
@@ -0,0 +1,154 @@
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,kaanapali-soccp-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Kaanapali SoCCP Peripheral Authentication Service
maintainers:
- Jingyi Wang <jingyi.wang@oss.qualcomm.com>
description:
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, somewhat
analogous to traditional PC Embedded Controllers. This document describes
the Peripheral Authentication Service that loads and boots firmware for SoCCP.
properties:
compatible:
oneOf:
- items:
- enum:
- qcom,glymur-soccp-pas
- const: qcom,kaanapali-soccp-pas
- enum:
- qcom,kaanapali-soccp-pas
reg:
maxItems: 1
clocks:
items:
- description: XO clock
clock-names:
items:
- const: xo
power-domains:
items:
- description: CX power domain
- description: MX power domain
power-domain-names:
items:
- const: cx
- const: mx
firmware-name:
items:
- description: Firmware name of the SoC Control Processor
- description: Firmware name of the SoCCP Devicetree
memory-region:
items:
- description: Memory region for main Firmware authentication
- description: Memory region for Devicetree Firmware authentication
interrupts:
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Pong interrupt
interrupt-names:
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: pong
qcom,smem-states:
minItems: 2
description: States used by the AP to signal the SoC Control Processor
qcom,smem-state-names:
minItems: 2
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
- memory-region
- power-domains
- power-domain-names
allOf:
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom-rpmpd.h>
#define IPCC_MPROC_SOCCP
remoteproc@d00000 {
compatible = "qcom,kaanapali-soccp-pas";
reg = <0x00d00000 0x200000>;
clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";
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";
memory-region = <&soccp_mem>,
<&soccp_dtb_mem_mem>;
firmware-name = "qcom/kaanapali/soccp.mbn",
"qcom/kaanapali/soccp_dtb.mbn";
power-domains = <&rpmhpd RPMHPD_CX>,
<&rpmhpd RPMHPD_MX>;
power-domain-names = "cx",
"mx";
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>;
label = "soccp";
qcom,remote-pid = <19>;
/* ... */
};
};
@@ -59,6 +59,14 @@ properties:
- description: Memory region for core Firmware authentication
- description: Memory region for Devicetree Firmware authentication
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
@@ -58,6 +58,7 @@ properties:
qcom,smem-states:
$ref: /schemas/types.yaml#/definitions/phandle-array
description: States used by the AP to signal the Hexagon core
minItems: 1
items:
- description: Stop the modem
items:
@@ -69,8 +70,10 @@ properties:
qcom,smem-state-names:
description: The names of the state bits used for SMP2P output
minItems: 1
items:
- const: stop
- const: ping
smd-edge:
$ref: /schemas/remoteproc/qcom,smd-edge.yaml#
@@ -49,6 +49,14 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
@@ -64,6 +64,14 @@ properties:
interrupt-names:
maxItems: 5
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
@@ -59,6 +59,14 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
@@ -41,6 +41,14 @@ properties:
smd-edge: false
qcom,smem-states:
maxItems: 1
description: States used by the AP to signal the Hexagon core
qcom,smem-state-names:
maxItems: 1
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg