1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/remoteproc/qcom,nord-pas.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Nord SoC Peripheral Authentication Service 8 9maintainers: 10 - Shawn Guo <shengchao.guo@oss.qualcomm.com> 11 12description: 13 Qualcomm Nord SoC Peripheral Authentication Service loads and boots firmware 14 on the Qualcomm DSP Hexagon cores. 15 16properties: 17 compatible: 18 enum: 19 - qcom,nord-adsp-pas 20 - qcom,nord-cdsp0-pas 21 - qcom,nord-cdsp1-pas 22 - qcom,nord-cdsp2-pas 23 - qcom,nord-cdsp3-pas 24 25 power-domains: 26 minItems: 2 27 items: 28 - description: CX power domain 29 - description: MX power domain 30 - description: NSP power domain 31 32 power-domain-names: 33 minItems: 2 34 items: 35 - const: cx 36 - const: mx 37 - const: nsp 38 39 reg: 40 maxItems: 1 41 42 clocks: 43 items: 44 - description: XO clock 45 46 clock-names: 47 items: 48 - const: xo 49 50 qcom,qmp: 51 $ref: /schemas/types.yaml#/definitions/phandle 52 description: Reference to the AOSS side-channel message RAM. 53 54 smd-edge: false 55 56 firmware-name: 57 items: 58 - description: Firmware name of the Hexagon core 59 - description: Firmware name of the Hexagon Devicetree 60 61 memory-region: 62 items: 63 - description: Memory region for main Firmware authentication 64 - description: Memory region for Devicetree Firmware authentication 65 66 interrupts: 67 items: 68 - description: Watchdog interrupt 69 - description: Fatal interrupt 70 - description: Ready interrupt 71 - description: Handover interrupt 72 - description: Stop acknowledge interrupt 73 - description: Shutdown acknowledge interrupt 74 75 interrupt-names: 76 items: 77 - const: wdog 78 - const: fatal 79 - const: ready 80 - const: handover 81 - const: stop-ack 82 - const: shutdown-ack 83 84 qcom,smem-states: 85 maxItems: 1 86 description: States used by the AP to signal the Hexagon core 87 88 qcom,smem-state-names: 89 maxItems: 1 90 description: The names of the state bits used for SMP2P output 91 92required: 93 - compatible 94 - reg 95 - memory-region 96 97allOf: 98 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 99 - if: 100 properties: 101 compatible: 102 enum: 103 - qcom,nord-adsp-pas 104 then: 105 properties: 106 power-domains: 107 maxItems: 2 108 power-domain-names: 109 maxItems: 2 110 else: 111 properties: 112 power-domains: 113 minItems: 3 114 power-domain-names: 115 minItems: 3 116 117unevaluatedProperties: false 118 119examples: 120 - | 121 #include <dt-bindings/clock/qcom,rpmh.h> 122 #include <dt-bindings/interrupt-controller/arm-gic.h> 123 #include <dt-bindings/interrupt-controller/irq.h> 124 #include <dt-bindings/mailbox/qcom-ipcc.h> 125 #include <dt-bindings/power/qcom,rpmhpd.h> 126 #define IPCC_MPROC_ADSP0 127 128 remoteproc@4c00000 { 129 compatible = "qcom,nord-adsp-pas"; 130 reg = <0x04c00000 0x10000>; 131 132 clocks = <&rpmhcc RPMH_CXO_CLK>; 133 clock-names = "xo"; 134 135 interrupts-extended = <&intc GIC_SPI 159 IRQ_TYPE_EDGE_RISING>, 136 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 137 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 138 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 139 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>, 140 <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>; 141 interrupt-names = "wdog", 142 "fatal", 143 "ready", 144 "handover", 145 "stop-ack", 146 "shutdown-ack"; 147 148 memory-region = <&hpass_dsp0_mem>, <&hpass_dsp0_dtb_mem>; 149 150 firmware-name = "qcom/nord/adsp.mbn", 151 "qcom/nord/adsp_dtb.mbn"; 152 153 power-domains = <&rpmhpd RPMHPD_CX>, 154 <&rpmhpd RPMHPD_MX>; 155 power-domain-names = "cx", 156 "mx"; 157 158 qcom,qmp = <&aoss_qmp>; 159 qcom,smem-states = <&smp2p_adsp_out 0>; 160 qcom,smem-state-names = "stop"; 161 162 glink-edge { 163 interrupts-extended = <&ipcc IPCC_MPROC_ADSP0 164 IPCC_MPROC_SIGNAL_GLINK_QMP 165 IRQ_TYPE_EDGE_RISING>; 166 mboxes = <&ipcc IPCC_MPROC_ADSP0 IPCC_MPROC_SIGNAL_GLINK_QMP>; 167 168 label = "adsp"; 169 qcom,remote-pid = <2>; 170 171 /* ... */ 172 }; 173 }; 174