1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,qcs404-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm QCS404 Peripheral Authentication Service
8
9maintainers:
10  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12description:
13  Qualcomm QCS404 SoC Peripheral Authentication Service loads and boots
14  firmware on the Qualcomm DSP Hexagon cores.
15
16properties:
17  compatible:
18    enum:
19      - qcom,qcs404-adsp-pas
20      - qcom,qcs404-cdsp-pas
21      - qcom,qcs404-wcss-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  interrupts:
35    maxItems: 5
36
37  interrupt-names:
38    maxItems: 5
39
40  power-domains: false
41  power-domain-names: false
42  smd-edge: false
43
44  memory-region:
45    minItems: 1
46    description: Reference to the reserved-memory for the Hexagon core
47
48  firmware-name:
49    $ref: /schemas/types.yaml#/definitions/string
50    description: Firmware name for the Hexagon core
51
52required:
53  - compatible
54  - reg
55
56allOf:
57  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
58
59unevaluatedProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/interrupt-controller/arm-gic.h>
64    #include <dt-bindings/interrupt-controller/irq.h>
65
66    remoteproc@c700000 {
67        compatible = "qcom,qcs404-adsp-pas";
68        reg = <0x0c700000 0x4040>;
69
70        clocks = <&xo_board>;
71        clock-names = "xo";
72
73        interrupts-extended = <&intc GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
74                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
75                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
76                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
77                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
78        interrupt-names = "wdog", "fatal", "ready",
79                          "handover", "stop-ack";
80
81        memory-region = <&adsp_fw_mem>;
82
83        qcom,smem-states = <&adsp_smp2p_out 0>;
84        qcom,smem-state-names = "stop";
85
86        glink-edge {
87            interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
88
89            qcom,remote-pid = <2>;
90            mboxes = <&apcs_glb 8>;
91
92            label = "adsp";
93        };
94    };
95