1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/remoteproc/qcom,adsp.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm ADSP Peripheral Image Loader 8 9maintainers: 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11 12description: 13 This document defines the binding for a component that loads and boots 14 firmware on the Qualcomm ADSP Hexagon core. 15 16properties: 17 compatible: 18 enum: 19 - qcom,msm8226-adsp-pil 20 - qcom,msm8953-adsp-pil 21 - qcom,msm8974-adsp-pil 22 - qcom,msm8996-adsp-pil 23 - qcom,msm8996-slpi-pil 24 - qcom,msm8998-adsp-pas 25 - qcom,msm8998-slpi-pas 26 - qcom,sdm660-adsp-pas 27 - qcom,sdm660-cdsp-pas 28 - qcom,sdm845-adsp-pas 29 - qcom,sdm845-cdsp-pas 30 - qcom,sdm845-slpi-pas 31 32 reg: 33 maxItems: 1 34 35 px-supply: 36 description: Phandle to the PX regulator 37 38 qcom,qmp: 39 $ref: /schemas/types.yaml#/definitions/phandle 40 description: Reference to the AOSS side-channel message RAM. 41 42 memory-region: 43 maxItems: 1 44 description: Reference to the reserved-memory for the Hexagon core 45 46 firmware-name: 47 maxItems: 1 48 description: Firmware name for the Hexagon core 49 50required: 51 - compatible 52 - memory-region 53 54unevaluatedProperties: false 55 56allOf: 57 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 58 - if: 59 properties: 60 compatible: 61 contains: 62 enum: 63 - qcom,msm8226-adsp-pil 64 - qcom,msm8953-adsp-pil 65 - qcom,msm8974-adsp-pil 66 - qcom,msm8996-adsp-pil 67 - qcom,msm8996-slpi-pil 68 - qcom,msm8998-adsp-pas 69 - qcom,msm8998-slpi-pas 70 - qcom,sdm660-adsp-pas 71 - qcom,sdm660-cdsp-pas 72 - qcom,sdm845-adsp-pas 73 - qcom,sdm845-cdsp-pas 74 - qcom,sdm845-slpi-pas 75 then: 76 properties: 77 clocks: 78 items: 79 - description: XO clock 80 clock-names: 81 items: 82 - const: xo 83 84 - if: 85 properties: 86 compatible: 87 contains: 88 enum: 89 - qcom,msm8226-adsp-pil 90 - qcom,msm8953-adsp-pil 91 - qcom,msm8974-adsp-pil 92 - qcom,msm8996-adsp-pil 93 - qcom,msm8996-slpi-pil 94 - qcom,msm8998-adsp-pas 95 - qcom,msm8998-slpi-pas 96 - qcom,sdm660-adsp-pas 97 - qcom,sdm660-cdsp-pas 98 - qcom,sdm845-adsp-pas 99 - qcom,sdm845-cdsp-pas 100 - qcom,sdm845-slpi-pas 101 then: 102 properties: 103 interrupts: 104 maxItems: 5 105 interrupt-names: 106 maxItems: 5 107 108 - if: 109 properties: 110 compatible: 111 contains: 112 enum: 113 - qcom,msm8226-adsp-pil 114 - qcom,msm8953-adsp-pil 115 - qcom,msm8974-adsp-pil 116 - qcom,msm8996-adsp-pil 117 - qcom,msm8998-adsp-pas 118 - qcom,sdm660-adsp-pas 119 - qcom,sdm660-cdsp-pas 120 then: 121 properties: 122 power-domains: 123 items: 124 - description: CX power domain 125 power-domain-names: 126 items: 127 - const: cx 128 129 - if: 130 properties: 131 compatible: 132 contains: 133 enum: 134 - qcom,msm8996-slpi-pil 135 - qcom,msm8998-slpi-pas 136 then: 137 properties: 138 power-domains: 139 items: 140 - description: SSC-CX power domain 141 power-domain-names: 142 items: 143 - const: ssc_cx 144 required: 145 - px-supply 146 147 - if: 148 properties: 149 compatible: 150 enum: 151 - qcom,sdm845-slpi-pas 152 then: 153 properties: 154 power-domains: 155 items: 156 - description: LCX power domain 157 - description: LMX power domain 158 power-domain-names: 159 items: 160 - const: lcx 161 - const: lmx 162 163 - if: 164 properties: 165 compatible: 166 contains: 167 enum: 168 - qcom,msm8226-adsp-pil 169 - qcom,msm8953-adsp-pil 170 - qcom,msm8974-adsp-pil 171 - qcom,msm8996-adsp-pil 172 - qcom,msm8996-slpi-pil 173 - qcom,msm8998-adsp-pas 174 - qcom,msm8998-slpi-pas 175 - qcom,sdm660-adsp-pas 176 - qcom,sdm660-cdsp-pas 177 then: 178 properties: 179 qcom,qmp: false 180 181examples: 182 - | 183 #include <dt-bindings/clock/qcom,rpmcc.h> 184 #include <dt-bindings/interrupt-controller/arm-gic.h> 185 #include <dt-bindings/interrupt-controller/irq.h> 186 #include <dt-bindings/power/qcom-rpmpd.h> 187 adsp { 188 compatible = "qcom,msm8974-adsp-pil"; 189 190 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 191 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 192 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 193 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 194 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 195 interrupt-names = "wdog", 196 "fatal", 197 "ready", 198 "handover", 199 "stop-ack"; 200 201 clocks = <&rpmcc RPM_CXO_CLK>; 202 clock-names = "xo"; 203 204 power-domains = <&rpmpd MSM8974_VDDCX>; 205 power-domain-names = "cx"; 206 207 memory-region = <&adsp_region>; 208 209 qcom,smem-states = <&adsp_smp2p_out 0>; 210 qcom,smem-state-names = "stop"; 211 212 smd-edge { 213 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 214 215 qcom,ipc = <&apcs 8 8>; 216 qcom,smd-edge = <1>; 217 }; 218 }; 219