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.

Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260623-knp-soccp-v7-3-1ec7bb5c9fec@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Jingyi Wang 2026-06-23 03:05:19 -07:00 committed by Bjorn Andersson
parent 5eb8427596
commit 8b54bacadc
15 changed files with 269 additions and 1 deletions

View File

@ -73,6 +73,14 @@ properties:
- const: handover
- const: stop-ack
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

View File

@ -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>;
/* ... */
};
};

View File

@ -69,6 +69,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

View File

@ -46,8 +46,16 @@ 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
- description: Stop the remoteproc
items:
- description: Phandle to the Shared Memory Point 2 Point device
handling the communication with a remote processor
- description: Single bit index to toggle in the value sent to
the remote processor
maximum: 32
- description: Ping the remoteproc
items:
- description: Phandle to the Shared Memory Point 2 Point device
handling the communication with a remote processor
@ -57,8 +65,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#

View File

@ -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

View File

@ -74,6 +74,14 @@ properties:
- const: handover
- const: stop-ack
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

View File

@ -68,6 +68,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -65,6 +65,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -71,6 +71,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

View File

@ -71,6 +71,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -65,6 +65,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -61,6 +61,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

View File

@ -81,6 +81,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -75,6 +75,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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

View File

@ -95,6 +95,14 @@ properties:
- const: stop-ack
- const: shutdown-ack
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