1084258d6SNeil Armstrong# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2084258d6SNeil Armstrong%YAML 1.2 3084258d6SNeil Armstrong--- 4084258d6SNeil Armstrong$id: http://devicetree.org/schemas/remoteproc/qcom,sm8550-pas.yaml# 5084258d6SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 6084258d6SNeil Armstrong 7084258d6SNeil Armstrongtitle: Qualcomm SM8550 Peripheral Authentication Service 8084258d6SNeil Armstrong 9084258d6SNeil Armstrongmaintainers: 10084258d6SNeil Armstrong - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11084258d6SNeil Armstrong 12084258d6SNeil Armstrongdescription: 13084258d6SNeil Armstrong Qualcomm SM8550 SoC Peripheral Authentication Service loads and boots firmware 14084258d6SNeil Armstrong on the Qualcomm DSP Hexagon cores. 15084258d6SNeil Armstrong 16084258d6SNeil Armstrongproperties: 17084258d6SNeil Armstrong compatible: 18084258d6SNeil Armstrong enum: 19084258d6SNeil Armstrong - qcom,sm8550-adsp-pas 20084258d6SNeil Armstrong - qcom,sm8550-cdsp-pas 21084258d6SNeil Armstrong - qcom,sm8550-mpss-pas 22084258d6SNeil Armstrong 23084258d6SNeil Armstrong reg: 24084258d6SNeil Armstrong maxItems: 1 25084258d6SNeil Armstrong 26084258d6SNeil Armstrong clocks: 27084258d6SNeil Armstrong items: 28084258d6SNeil Armstrong - description: XO clock 29084258d6SNeil Armstrong 30084258d6SNeil Armstrong clock-names: 31084258d6SNeil Armstrong items: 32084258d6SNeil Armstrong - const: xo 33084258d6SNeil Armstrong 34084258d6SNeil Armstrong qcom,qmp: 35084258d6SNeil Armstrong $ref: /schemas/types.yaml#/definitions/phandle 36084258d6SNeil Armstrong description: Reference to the AOSS side-channel message RAM. 37084258d6SNeil Armstrong 38084258d6SNeil Armstrong smd-edge: false 39084258d6SNeil Armstrong 40084258d6SNeil Armstrong firmware-name: 41084258d6SNeil Armstrong $ref: /schemas/types.yaml#/definitions/string-array 42084258d6SNeil Armstrong items: 43084258d6SNeil Armstrong - description: Firmware name of the Hexagon core 44084258d6SNeil Armstrong - description: Firmware name of the Hexagon Devicetree 45084258d6SNeil Armstrong 46084258d6SNeil Armstrong memory-region: 47084258d6SNeil Armstrong minItems: 2 48084258d6SNeil Armstrong items: 49084258d6SNeil Armstrong - description: Memory region for main Firmware authentication 50084258d6SNeil Armstrong - description: Memory region for Devicetree Firmware authentication 51084258d6SNeil Armstrong - description: DSM Memory region 52084258d6SNeil Armstrong 53084258d6SNeil Armstrongrequired: 54084258d6SNeil Armstrong - compatible 55084258d6SNeil Armstrong - reg 56*ed850322SKrzysztof Kozlowski - memory-region 57084258d6SNeil Armstrong 58084258d6SNeil ArmstrongallOf: 59084258d6SNeil Armstrong - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 60084258d6SNeil Armstrong - if: 61084258d6SNeil Armstrong properties: 62084258d6SNeil Armstrong compatible: 63084258d6SNeil Armstrong enum: 64084258d6SNeil Armstrong - qcom,sm8550-adsp-pas 65084258d6SNeil Armstrong - qcom,sm8550-cdsp-pas 66084258d6SNeil Armstrong then: 67084258d6SNeil Armstrong properties: 68084258d6SNeil Armstrong interrupts: 69084258d6SNeil Armstrong maxItems: 5 70084258d6SNeil Armstrong interrupt-names: 71084258d6SNeil Armstrong maxItems: 5 72084258d6SNeil Armstrong memory-region: 73084258d6SNeil Armstrong maxItems: 2 74084258d6SNeil Armstrong else: 75084258d6SNeil Armstrong properties: 76084258d6SNeil Armstrong interrupts: 77084258d6SNeil Armstrong minItems: 6 78084258d6SNeil Armstrong interrupt-names: 79084258d6SNeil Armstrong minItems: 6 80084258d6SNeil Armstrong memory-region: 81084258d6SNeil Armstrong minItems: 3 82084258d6SNeil Armstrong 83084258d6SNeil Armstrong - if: 84084258d6SNeil Armstrong properties: 85084258d6SNeil Armstrong compatible: 86084258d6SNeil Armstrong enum: 87084258d6SNeil Armstrong - qcom,sm8550-adsp-pas 88084258d6SNeil Armstrong then: 89084258d6SNeil Armstrong properties: 90084258d6SNeil Armstrong power-domains: 91084258d6SNeil Armstrong items: 92084258d6SNeil Armstrong - description: LCX power domain 93084258d6SNeil Armstrong - description: LMX power domain 94084258d6SNeil Armstrong power-domain-names: 95084258d6SNeil Armstrong items: 96084258d6SNeil Armstrong - const: lcx 97084258d6SNeil Armstrong - const: lmx 98084258d6SNeil Armstrong 99084258d6SNeil Armstrong - if: 100084258d6SNeil Armstrong properties: 101084258d6SNeil Armstrong compatible: 102084258d6SNeil Armstrong enum: 1036f998eb2SKrzysztof Kozlowski - qcom,sm8550-mpss-pas 104084258d6SNeil Armstrong then: 105084258d6SNeil Armstrong properties: 106084258d6SNeil Armstrong power-domains: 107084258d6SNeil Armstrong items: 108084258d6SNeil Armstrong - description: CX power domain 1096f998eb2SKrzysztof Kozlowski - description: MSS power domain 110084258d6SNeil Armstrong power-domain-names: 111084258d6SNeil Armstrong items: 112084258d6SNeil Armstrong - const: cx 1136f998eb2SKrzysztof Kozlowski - const: mss 114084258d6SNeil Armstrong - if: 115084258d6SNeil Armstrong properties: 116084258d6SNeil Armstrong compatible: 117084258d6SNeil Armstrong enum: 1186f998eb2SKrzysztof Kozlowski - qcom,sm8550-cdsp-pas 119084258d6SNeil Armstrong then: 120084258d6SNeil Armstrong properties: 121084258d6SNeil Armstrong power-domains: 122084258d6SNeil Armstrong items: 123084258d6SNeil Armstrong - description: CX power domain 124084258d6SNeil Armstrong - description: MXC power domain 125084258d6SNeil Armstrong - description: NSP power domain 126084258d6SNeil Armstrong power-domain-names: 127084258d6SNeil Armstrong items: 128084258d6SNeil Armstrong - const: cx 129084258d6SNeil Armstrong - const: mxc 130084258d6SNeil Armstrong - const: nsp 131084258d6SNeil Armstrong 132084258d6SNeil ArmstrongunevaluatedProperties: false 133084258d6SNeil Armstrong 134084258d6SNeil Armstrongexamples: 135084258d6SNeil Armstrong - | 136084258d6SNeil Armstrong #include <dt-bindings/clock/qcom,rpmh.h> 137084258d6SNeil Armstrong #include <dt-bindings/interrupt-controller/irq.h> 138084258d6SNeil Armstrong #include <dt-bindings/mailbox/qcom-ipcc.h> 139084258d6SNeil Armstrong 140084258d6SNeil Armstrong remoteproc@30000000 { 141084258d6SNeil Armstrong compatible = "qcom,sm8550-adsp-pas"; 142084258d6SNeil Armstrong reg = <0x030000000 0x100>; 143084258d6SNeil Armstrong 144084258d6SNeil Armstrong clocks = <&rpmhcc RPMH_CXO_CLK>; 145084258d6SNeil Armstrong clock-names = "xo"; 146084258d6SNeil Armstrong 147084258d6SNeil Armstrong interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, 148084258d6SNeil Armstrong <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 149084258d6SNeil Armstrong <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 150084258d6SNeil Armstrong <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 151084258d6SNeil Armstrong <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 152084258d6SNeil Armstrong interrupt-names = "wdog", "fatal", "ready", 153084258d6SNeil Armstrong "handover", "stop-ack"; 154084258d6SNeil Armstrong 155084258d6SNeil Armstrong memory-region = <&adsp_mem>, <&dtb_adsp_mem>; 156084258d6SNeil Armstrong 157084258d6SNeil Armstrong firmware-name = "qcom/sm8550/adsp.mbn", 158084258d6SNeil Armstrong "qcom/sm8550/adsp_dtb.mbn"; 159084258d6SNeil Armstrong 160084258d6SNeil Armstrong power-domains = <&rpmhpd_sm8550_lcx>, 161084258d6SNeil Armstrong <&rpmhpd_sm8550_lmx>; 162084258d6SNeil Armstrong power-domain-names = "lcx", "lmx"; 163084258d6SNeil Armstrong 164084258d6SNeil Armstrong qcom,qmp = <&aoss_qmp>; 165084258d6SNeil Armstrong qcom,smem-states = <&smp2p_adsp_out 0>; 166084258d6SNeil Armstrong qcom,smem-state-names = "stop"; 167084258d6SNeil Armstrong 168084258d6SNeil Armstrong glink-edge { 169084258d6SNeil Armstrong interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 170084258d6SNeil Armstrong IPCC_MPROC_SIGNAL_GLINK_QMP 171084258d6SNeil Armstrong IRQ_TYPE_EDGE_RISING>; 172084258d6SNeil Armstrong mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>; 173084258d6SNeil Armstrong 174084258d6SNeil Armstrong label = "lpass"; 175084258d6SNeil Armstrong qcom,remote-pid = <2>; 176084258d6SNeil Armstrong 177084258d6SNeil Armstrong /* ... */ 178084258d6SNeil Armstrong }; 179084258d6SNeil Armstrong }; 180