1b6f8410eSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2b6f8410eSKrzysztof Kozlowski%YAML 1.2
3b6f8410eSKrzysztof Kozlowski---
4b6f8410eSKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sdx55-pas.yaml#
5b6f8410eSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6b6f8410eSKrzysztof Kozlowski
7b6f8410eSKrzysztof Kozlowskititle: Qualcomm SDX55 Peripheral Authentication Service
8b6f8410eSKrzysztof Kozlowski
9b6f8410eSKrzysztof Kozlowskimaintainers:
10b6f8410eSKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11b6f8410eSKrzysztof Kozlowski
12b6f8410eSKrzysztof Kozlowskidescription:
13b6f8410eSKrzysztof Kozlowski  Qualcomm SDX55 SoC Peripheral Authentication Service loads and boots firmware
14b6f8410eSKrzysztof Kozlowski  on the Qualcomm DSP Hexagon cores.
15b6f8410eSKrzysztof Kozlowski
16b6f8410eSKrzysztof Kozlowskiproperties:
17b6f8410eSKrzysztof Kozlowski  compatible:
18b6f8410eSKrzysztof Kozlowski    enum:
19b6f8410eSKrzysztof Kozlowski      - qcom,sdx55-mpss-pas
20b6f8410eSKrzysztof Kozlowski
21b6f8410eSKrzysztof Kozlowski  reg:
22b6f8410eSKrzysztof Kozlowski    maxItems: 1
23b6f8410eSKrzysztof Kozlowski
24b6f8410eSKrzysztof Kozlowski  clocks:
25b6f8410eSKrzysztof Kozlowski    items:
26b6f8410eSKrzysztof Kozlowski      - description: XO clock
27b6f8410eSKrzysztof Kozlowski
28b6f8410eSKrzysztof Kozlowski  clock-names:
29b6f8410eSKrzysztof Kozlowski    items:
30b6f8410eSKrzysztof Kozlowski      - const: xo
31b6f8410eSKrzysztof Kozlowski
32b6f8410eSKrzysztof Kozlowski  interrupts:
33b6f8410eSKrzysztof Kozlowski    minItems: 6
34b6f8410eSKrzysztof Kozlowski
35b6f8410eSKrzysztof Kozlowski  interrupt-names:
36b6f8410eSKrzysztof Kozlowski    minItems: 6
37b6f8410eSKrzysztof Kozlowski
38b6f8410eSKrzysztof Kozlowski  power-domains:
39b6f8410eSKrzysztof Kozlowski    items:
40b6f8410eSKrzysztof Kozlowski      - description: CX power domain
41b6f8410eSKrzysztof Kozlowski      - description: MSS power domain
42b6f8410eSKrzysztof Kozlowski
43b6f8410eSKrzysztof Kozlowski  power-domain-names:
44b6f8410eSKrzysztof Kozlowski    items:
45b6f8410eSKrzysztof Kozlowski      - const: cx
46b6f8410eSKrzysztof Kozlowski      - const: mss
47b6f8410eSKrzysztof Kozlowski
48cee616c6SNeil Armstrong  memory-region:
49*1e5c6933SKrzysztof Kozlowski    maxItems: 1
50cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
51cee616c6SNeil Armstrong
52b6f8410eSKrzysztof Kozlowski  qcom,qmp:
53b6f8410eSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
54b6f8410eSKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
55b6f8410eSKrzysztof Kozlowski
56b6f8410eSKrzysztof Kozlowski  smd-edge: false
57b6f8410eSKrzysztof Kozlowski
58cee616c6SNeil Armstrong  firmware-name:
59cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
60cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
61cee616c6SNeil Armstrong
62b6f8410eSKrzysztof Kozlowskirequired:
63b6f8410eSKrzysztof Kozlowski  - compatible
64b6f8410eSKrzysztof Kozlowski  - reg
65*1e5c6933SKrzysztof Kozlowski  - memory-region
66b6f8410eSKrzysztof Kozlowski
67b6f8410eSKrzysztof KozlowskiallOf:
68b6f8410eSKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
69b6f8410eSKrzysztof Kozlowski
70b6f8410eSKrzysztof KozlowskiunevaluatedProperties: false
71b6f8410eSKrzysztof Kozlowski
72b6f8410eSKrzysztof Kozlowskiexamples:
73b6f8410eSKrzysztof Kozlowski  - |
74b6f8410eSKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
75b6f8410eSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
76b6f8410eSKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
77b6f8410eSKrzysztof Kozlowski
78b6f8410eSKrzysztof Kozlowski    remoteproc@4080000 {
79b6f8410eSKrzysztof Kozlowski        compatible = "qcom,sdx55-mpss-pas";
80b6f8410eSKrzysztof Kozlowski        reg = <0x04080000 0x4040>;
81b6f8410eSKrzysztof Kozlowski
82b6f8410eSKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
83b6f8410eSKrzysztof Kozlowski        clock-names = "xo";
84b6f8410eSKrzysztof Kozlowski
85b6f8410eSKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
86b6f8410eSKrzysztof Kozlowski                              <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
87b6f8410eSKrzysztof Kozlowski                              <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
88b6f8410eSKrzysztof Kozlowski                              <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
89b6f8410eSKrzysztof Kozlowski                              <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
90b6f8410eSKrzysztof Kozlowski                              <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
91b6f8410eSKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready", "handover",
92b6f8410eSKrzysztof Kozlowski                          "stop-ack", "shutdown-ack";
93b6f8410eSKrzysztof Kozlowski
94b6f8410eSKrzysztof Kozlowski        memory-region = <&mpss_adsp_mem>;
95b6f8410eSKrzysztof Kozlowski
96b6f8410eSKrzysztof Kozlowski        power-domains = <&rpmhpd SDX55_CX>, <&rpmhpd SDX55_MSS>;
97b6f8410eSKrzysztof Kozlowski        power-domain-names = "cx", "mss";
98b6f8410eSKrzysztof Kozlowski
99b6f8410eSKrzysztof Kozlowski        qcom,smem-states = <&modem_smp2p_out 0>;
100b6f8410eSKrzysztof Kozlowski        qcom,smem-state-names = "stop";
101b6f8410eSKrzysztof Kozlowski
102b6f8410eSKrzysztof Kozlowski        glink-edge {
103b6f8410eSKrzysztof Kozlowski            interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
104b6f8410eSKrzysztof Kozlowski            label = "mpss";
105b6f8410eSKrzysztof Kozlowski            mboxes = <&apcs 15>;
106b6f8410eSKrzysztof Kozlowski            qcom,remote-pid = <1>;
107b6f8410eSKrzysztof Kozlowski
108b6f8410eSKrzysztof Kozlowski            /* ... */
109b6f8410eSKrzysztof Kozlowski        };
110b6f8410eSKrzysztof Kozlowski    };
111