mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Document the components used to boot the ADSP, CDSP and GPDSP on the Qualcomm QCS8300 SoC. Use fallback to indicate the compatibility of the remoteproc on the QCS8300 with that on the SA8775P. Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> Signed-off-by: Jingyi Wang <quic_jingyw@quicinc.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240925-qcs8300_remoteproc_binding-v3-1-21b0c52b142b@quicinc.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
177 lines
4.5 KiB
YAML
177 lines
4.5 KiB
YAML
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/remoteproc/qcom,sa8775p-pas.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm SA8775p Peripheral Authentication Service
|
|
|
|
maintainers:
|
|
- Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
|
|
|
|
description:
|
|
Qualcomm SA8775p SoC Peripheral Authentication Service loads and boots firmware
|
|
on the Qualcomm DSP Hexagon cores.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- qcom,qcs8300-adsp-pas
|
|
- const: qcom,sa8775p-adsp-pas
|
|
- items:
|
|
- enum:
|
|
- qcom,qcs8300-cdsp-pas
|
|
- const: qcom,sa8775p-cdsp0-pas
|
|
- items:
|
|
- enum:
|
|
- qcom,qcs8300-gpdsp-pas
|
|
- const: qcom,sa8775p-gpdsp0-pas
|
|
- enum:
|
|
- qcom,sa8775p-adsp-pas
|
|
- qcom,sa8775p-cdsp0-pas
|
|
- qcom,sa8775p-cdsp1-pas
|
|
- qcom,sa8775p-gpdsp0-pas
|
|
- qcom,sa8775p-gpdsp1-pas
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: XO clock
|
|
|
|
clock-names:
|
|
items:
|
|
- const: xo
|
|
|
|
qcom,qmp:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description: Reference to the AOSS side-channel message RAM.
|
|
|
|
firmware-name:
|
|
$ref: /schemas/types.yaml#/definitions/string-array
|
|
items:
|
|
- description: Firmware name of the Hexagon core
|
|
|
|
memory-region:
|
|
items:
|
|
- description: Memory region for main Firmware authentication
|
|
|
|
interrupts:
|
|
maxItems: 5
|
|
|
|
interrupt-names:
|
|
maxItems: 5
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- memory-region
|
|
|
|
allOf:
|
|
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sa8775p-adsp-pas
|
|
then:
|
|
properties:
|
|
power-domains:
|
|
items:
|
|
- description: LCX power domain
|
|
- description: LMX power domain
|
|
power-domain-names:
|
|
items:
|
|
- const: lcx
|
|
- const: lmx
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sa8775p-cdsp0-pas
|
|
- qcom,sa8775p-cdsp1-pas
|
|
then:
|
|
properties:
|
|
power-domains:
|
|
items:
|
|
- description: CX power domain
|
|
- description: MXC power domain
|
|
- description: NSP0 power domain
|
|
power-domain-names:
|
|
items:
|
|
- const: cx
|
|
- const: mxc
|
|
- const: nsp
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sa8775p-gpdsp0-pas
|
|
- qcom,sa8775p-gpdsp1-pas
|
|
then:
|
|
properties:
|
|
power-domains:
|
|
items:
|
|
- description: CX power domain
|
|
- description: MXC power domain
|
|
power-domain-names:
|
|
items:
|
|
- const: cx
|
|
- const: mxc
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/qcom,rpmh.h>
|
|
#include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/mailbox/qcom-ipcc.h>
|
|
#include <dt-bindings/power/qcom,rpmhpd.h>
|
|
|
|
remoteproc@30000000 {
|
|
compatible = "qcom,sa8775p-adsp-pas";
|
|
reg = <0x30000000 0x100>;
|
|
|
|
interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
|
|
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
|
|
<&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
|
|
<&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
|
|
<&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
|
|
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
|
|
|
|
clocks = <&rpmhcc RPMH_CXO_CLK>;
|
|
clock-names = "xo";
|
|
|
|
power-domains = <&rpmhpd RPMHPD_LCX>, <&rpmhpd RPMHPD_LMX>;
|
|
power-domain-names = "lcx", "lmx";
|
|
|
|
interconnects = <&lpass_ag_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>;
|
|
|
|
memory-region = <&pil_adsp_mem>;
|
|
|
|
qcom,qmp = <&aoss_qmp>;
|
|
|
|
qcom,smem-states = <&smp2p_adsp_out 0>;
|
|
qcom,smem-state-names = "stop";
|
|
|
|
glink-edge {
|
|
interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
|
|
IPCC_MPROC_SIGNAL_GLINK_QMP
|
|
IRQ_TYPE_EDGE_RISING>;
|
|
mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
|
|
|
|
label = "lpass";
|
|
qcom,remote-pid = <2>;
|
|
};
|
|
};
|