1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-wpss-pil.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SC7280 WPSS Peripheral Image Loader 8 9maintainers: 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 11 12description: 13 This document defines the binding for a component that loads and boots firmware 14 on the Qualcomm Technology Inc. WPSS. 15 16properties: 17 compatible: 18 enum: 19 - qcom,sc7280-wpss-pil 20 21 reg: 22 maxItems: 1 23 description: 24 The base address and size of the qdsp6ss register 25 26 interrupts: 27 items: 28 - description: Watchdog interrupt 29 - description: Fatal interrupt 30 - description: Ready interrupt 31 - description: Handover interrupt 32 - description: Stop acknowledge interrupt 33 - description: Shutdown acknowledge interrupt 34 35 interrupt-names: 36 items: 37 - const: wdog 38 - const: fatal 39 - const: ready 40 - const: handover 41 - const: stop-ack 42 - const: shutdown-ack 43 44 clocks: 45 items: 46 - description: GCC WPSS AHB BDG Master clock 47 - description: GCC WPSS AHB clock 48 - description: GCC WPSS RSCP clock 49 - description: XO clock 50 51 clock-names: 52 items: 53 - const: ahb_bdg 54 - const: ahb 55 - const: rscp 56 - const: xo 57 58 power-domains: 59 items: 60 - description: CX power domain 61 - description: MX power domain 62 63 power-domain-names: 64 items: 65 - const: cx 66 - const: mx 67 68 resets: 69 items: 70 - description: AOSS restart 71 - description: PDC SYNC 72 73 reset-names: 74 items: 75 - const: restart 76 - const: pdc_sync 77 78 memory-region: 79 $ref: /schemas/types.yaml#/definitions/phandle 80 description: Reference to the reserved-memory for the Hexagon core 81 82 firmware-name: 83 $ref: /schemas/types.yaml#/definitions/string 84 description: 85 The name of the firmware which should be loaded for this remote 86 processor. 87 88 qcom,halt-regs: 89 $ref: /schemas/types.yaml#/definitions/phandle-array 90 description: 91 Phandle reference to a syscon representing TCSR followed by the 92 three offsets within syscon for q6, modem and nc halt registers. 93 94 qcom,qmp: 95 $ref: /schemas/types.yaml#/definitions/phandle 96 description: Reference to the AOSS side-channel message RAM. 97 98 qcom,smem-states: 99 $ref: /schemas/types.yaml#/definitions/phandle-array 100 description: States used by the AP to signal the Hexagon core 101 items: 102 - description: Stop the modem 103 104 qcom,smem-state-names: 105 $ref: /schemas/types.yaml#/definitions/string 106 description: The names of the state bits used for SMP2P output 107 items: 108 - const: stop 109 110 glink-edge: 111 type: object 112 description: | 113 Qualcomm G-Link subnode which represents communication edge, channels 114 and devices related to the ADSP. 115 116 properties: 117 interrupts: 118 items: 119 - description: IRQ from WPSS to GLINK 120 121 mboxes: 122 items: 123 - description: Mailbox for communication between APPS and WPSS 124 125 label: 126 description: The names of the state bits used for SMP2P output 127 items: 128 - const: wpss 129 130 qcom,remote-pid: 131 $ref: /schemas/types.yaml#/definitions/uint32 132 description: ID of the shared memory used by GLINK for communication with WPSS 133 maxItems: 1 134 135 required: 136 - interrupts 137 - mboxes 138 - label 139 - qcom,remote-pid 140 141 additionalProperties: false 142 143required: 144 - compatible 145 - reg 146 - interrupts 147 - interrupt-names 148 - clocks 149 - clock-names 150 - power-domains 151 - power-domain-names 152 - resets 153 - reset-names 154 - qcom,halt-regs 155 - memory-region 156 - qcom,qmp 157 - qcom,smem-states 158 - qcom,smem-state-names 159 - glink-edge 160 161additionalProperties: false 162 163examples: 164 - | 165 #include <dt-bindings/interrupt-controller/arm-gic.h> 166 #include <dt-bindings/clock/qcom,gcc-sc7280.h> 167 #include <dt-bindings/clock/qcom,rpmh.h> 168 #include <dt-bindings/power/qcom-rpmpd.h> 169 #include <dt-bindings/reset/qcom,sdm845-aoss.h> 170 #include <dt-bindings/reset/qcom,sdm845-pdc.h> 171 #include <dt-bindings/mailbox/qcom-ipcc.h> 172 remoteproc@8a00000 { 173 compatible = "qcom,sc7280-wpss-pil"; 174 reg = <0x08a00000 0x10000>; 175 176 interrupts-extended = <&intc GIC_SPI 587 IRQ_TYPE_EDGE_RISING>, 177 <&wpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 178 <&wpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 179 <&wpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 180 <&wpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 181 <&wpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 182 interrupt-names = "wdog", "fatal", "ready", "handover", 183 "stop-ack", "shutdown-ack"; 184 185 clocks = <&gcc GCC_WPSS_AHB_BDG_MST_CLK>, 186 <&gcc GCC_WPSS_AHB_CLK>, 187 <&gcc GCC_WPSS_RSCP_CLK>, 188 <&rpmhcc RPMH_CXO_CLK>; 189 clock-names = "ahb_bdg", "ahb", 190 "rscp", "xo"; 191 192 power-domains = <&rpmhpd SC7280_CX>, 193 <&rpmhpd SC7280_MX>; 194 power-domain-names = "cx", "mx"; 195 196 memory-region = <&wpss_mem>; 197 198 qcom,qmp = <&aoss_qmp>; 199 200 qcom,smem-states = <&wpss_smp2p_out 0>; 201 qcom,smem-state-names = "stop"; 202 203 resets = <&aoss_reset AOSS_CC_WCSS_RESTART>, 204 <&pdc_reset PDC_WPSS_SYNC_RESET>; 205 reset-names = "restart", "pdc_sync"; 206 207 qcom,halt-regs = <&tcsr_mutex 0x37000>; 208 209 glink-edge { 210 interrupts-extended = <&ipcc IPCC_CLIENT_WPSS 211 IPCC_MPROC_SIGNAL_GLINK_QMP 212 IRQ_TYPE_EDGE_RISING>; 213 mboxes = <&ipcc IPCC_CLIENT_WPSS 214 IPCC_MPROC_SIGNAL_GLINK_QMP>; 215 216 label = "wpss"; 217 qcom,remote-pid = <13>; 218 }; 219 }; 220