mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user