1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/remoteproc/qcom,sm8350-pas.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SM8350/SM8450 Peripheral Authentication Service 8 9maintainers: 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11 12description: 13 Qualcomm SM8350/SM8450 SoC Peripheral Authentication Service loads and boots 14 firmware on the Qualcomm DSP Hexagon cores. 15 16properties: 17 compatible: 18 oneOf: 19 - enum: 20 - qcom,sar2130p-adsp-pas 21 - qcom,sm8350-adsp-pas 22 - qcom,sm8350-cdsp-pas 23 - qcom,sm8350-slpi-pas 24 - qcom,sm8350-mpss-pas 25 - qcom,sm8450-adsp-pas 26 - qcom,sm8450-cdsp-pas 27 - qcom,sm8450-mpss-pas 28 - qcom,sm8450-slpi-pas 29 - items: 30 - const: qcom,sc8280xp-slpi-pas 31 - const: qcom,sm8350-slpi-pas 32 33 reg: 34 maxItems: 1 35 36 clocks: 37 items: 38 - description: XO clock 39 40 clock-names: 41 items: 42 - const: xo 43 44 qcom,qmp: 45 $ref: /schemas/types.yaml#/definitions/phandle 46 description: Reference to the AOSS side-channel message RAM. 47 48 smd-edge: false 49 50 memory-region: 51 maxItems: 1 52 description: Reference to the reserved-memory for the Hexagon core 53 54 firmware-name: 55 maxItems: 1 56 description: Firmware name for the Hexagon core 57 58required: 59 - compatible 60 - reg 61 - memory-region 62 63allOf: 64 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 65 - if: 66 properties: 67 compatible: 68 contains: 69 enum: 70 - qcom,sar2130p-adsp-pas 71 - qcom,sm8350-adsp-pas 72 - qcom,sm8350-cdsp-pas 73 - qcom,sm8350-slpi-pas 74 - qcom,sm8450-adsp-pas 75 - qcom,sm8450-cdsp-pas 76 - qcom,sm8450-slpi-pas 77 then: 78 properties: 79 interrupts: 80 maxItems: 5 81 interrupt-names: 82 maxItems: 5 83 else: 84 properties: 85 interrupts: 86 minItems: 6 87 interrupt-names: 88 minItems: 6 89 90 - if: 91 properties: 92 compatible: 93 enum: 94 - qcom,sm8350-mpss-pas 95 - qcom,sm8450-mpss-pas 96 then: 97 properties: 98 power-domains: 99 items: 100 - description: CX power domain 101 - description: MSS power domain 102 power-domain-names: 103 items: 104 - const: cx 105 - const: mss 106 107 - if: 108 properties: 109 compatible: 110 contains: 111 enum: 112 - qcom,sar2130p-adsp-pas 113 - qcom,sm8350-adsp-pas 114 - qcom,sm8350-slpi-pas 115 - qcom,sm8450-adsp-pas 116 - qcom,sm8450-slpi-pas 117 then: 118 properties: 119 power-domains: 120 items: 121 - description: LCX power domain 122 - description: LMX power domain 123 power-domain-names: 124 items: 125 - const: lcx 126 - const: lmx 127 128 - if: 129 properties: 130 compatible: 131 enum: 132 - qcom,sm8350-cdsp-pas 133 - qcom,sm8450-cdsp-pas 134 then: 135 properties: 136 power-domains: 137 items: 138 - description: CX power domain 139 - description: MXC power domain 140 power-domain-names: 141 items: 142 - const: cx 143 - const: mxc 144 145unevaluatedProperties: false 146 147examples: 148 - | 149 #include <dt-bindings/clock/qcom,rpmh.h> 150 #include <dt-bindings/interrupt-controller/irq.h> 151 #include <dt-bindings/mailbox/qcom-ipcc.h> 152 #include <dt-bindings/power/qcom,rpmhpd.h> 153 154 remoteproc@30000000 { 155 compatible = "qcom,sm8450-adsp-pas"; 156 reg = <0x030000000 0x100>; 157 158 clocks = <&rpmhcc RPMH_CXO_CLK>; 159 clock-names = "xo"; 160 161 firmware-name = "qcom/sm8450/adsp.mbn"; 162 163 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, 164 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 165 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 166 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 167 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 168 interrupt-names = "wdog", "fatal", "ready", 169 "handover", "stop-ack"; 170 171 memory-region = <&adsp_mem>; 172 173 power-domains = <&rpmhpd RPMHPD_LCX>, 174 <&rpmhpd RPMHPD_LMX>; 175 power-domain-names = "lcx", "lmx"; 176 177 qcom,qmp = <&aoss_qmp>; 178 qcom,smem-states = <&smp2p_adsp_out 0>; 179 qcom,smem-state-names = "stop"; 180 181 glink-edge { 182 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 183 IPCC_MPROC_SIGNAL_GLINK_QMP 184 IRQ_TYPE_EDGE_RISING>; 185 mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>; 186 187 label = "lpass"; 188 qcom,remote-pid = <2>; 189 190 /* ... */ 191 }; 192 }; 193