126305048SRakesh Pillai# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 226305048SRakesh Pillai%YAML 1.2 326305048SRakesh Pillai--- 426305048SRakesh Pillai$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-wpss-pil.yaml# 526305048SRakesh Pillai$schema: http://devicetree.org/meta-schemas/core.yaml# 626305048SRakesh Pillai 726305048SRakesh Pillaititle: Qualcomm SC7280 WPSS Peripheral Image Loader 826305048SRakesh Pillai 926305048SRakesh Pillaimaintainers: 1026305048SRakesh Pillai - Bjorn Andersson <bjorn.andersson@linaro.org> 1126305048SRakesh Pillai 1226305048SRakesh Pillaidescription: 1326305048SRakesh Pillai This document defines the binding for a component that loads and boots firmware 1426305048SRakesh Pillai on the Qualcomm Technology Inc. WPSS. 1526305048SRakesh Pillai 1626305048SRakesh Pillaiproperties: 1726305048SRakesh Pillai compatible: 1826305048SRakesh Pillai enum: 1926305048SRakesh Pillai - qcom,sc7280-wpss-pil 2026305048SRakesh Pillai 2126305048SRakesh Pillai reg: 2226305048SRakesh Pillai maxItems: 1 2326305048SRakesh Pillai description: 2426305048SRakesh Pillai The base address and size of the qdsp6ss register 2526305048SRakesh Pillai 2626305048SRakesh Pillai interrupts: 2726305048SRakesh Pillai items: 2826305048SRakesh Pillai - description: Watchdog interrupt 2926305048SRakesh Pillai - description: Fatal interrupt 3026305048SRakesh Pillai - description: Ready interrupt 3126305048SRakesh Pillai - description: Handover interrupt 3226305048SRakesh Pillai - description: Stop acknowledge interrupt 3326305048SRakesh Pillai - description: Shutdown acknowledge interrupt 3426305048SRakesh Pillai 3526305048SRakesh Pillai interrupt-names: 3626305048SRakesh Pillai items: 3726305048SRakesh Pillai - const: wdog 3826305048SRakesh Pillai - const: fatal 3926305048SRakesh Pillai - const: ready 4026305048SRakesh Pillai - const: handover 4126305048SRakesh Pillai - const: stop-ack 4226305048SRakesh Pillai - const: shutdown-ack 4326305048SRakesh Pillai 4426305048SRakesh Pillai clocks: 4526305048SRakesh Pillai items: 4626305048SRakesh Pillai - description: GCC WPSS AHB BDG Master clock 4726305048SRakesh Pillai - description: GCC WPSS AHB clock 4826305048SRakesh Pillai - description: GCC WPSS RSCP clock 4926305048SRakesh Pillai - description: XO clock 5026305048SRakesh Pillai 5126305048SRakesh Pillai clock-names: 5226305048SRakesh Pillai items: 5326305048SRakesh Pillai - const: ahb_bdg 5426305048SRakesh Pillai - const: ahb 5526305048SRakesh Pillai - const: rscp 5626305048SRakesh Pillai - const: xo 5726305048SRakesh Pillai 5826305048SRakesh Pillai power-domains: 5926305048SRakesh Pillai items: 6026305048SRakesh Pillai - description: CX power domain 6126305048SRakesh Pillai - description: MX power domain 6226305048SRakesh Pillai 6326305048SRakesh Pillai power-domain-names: 6426305048SRakesh Pillai items: 6526305048SRakesh Pillai - const: cx 6626305048SRakesh Pillai - const: mx 6726305048SRakesh Pillai 6826305048SRakesh Pillai resets: 6926305048SRakesh Pillai items: 7026305048SRakesh Pillai - description: AOSS restart 7126305048SRakesh Pillai - description: PDC SYNC 7226305048SRakesh Pillai 7326305048SRakesh Pillai reset-names: 7426305048SRakesh Pillai items: 7526305048SRakesh Pillai - const: restart 7626305048SRakesh Pillai - const: pdc_sync 7726305048SRakesh Pillai 7826305048SRakesh Pillai memory-region: 798f69d59bSKrzysztof Kozlowski maxItems: 1 8026305048SRakesh Pillai description: Reference to the reserved-memory for the Hexagon core 8126305048SRakesh Pillai 8226305048SRakesh Pillai firmware-name: 8326305048SRakesh Pillai $ref: /schemas/types.yaml#/definitions/string 8426305048SRakesh Pillai description: 8526305048SRakesh Pillai The name of the firmware which should be loaded for this remote 8626305048SRakesh Pillai processor. 8726305048SRakesh Pillai 8826305048SRakesh Pillai qcom,halt-regs: 8926305048SRakesh Pillai $ref: /schemas/types.yaml#/definitions/phandle-array 9026305048SRakesh Pillai description: 9126305048SRakesh Pillai Phandle reference to a syscon representing TCSR followed by the 9226305048SRakesh Pillai three offsets within syscon for q6, modem and nc halt registers. 9326305048SRakesh Pillai 9426305048SRakesh Pillai qcom,qmp: 9526305048SRakesh Pillai $ref: /schemas/types.yaml#/definitions/phandle 9626305048SRakesh Pillai description: Reference to the AOSS side-channel message RAM. 9726305048SRakesh Pillai 9826305048SRakesh Pillai qcom,smem-states: 9926305048SRakesh Pillai $ref: /schemas/types.yaml#/definitions/phandle-array 10026305048SRakesh Pillai description: States used by the AP to signal the Hexagon core 10126305048SRakesh Pillai items: 10226305048SRakesh Pillai - description: Stop the modem 10326305048SRakesh Pillai 10426305048SRakesh Pillai qcom,smem-state-names: 10526305048SRakesh Pillai description: The names of the state bits used for SMP2P output 1065a674d9dSRob Herring const: stop 10726305048SRakesh Pillai 10826305048SRakesh Pillai glink-edge: 109ae9d475aSKrzysztof Kozlowski $ref: qcom,glink-edge.yaml# 110*7470d2bfSRob Herring unevaluatedProperties: false 111ae9d475aSKrzysztof Kozlowski description: 11226305048SRakesh Pillai Qualcomm G-Link subnode which represents communication edge, channels 11326305048SRakesh Pillai and devices related to the ADSP. 11426305048SRakesh Pillai 11526305048SRakesh Pillai properties: 11626305048SRakesh Pillai interrupts: 11726305048SRakesh Pillai items: 11826305048SRakesh Pillai - description: IRQ from WPSS to GLINK 11926305048SRakesh Pillai 12026305048SRakesh Pillai mboxes: 12126305048SRakesh Pillai items: 12226305048SRakesh Pillai - description: Mailbox for communication between APPS and WPSS 12326305048SRakesh Pillai 12426305048SRakesh Pillai label: 12526305048SRakesh Pillai items: 12626305048SRakesh Pillai - const: wpss 12726305048SRakesh Pillai 128ae9d475aSKrzysztof Kozlowski apr: false 129ae9d475aSKrzysztof Kozlowski fastrpc: false 13026305048SRakesh Pillai 13126305048SRakesh Pillairequired: 13226305048SRakesh Pillai - compatible 13326305048SRakesh Pillai - reg 13426305048SRakesh Pillai - interrupts 13526305048SRakesh Pillai - interrupt-names 13626305048SRakesh Pillai - clocks 13726305048SRakesh Pillai - clock-names 13826305048SRakesh Pillai - power-domains 13926305048SRakesh Pillai - power-domain-names 14026305048SRakesh Pillai - resets 14126305048SRakesh Pillai - reset-names 14226305048SRakesh Pillai - qcom,halt-regs 14326305048SRakesh Pillai - memory-region 14426305048SRakesh Pillai - qcom,qmp 14526305048SRakesh Pillai - qcom,smem-states 14626305048SRakesh Pillai - qcom,smem-state-names 14726305048SRakesh Pillai - glink-edge 14826305048SRakesh Pillai 14926305048SRakesh PillaiadditionalProperties: false 15026305048SRakesh Pillai 15126305048SRakesh Pillaiexamples: 15226305048SRakesh Pillai - | 15326305048SRakesh Pillai #include <dt-bindings/interrupt-controller/arm-gic.h> 15426305048SRakesh Pillai #include <dt-bindings/clock/qcom,gcc-sc7280.h> 15526305048SRakesh Pillai #include <dt-bindings/clock/qcom,rpmh.h> 15626305048SRakesh Pillai #include <dt-bindings/power/qcom-rpmpd.h> 15726305048SRakesh Pillai #include <dt-bindings/reset/qcom,sdm845-aoss.h> 15826305048SRakesh Pillai #include <dt-bindings/reset/qcom,sdm845-pdc.h> 15926305048SRakesh Pillai #include <dt-bindings/mailbox/qcom-ipcc.h> 16026305048SRakesh Pillai remoteproc@8a00000 { 16126305048SRakesh Pillai compatible = "qcom,sc7280-wpss-pil"; 16226305048SRakesh Pillai reg = <0x08a00000 0x10000>; 16326305048SRakesh Pillai 16426305048SRakesh Pillai interrupts-extended = <&intc GIC_SPI 587 IRQ_TYPE_EDGE_RISING>, 16526305048SRakesh Pillai <&wpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 16626305048SRakesh Pillai <&wpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 16726305048SRakesh Pillai <&wpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 16826305048SRakesh Pillai <&wpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 16926305048SRakesh Pillai <&wpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 17026305048SRakesh Pillai interrupt-names = "wdog", "fatal", "ready", "handover", 17126305048SRakesh Pillai "stop-ack", "shutdown-ack"; 17226305048SRakesh Pillai 17326305048SRakesh Pillai clocks = <&gcc GCC_WPSS_AHB_BDG_MST_CLK>, 17426305048SRakesh Pillai <&gcc GCC_WPSS_AHB_CLK>, 17526305048SRakesh Pillai <&gcc GCC_WPSS_RSCP_CLK>, 17626305048SRakesh Pillai <&rpmhcc RPMH_CXO_CLK>; 17726305048SRakesh Pillai clock-names = "ahb_bdg", "ahb", 17826305048SRakesh Pillai "rscp", "xo"; 17926305048SRakesh Pillai 18026305048SRakesh Pillai power-domains = <&rpmhpd SC7280_CX>, 18126305048SRakesh Pillai <&rpmhpd SC7280_MX>; 18226305048SRakesh Pillai power-domain-names = "cx", "mx"; 18326305048SRakesh Pillai 18426305048SRakesh Pillai memory-region = <&wpss_mem>; 18526305048SRakesh Pillai 18626305048SRakesh Pillai qcom,qmp = <&aoss_qmp>; 18726305048SRakesh Pillai 18826305048SRakesh Pillai qcom,smem-states = <&wpss_smp2p_out 0>; 18926305048SRakesh Pillai qcom,smem-state-names = "stop"; 19026305048SRakesh Pillai 19126305048SRakesh Pillai resets = <&aoss_reset AOSS_CC_WCSS_RESTART>, 19226305048SRakesh Pillai <&pdc_reset PDC_WPSS_SYNC_RESET>; 19326305048SRakesh Pillai reset-names = "restart", "pdc_sync"; 19426305048SRakesh Pillai 19526305048SRakesh Pillai qcom,halt-regs = <&tcsr_mutex 0x37000>; 19626305048SRakesh Pillai 19726305048SRakesh Pillai glink-edge { 19826305048SRakesh Pillai interrupts-extended = <&ipcc IPCC_CLIENT_WPSS 19926305048SRakesh Pillai IPCC_MPROC_SIGNAL_GLINK_QMP 20026305048SRakesh Pillai IRQ_TYPE_EDGE_RISING>; 20126305048SRakesh Pillai mboxes = <&ipcc IPCC_CLIENT_WPSS 20226305048SRakesh Pillai IPCC_MPROC_SIGNAL_GLINK_QMP>; 20326305048SRakesh Pillai 20426305048SRakesh Pillai label = "wpss"; 20526305048SRakesh Pillai qcom,remote-pid = <13>; 20626305048SRakesh Pillai }; 20726305048SRakesh Pillai }; 208