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,sdm845-adsp-pas 28 - qcom,sdm845-cdsp-pas 29 30 reg: 31 maxItems: 1 32 33 cx-supply: 34 description: Phandle to the CX regulator 35 36 px-supply: 37 description: Phandle to the PX regulator 38 39 qcom,qmp: 40 $ref: /schemas/types.yaml#/definitions/phandle 41 description: Reference to the AOSS side-channel message RAM. 42 43 memory-region: 44 maxItems: 1 45 description: Reference to the reserved-memory for the Hexagon core 46 47required: 48 - compatible 49 50unevaluatedProperties: false 51 52allOf: 53 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 54 - if: 55 properties: 56 compatible: 57 contains: 58 enum: 59 - qcom,msm8226-adsp-pil 60 - qcom,msm8953-adsp-pil 61 - qcom,msm8974-adsp-pil 62 - qcom,msm8996-adsp-pil 63 - qcom,msm8998-adsp-pas 64 - qcom,sdm845-adsp-pas 65 - qcom,sdm845-cdsp-pas 66 then: 67 properties: 68 clocks: 69 items: 70 - description: XO clock 71 clock-names: 72 items: 73 - const: xo 74 75 - if: 76 properties: 77 compatible: 78 contains: 79 enum: 80 - qcom,msm8996-slpi-pil 81 - qcom,msm8998-slpi-pas 82 then: 83 properties: 84 clocks: 85 items: 86 - description: XO clock 87 - description: AGGRE2 clock 88 clock-names: 89 items: 90 - const: xo 91 - const: aggre2 92 93 - if: 94 properties: 95 compatible: 96 contains: 97 enum: 98 - qcom,msm8226-adsp-pil 99 - qcom,msm8953-adsp-pil 100 - qcom,msm8974-adsp-pil 101 - qcom,msm8996-adsp-pil 102 - qcom,msm8996-slpi-pil 103 - qcom,msm8998-adsp-pas 104 - qcom,msm8998-slpi-pas 105 - qcom,sdm845-adsp-pas 106 - qcom,sdm845-cdsp-pas 107 then: 108 properties: 109 interrupts: 110 maxItems: 5 111 interrupt-names: 112 maxItems: 5 113 114 - if: 115 properties: 116 compatible: 117 contains: 118 enum: 119 - qcom,msm8974-adsp-pil 120 then: 121 required: 122 - cx-supply 123 124 - if: 125 properties: 126 compatible: 127 contains: 128 enum: 129 - qcom,msm8226-adsp-pil 130 - qcom,msm8953-adsp-pil 131 - qcom,msm8996-adsp-pil 132 - qcom,msm8998-adsp-pas 133 then: 134 properties: 135 power-domains: 136 items: 137 - description: CX power domain 138 power-domain-names: 139 items: 140 - const: cx 141 142 - if: 143 properties: 144 compatible: 145 contains: 146 enum: 147 - qcom,msm8996-slpi-pil 148 - qcom,msm8998-slpi-pas 149 then: 150 properties: 151 power-domains: 152 items: 153 - description: SSC-CX power domain 154 power-domain-names: 155 items: 156 - const: ssc_cx 157 required: 158 - px-supply 159 160 - if: 161 properties: 162 compatible: 163 contains: 164 enum: 165 - qcom,msm8226-adsp-pil 166 - qcom,msm8953-adsp-pil 167 - qcom,msm8974-adsp-pil 168 - qcom,msm8996-adsp-pil 169 - qcom,msm8996-slpi-pil 170 - qcom,msm8998-adsp-pas 171 - qcom,msm8998-slpi-pas 172 - qcom,sdm660-adsp-pas 173 then: 174 properties: 175 qcom,qmp: false 176 177examples: 178 - | 179 #include <dt-bindings/clock/qcom,rpmcc.h> 180 #include <dt-bindings/interrupt-controller/arm-gic.h> 181 #include <dt-bindings/interrupt-controller/irq.h> 182 adsp { 183 compatible = "qcom,msm8974-adsp-pil"; 184 185 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 186 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 187 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 188 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 189 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 190 interrupt-names = "wdog", 191 "fatal", 192 "ready", 193 "handover", 194 "stop-ack"; 195 196 clocks = <&rpmcc RPM_CXO_CLK>; 197 clock-names = "xo"; 198 199 cx-supply = <&pm8841_s2>; 200 201 memory-region = <&adsp_region>; 202 203 qcom,smem-states = <&adsp_smp2p_out 0>; 204 qcom,smem-state-names = "stop"; 205 206 smd-edge { 207 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 208 209 qcom,ipc = <&apcs 8 8>; 210 qcom,smd-edge = <1>; 211 }; 212 }; 213