1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/remoteproc/qcom,sc8280xp-pas.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SC8280XP Peripheral Authentication Service 8 9maintainers: 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11 12description: 13 Qualcomm SC8280XP SoC Peripheral Authentication Service loads and boots 14 firmware on the Qualcomm DSP Hexagon cores. 15 16properties: 17 compatible: 18 enum: 19 - qcom,sc8280xp-adsp-pas 20 - qcom,sc8280xp-nsp0-pas 21 - qcom,sc8280xp-nsp1-pas 22 23 reg: 24 maxItems: 1 25 26 clocks: 27 items: 28 - description: XO clock 29 30 clock-names: 31 items: 32 - const: xo 33 34 qcom,qmp: 35 $ref: /schemas/types.yaml#/definitions/phandle 36 description: Reference to the AOSS side-channel message RAM. 37 38 smd-edge: false 39 40 memory-region: 41 minItems: 1 42 description: Reference to the reserved-memory for the Hexagon core 43 44 firmware-name: 45 $ref: /schemas/types.yaml#/definitions/string 46 description: Firmware name for the Hexagon core 47 48required: 49 - compatible 50 - reg 51 52allOf: 53 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 54 - if: 55 properties: 56 compatible: 57 enum: 58 - qcom,sc8280xp-nsp0-pas 59 - qcom,sc8280xp-nsp1-pas 60 then: 61 properties: 62 interrupts: 63 maxItems: 5 64 interrupt-names: 65 maxItems: 5 66 else: 67 properties: 68 interrupts: 69 minItems: 6 70 interrupt-names: 71 minItems: 6 72 73 - if: 74 properties: 75 compatible: 76 enum: 77 - qcom,sc8280xp-adsp-pas 78 then: 79 properties: 80 power-domains: 81 items: 82 - description: LCX power domain 83 - description: LMX power domain 84 power-domain-names: 85 items: 86 - const: lcx 87 - const: lmx 88 else: 89 properties: 90 power-domains: 91 items: 92 - description: NSP power domain 93 power-domain-names: 94 items: 95 - const: nsp 96 97unevaluatedProperties: false 98 99examples: 100 - | 101 #include <dt-bindings/clock/qcom,rpmh.h> 102 #include <dt-bindings/interrupt-controller/arm-gic.h> 103 #include <dt-bindings/interrupt-controller/irq.h> 104 #include <dt-bindings/mailbox/qcom-ipcc.h> 105 #include <dt-bindings/power/qcom-rpmpd.h> 106 107 remoteproc@3000000 { 108 compatible = "qcom,sc8280xp-adsp-pas"; 109 reg = <0x03000000 0x100>; 110 111 clocks = <&rpmhcc RPMH_CXO_CLK>; 112 clock-names = "xo"; 113 114 firmware-name = "qcom/sc8280xp/qcadsp8280.mbn"; 115 116 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 117 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 118 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 119 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 120 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>, 121 <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>; 122 interrupt-names = "wdog", "fatal", "ready", 123 "handover", "stop-ack", "shutdown-ack"; 124 125 memory-region = <&pil_adsp_mem>; 126 127 power-domains = <&rpmhpd SC8280XP_LCX>, 128 <&rpmhpd SC8280XP_LMX>; 129 power-domain-names = "lcx", "lmx"; 130 131 qcom,qmp = <&aoss_qmp>; 132 qcom,smem-states = <&smp2p_adsp_out 0>; 133 qcom,smem-state-names = "stop"; 134 135 glink-edge { 136 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 137 IPCC_MPROC_SIGNAL_GLINK_QMP 138 IRQ_TYPE_EDGE_RISING>; 139 mboxes = <&ipcc IPCC_CLIENT_LPASS 140 IPCC_MPROC_SIGNAL_GLINK_QMP>; 141 142 label = "lpass"; 143 qcom,remote-pid = <2>; 144 145 /* ... */ 146 }; 147 }; 148