162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-adsp-pil.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm SC7280 ADSP Peripheral Image Loader 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci This document describes the hardware for a component that loads and boots firmware 1462306a36Sopenharmony_ci on the Qualcomm Technology Inc. ADSP. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciproperties: 1762306a36Sopenharmony_ci compatible: 1862306a36Sopenharmony_ci enum: 1962306a36Sopenharmony_ci - qcom,sc7280-adsp-pil 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci reg: 2262306a36Sopenharmony_ci items: 2362306a36Sopenharmony_ci - description: qdsp6ss register 2462306a36Sopenharmony_ci - description: efuse q6ss register 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci iommus: 2762306a36Sopenharmony_ci items: 2862306a36Sopenharmony_ci - description: Phandle to apps_smmu node with sid mask 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci interrupts: 3162306a36Sopenharmony_ci items: 3262306a36Sopenharmony_ci - description: Watchdog interrupt 3362306a36Sopenharmony_ci - description: Fatal interrupt 3462306a36Sopenharmony_ci - description: Ready interrupt 3562306a36Sopenharmony_ci - description: Handover interrupt 3662306a36Sopenharmony_ci - description: Stop acknowledge interrupt 3762306a36Sopenharmony_ci - description: Shutdown acknowledge interrupt 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci interrupt-names: 4062306a36Sopenharmony_ci items: 4162306a36Sopenharmony_ci - const: wdog 4262306a36Sopenharmony_ci - const: fatal 4362306a36Sopenharmony_ci - const: ready 4462306a36Sopenharmony_ci - const: handover 4562306a36Sopenharmony_ci - const: stop-ack 4662306a36Sopenharmony_ci - const: shutdown-ack 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci clocks: 4962306a36Sopenharmony_ci items: 5062306a36Sopenharmony_ci - description: XO clock 5162306a36Sopenharmony_ci - description: GCC CFG NOC LPASS clock 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci clock-names: 5462306a36Sopenharmony_ci items: 5562306a36Sopenharmony_ci - const: xo 5662306a36Sopenharmony_ci - const: gcc_cfg_noc_lpass 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci power-domains: 5962306a36Sopenharmony_ci items: 6062306a36Sopenharmony_ci - description: LCX power domain 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci resets: 6362306a36Sopenharmony_ci items: 6462306a36Sopenharmony_ci - description: PDC AUDIO SYNC RESET 6562306a36Sopenharmony_ci - description: CC LPASS restart 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci reset-names: 6862306a36Sopenharmony_ci items: 6962306a36Sopenharmony_ci - const: pdc_sync 7062306a36Sopenharmony_ci - const: cc_lpass 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci memory-region: 7362306a36Sopenharmony_ci maxItems: 1 7462306a36Sopenharmony_ci description: Reference to the reserved-memory for the Hexagon core 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci qcom,halt-regs: 7762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 7862306a36Sopenharmony_ci description: 7962306a36Sopenharmony_ci Phandle reference to a syscon representing TCSR followed by the 8062306a36Sopenharmony_ci four offsets within syscon for q6, modem, nc and qv6 halt registers. 8162306a36Sopenharmony_ci items: 8262306a36Sopenharmony_ci - items: 8362306a36Sopenharmony_ci - description: phandle to TCSR_MUTEX registers 8462306a36Sopenharmony_ci - description: offset to the Q6 halt register 8562306a36Sopenharmony_ci - description: offset to the modem halt register 8662306a36Sopenharmony_ci - description: offset to the nc halt register 8762306a36Sopenharmony_ci - description: offset to the vq6 halt register 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci qcom,smem-states: 9062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 9162306a36Sopenharmony_ci description: States used by the AP to signal the Hexagon core 9262306a36Sopenharmony_ci items: 9362306a36Sopenharmony_ci - description: Stop the modem 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci qcom,smem-state-names: 9662306a36Sopenharmony_ci description: The names of the state bits used for SMP2P output 9762306a36Sopenharmony_ci const: stop 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci qcom,qmp: 10062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 10162306a36Sopenharmony_ci description: Reference to the AOSS side-channel message RAM. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci glink-edge: 10462306a36Sopenharmony_ci $ref: qcom,glink-edge.yaml# 10562306a36Sopenharmony_ci type: object 10662306a36Sopenharmony_ci unevaluatedProperties: false 10762306a36Sopenharmony_ci description: | 10862306a36Sopenharmony_ci Qualcomm G-Link subnode which represents communication edge, channels 10962306a36Sopenharmony_ci and devices related to the ADSP. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci properties: 11262306a36Sopenharmony_ci label: 11362306a36Sopenharmony_ci const: lpass 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci gpr: true 11662306a36Sopenharmony_ci apr: false 11762306a36Sopenharmony_ci fastrpc: false 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci required: 12062306a36Sopenharmony_ci - label 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_cirequired: 12362306a36Sopenharmony_ci - compatible 12462306a36Sopenharmony_ci - reg 12562306a36Sopenharmony_ci - interrupts 12662306a36Sopenharmony_ci - interrupt-names 12762306a36Sopenharmony_ci - clocks 12862306a36Sopenharmony_ci - clock-names 12962306a36Sopenharmony_ci - power-domains 13062306a36Sopenharmony_ci - resets 13162306a36Sopenharmony_ci - reset-names 13262306a36Sopenharmony_ci - qcom,halt-regs 13362306a36Sopenharmony_ci - memory-region 13462306a36Sopenharmony_ci - qcom,smem-states 13562306a36Sopenharmony_ci - qcom,smem-state-names 13662306a36Sopenharmony_ci - qcom,qmp 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciadditionalProperties: false 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ciexamples: 14162306a36Sopenharmony_ci - | 14262306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 14362306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,rpmh.h> 14462306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,gcc-sc7280.h> 14562306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,lpass-sc7280.h> 14662306a36Sopenharmony_ci #include <dt-bindings/reset/qcom,sdm845-aoss.h> 14762306a36Sopenharmony_ci #include <dt-bindings/reset/qcom,sdm845-pdc.h> 14862306a36Sopenharmony_ci #include <dt-bindings/power/qcom-rpmpd.h> 14962306a36Sopenharmony_ci #include <dt-bindings/mailbox/qcom-ipcc.h> 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci remoteproc@3000000 { 15262306a36Sopenharmony_ci compatible = "qcom,sc7280-adsp-pil"; 15362306a36Sopenharmony_ci reg = <0x03000000 0x5000>, 15462306a36Sopenharmony_ci <0x0355b000 0x10>; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci interrupts-extended = <&pdc 162 IRQ_TYPE_EDGE_RISING>, 15762306a36Sopenharmony_ci <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 15862306a36Sopenharmony_ci <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 15962306a36Sopenharmony_ci <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 16062306a36Sopenharmony_ci <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 16162306a36Sopenharmony_ci <&adsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci interrupt-names = "wdog", "fatal", "ready", 16462306a36Sopenharmony_ci "handover", "stop-ack", "shutdown-ack"; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci clocks = <&rpmhcc RPMH_CXO_CLK>, 16762306a36Sopenharmony_ci <&gcc GCC_CFG_NOC_LPASS_CLK>; 16862306a36Sopenharmony_ci clock-names = "xo", "gcc_cfg_noc_lpass"; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci power-domains = <&rpmhpd SC7280_LCX>; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci resets = <&pdc_reset PDC_AUDIO_SYNC_RESET>, 17362306a36Sopenharmony_ci <&aoss_reset AOSS_CC_LPASS_RESTART>; 17462306a36Sopenharmony_ci reset-names = "pdc_sync", "cc_lpass"; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci qcom,halt-regs = <&tcsr_mutex 0x23000 0x25000 0x28000 0x33000>; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci memory-region = <&adsp_mem>; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci qcom,smem-states = <&adsp_smp2p_out 0>; 18162306a36Sopenharmony_ci qcom,smem-state-names = "stop"; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci qcom,qmp = <&aoss_qmp>; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci glink-edge { 18662306a36Sopenharmony_ci interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 18762306a36Sopenharmony_ci IPCC_MPROC_SIGNAL_GLINK_QMP 18862306a36Sopenharmony_ci IRQ_TYPE_EDGE_RISING>; 18962306a36Sopenharmony_ci mboxes = <&ipcc IPCC_CLIENT_LPASS 19062306a36Sopenharmony_ci IPCC_MPROC_SIGNAL_GLINK_QMP>; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci label = "lpass"; 19362306a36Sopenharmony_ci qcom,remote-pid = <2>; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci }; 196