1255d7a95SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2255d7a95SKrzysztof Kozlowski%YAML 1.2
3255d7a95SKrzysztof Kozlowski---
4255d7a95SKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,qcs404-pas.yaml#
5255d7a95SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6255d7a95SKrzysztof Kozlowski
7255d7a95SKrzysztof Kozlowskititle: Qualcomm QCS404 Peripheral Authentication Service
8255d7a95SKrzysztof Kozlowski
9255d7a95SKrzysztof Kozlowskimaintainers:
10255d7a95SKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11255d7a95SKrzysztof Kozlowski
12255d7a95SKrzysztof Kozlowskidescription:
13255d7a95SKrzysztof Kozlowski  Qualcomm QCS404 SoC Peripheral Authentication Service loads and boots
14255d7a95SKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
15255d7a95SKrzysztof Kozlowski
16255d7a95SKrzysztof Kozlowskiproperties:
17255d7a95SKrzysztof Kozlowski  compatible:
18255d7a95SKrzysztof Kozlowski    enum:
19255d7a95SKrzysztof Kozlowski      - qcom,qcs404-adsp-pas
20255d7a95SKrzysztof Kozlowski      - qcom,qcs404-cdsp-pas
21255d7a95SKrzysztof Kozlowski      - qcom,qcs404-wcss-pas
22255d7a95SKrzysztof Kozlowski
23255d7a95SKrzysztof Kozlowski  reg:
24255d7a95SKrzysztof Kozlowski    maxItems: 1
25255d7a95SKrzysztof Kozlowski
26255d7a95SKrzysztof Kozlowski  clocks:
27255d7a95SKrzysztof Kozlowski    items:
28255d7a95SKrzysztof Kozlowski      - description: XO clock
29255d7a95SKrzysztof Kozlowski
30255d7a95SKrzysztof Kozlowski  clock-names:
31255d7a95SKrzysztof Kozlowski    items:
32255d7a95SKrzysztof Kozlowski      - const: xo
33255d7a95SKrzysztof Kozlowski
34255d7a95SKrzysztof Kozlowski  interrupts:
35255d7a95SKrzysztof Kozlowski    maxItems: 5
36255d7a95SKrzysztof Kozlowski
37255d7a95SKrzysztof Kozlowski  interrupt-names:
38255d7a95SKrzysztof Kozlowski    maxItems: 5
39255d7a95SKrzysztof Kozlowski
40255d7a95SKrzysztof Kozlowski  power-domains: false
41255d7a95SKrzysztof Kozlowski  power-domain-names: false
42255d7a95SKrzysztof Kozlowski  smd-edge: false
43255d7a95SKrzysztof Kozlowski
44cee616c6SNeil Armstrong  memory-region:
45*1e5c6933SKrzysztof Kozlowski    maxItems: 1
46cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
47cee616c6SNeil Armstrong
48cee616c6SNeil Armstrong  firmware-name:
49cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
50cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
51cee616c6SNeil Armstrong
52255d7a95SKrzysztof Kozlowskirequired:
53255d7a95SKrzysztof Kozlowski  - compatible
54255d7a95SKrzysztof Kozlowski  - reg
55*1e5c6933SKrzysztof Kozlowski  - memory-region
56255d7a95SKrzysztof Kozlowski
57255d7a95SKrzysztof KozlowskiallOf:
58255d7a95SKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
59255d7a95SKrzysztof Kozlowski
60255d7a95SKrzysztof KozlowskiunevaluatedProperties: false
61255d7a95SKrzysztof Kozlowski
62255d7a95SKrzysztof Kozlowskiexamples:
63255d7a95SKrzysztof Kozlowski  - |
64255d7a95SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
65255d7a95SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
66255d7a95SKrzysztof Kozlowski
67255d7a95SKrzysztof Kozlowski    remoteproc@c700000 {
68255d7a95SKrzysztof Kozlowski        compatible = "qcom,qcs404-adsp-pas";
69255d7a95SKrzysztof Kozlowski        reg = <0x0c700000 0x4040>;
70255d7a95SKrzysztof Kozlowski
71255d7a95SKrzysztof Kozlowski        clocks = <&xo_board>;
72255d7a95SKrzysztof Kozlowski        clock-names = "xo";
73255d7a95SKrzysztof Kozlowski
74255d7a95SKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
75255d7a95SKrzysztof Kozlowski                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
76255d7a95SKrzysztof Kozlowski                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
77255d7a95SKrzysztof Kozlowski                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
78255d7a95SKrzysztof Kozlowski                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
79255d7a95SKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
80255d7a95SKrzysztof Kozlowski                          "handover", "stop-ack";
81255d7a95SKrzysztof Kozlowski
82255d7a95SKrzysztof Kozlowski        memory-region = <&adsp_fw_mem>;
83255d7a95SKrzysztof Kozlowski
84255d7a95SKrzysztof Kozlowski        qcom,smem-states = <&adsp_smp2p_out 0>;
85255d7a95SKrzysztof Kozlowski        qcom,smem-state-names = "stop";
86255d7a95SKrzysztof Kozlowski
87255d7a95SKrzysztof Kozlowski        glink-edge {
88255d7a95SKrzysztof Kozlowski            interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
89255d7a95SKrzysztof Kozlowski
90255d7a95SKrzysztof Kozlowski            qcom,remote-pid = <2>;
91255d7a95SKrzysztof Kozlowski            mboxes = <&apcs_glb 8>;
92255d7a95SKrzysztof Kozlowski
93255d7a95SKrzysztof Kozlowski            label = "adsp";
94255d7a95SKrzysztof Kozlowski        };
95255d7a95SKrzysztof Kozlowski    };
96