221 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 Loader8 9maintainers:10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>11 12description:13 This document defines the binding for a component that loads and boots14 firmware on the Qualcomm ADSP Hexagon core.15 16properties:17 compatible:18 enum:19 - qcom,msm8226-adsp-pil20 - qcom,msm8953-adsp-pil21 - qcom,msm8974-adsp-pil22 - qcom,msm8996-adsp-pil23 - qcom,msm8996-slpi-pil24 - qcom,msm8998-adsp-pas25 - qcom,msm8998-slpi-pas26 - qcom,sdm660-adsp-pas27 - qcom,sdm845-adsp-pas28 - qcom,sdm845-cdsp-pas29 - qcom,sdm845-slpi-pas30 31 reg:32 maxItems: 133 34 cx-supply:35 description: Phandle to the CX regulator36 37 px-supply:38 description: Phandle to the PX regulator39 40 qcom,qmp:41 $ref: /schemas/types.yaml#/definitions/phandle42 description: Reference to the AOSS side-channel message RAM.43 44 memory-region:45 maxItems: 146 description: Reference to the reserved-memory for the Hexagon core47 48 firmware-name:49 maxItems: 150 description: Firmware name for the Hexagon core51 52required:53 - compatible54 - memory-region55 56unevaluatedProperties: false57 58allOf:59 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#60 - if:61 properties:62 compatible:63 contains:64 enum:65 - qcom,msm8226-adsp-pil66 - qcom,msm8953-adsp-pil67 - qcom,msm8974-adsp-pil68 - qcom,msm8996-adsp-pil69 - qcom,msm8996-slpi-pil70 - qcom,msm8998-adsp-pas71 - qcom,msm8998-slpi-pas72 - qcom,sdm845-adsp-pas73 - qcom,sdm845-cdsp-pas74 - qcom,sdm845-slpi-pas75 then:76 properties:77 clocks:78 items:79 - description: XO clock80 clock-names:81 items:82 - const: xo83 84 - if:85 properties:86 compatible:87 contains:88 enum:89 - qcom,msm8226-adsp-pil90 - qcom,msm8953-adsp-pil91 - qcom,msm8974-adsp-pil92 - qcom,msm8996-adsp-pil93 - qcom,msm8996-slpi-pil94 - qcom,msm8998-adsp-pas95 - qcom,msm8998-slpi-pas96 - qcom,sdm845-adsp-pas97 - qcom,sdm845-cdsp-pas98 - qcom,sdm845-slpi-pas99 then:100 properties:101 interrupts:102 maxItems: 5103 interrupt-names:104 maxItems: 5105 106 - if:107 properties:108 compatible:109 contains:110 enum:111 - qcom,msm8974-adsp-pil112 then:113 required:114 - cx-supply115 116 - if:117 properties:118 compatible:119 contains:120 enum:121 - qcom,msm8226-adsp-pil122 - qcom,msm8953-adsp-pil123 - qcom,msm8996-adsp-pil124 - qcom,msm8998-adsp-pas125 then:126 properties:127 power-domains:128 items:129 - description: CX power domain130 power-domain-names:131 items:132 - const: cx133 134 - if:135 properties:136 compatible:137 contains:138 enum:139 - qcom,msm8996-slpi-pil140 - qcom,msm8998-slpi-pas141 then:142 properties:143 power-domains:144 items:145 - description: SSC-CX power domain146 power-domain-names:147 items:148 - const: ssc_cx149 required:150 - px-supply151 152 - if:153 properties:154 compatible:155 enum:156 - qcom,sdm845-slpi-pas157 then:158 properties:159 power-domains:160 items:161 - description: LCX power domain162 - description: LMX power domain163 power-domain-names:164 items:165 - const: lcx166 - const: lmx167 168 - if:169 properties:170 compatible:171 contains:172 enum:173 - qcom,msm8226-adsp-pil174 - qcom,msm8953-adsp-pil175 - qcom,msm8974-adsp-pil176 - qcom,msm8996-adsp-pil177 - qcom,msm8996-slpi-pil178 - qcom,msm8998-adsp-pas179 - qcom,msm8998-slpi-pas180 - qcom,sdm660-adsp-pas181 then:182 properties:183 qcom,qmp: false184 185examples:186 - |187 #include <dt-bindings/clock/qcom,rpmcc.h>188 #include <dt-bindings/interrupt-controller/arm-gic.h>189 #include <dt-bindings/interrupt-controller/irq.h>190 adsp {191 compatible = "qcom,msm8974-adsp-pil";192 193 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,194 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,195 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,196 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,197 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;198 interrupt-names = "wdog",199 "fatal",200 "ready",201 "handover",202 "stop-ack";203 204 clocks = <&rpmcc RPM_CXO_CLK>;205 clock-names = "xo";206 207 cx-supply = <&pm8841_s2>;208 209 memory-region = <&adsp_region>;210 211 qcom,smem-states = <&adsp_smp2p_out 0>;212 qcom,smem-state-names = "stop";213 214 smd-edge {215 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;216 217 qcom,ipc = <&apcs 8 8>;218 qcom,smd-edge = <1>;219 };220 };221