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