1397c619cSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2397c619cSKrzysztof Kozlowski%YAML 1.2
3397c619cSKrzysztof Kozlowski---
4397c619cSKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sc8280xp-pas.yaml#
5397c619cSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6397c619cSKrzysztof Kozlowski
7397c619cSKrzysztof Kozlowskititle: Qualcomm SC8280XP Peripheral Authentication Service
8397c619cSKrzysztof Kozlowski
9397c619cSKrzysztof Kozlowskimaintainers:
10397c619cSKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11397c619cSKrzysztof Kozlowski
12397c619cSKrzysztof Kozlowskidescription:
13397c619cSKrzysztof Kozlowski  Qualcomm SC8280XP SoC Peripheral Authentication Service loads and boots
14397c619cSKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
15397c619cSKrzysztof Kozlowski
16397c619cSKrzysztof Kozlowskiproperties:
17397c619cSKrzysztof Kozlowski  compatible:
18397c619cSKrzysztof Kozlowski    enum:
19397c619cSKrzysztof Kozlowski      - qcom,sc8280xp-adsp-pas
20397c619cSKrzysztof Kozlowski      - qcom,sc8280xp-nsp0-pas
21397c619cSKrzysztof Kozlowski      - qcom,sc8280xp-nsp1-pas
22397c619cSKrzysztof Kozlowski
23397c619cSKrzysztof Kozlowski  reg:
24397c619cSKrzysztof Kozlowski    maxItems: 1
25397c619cSKrzysztof Kozlowski
26397c619cSKrzysztof Kozlowski  clocks:
27397c619cSKrzysztof Kozlowski    items:
28397c619cSKrzysztof Kozlowski      - description: XO clock
29397c619cSKrzysztof Kozlowski
30397c619cSKrzysztof Kozlowski  clock-names:
31397c619cSKrzysztof Kozlowski    items:
32397c619cSKrzysztof Kozlowski      - const: xo
33397c619cSKrzysztof Kozlowski
34397c619cSKrzysztof Kozlowski  qcom,qmp:
35397c619cSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
36397c619cSKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
37397c619cSKrzysztof Kozlowski
38397c619cSKrzysztof Kozlowski  smd-edge: false
39397c619cSKrzysztof Kozlowski
40cee616c6SNeil Armstrong  memory-region:
41*1e5c6933SKrzysztof Kozlowski    maxItems: 1
42cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
43cee616c6SNeil Armstrong
44cee616c6SNeil Armstrong  firmware-name:
45cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
46cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
47cee616c6SNeil Armstrong
48397c619cSKrzysztof Kozlowskirequired:
49397c619cSKrzysztof Kozlowski  - compatible
50397c619cSKrzysztof Kozlowski  - reg
51*1e5c6933SKrzysztof Kozlowski  - memory-region
52397c619cSKrzysztof Kozlowski
53397c619cSKrzysztof KozlowskiallOf:
54397c619cSKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
55397c619cSKrzysztof Kozlowski  - if:
56397c619cSKrzysztof Kozlowski      properties:
57397c619cSKrzysztof Kozlowski        compatible:
58397c619cSKrzysztof Kozlowski          enum:
59397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-nsp0-pas
60397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-nsp1-pas
61397c619cSKrzysztof Kozlowski    then:
62397c619cSKrzysztof Kozlowski      properties:
63397c619cSKrzysztof Kozlowski        interrupts:
64397c619cSKrzysztof Kozlowski          maxItems: 5
65397c619cSKrzysztof Kozlowski        interrupt-names:
66397c619cSKrzysztof Kozlowski          maxItems: 5
67397c619cSKrzysztof Kozlowski    else:
68397c619cSKrzysztof Kozlowski      properties:
69397c619cSKrzysztof Kozlowski        interrupts:
70397c619cSKrzysztof Kozlowski          minItems: 6
71397c619cSKrzysztof Kozlowski        interrupt-names:
72397c619cSKrzysztof Kozlowski          minItems: 6
73397c619cSKrzysztof Kozlowski
74397c619cSKrzysztof Kozlowski  - if:
75397c619cSKrzysztof Kozlowski      properties:
76397c619cSKrzysztof Kozlowski        compatible:
77397c619cSKrzysztof Kozlowski          enum:
78397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-adsp-pas
79397c619cSKrzysztof Kozlowski    then:
80397c619cSKrzysztof Kozlowski      properties:
81397c619cSKrzysztof Kozlowski        power-domains:
82397c619cSKrzysztof Kozlowski          items:
83397c619cSKrzysztof Kozlowski            - description: LCX power domain
84397c619cSKrzysztof Kozlowski            - description: LMX power domain
85397c619cSKrzysztof Kozlowski        power-domain-names:
86397c619cSKrzysztof Kozlowski          items:
87397c619cSKrzysztof Kozlowski            - const: lcx
88397c619cSKrzysztof Kozlowski            - const: lmx
89397c619cSKrzysztof Kozlowski    else:
90397c619cSKrzysztof Kozlowski      properties:
91397c619cSKrzysztof Kozlowski        power-domains:
92397c619cSKrzysztof Kozlowski          items:
93397c619cSKrzysztof Kozlowski            - description: NSP power domain
94397c619cSKrzysztof Kozlowski        power-domain-names:
95397c619cSKrzysztof Kozlowski          items:
96397c619cSKrzysztof Kozlowski            - const: nsp
97397c619cSKrzysztof Kozlowski
98397c619cSKrzysztof KozlowskiunevaluatedProperties: false
99397c619cSKrzysztof Kozlowski
100397c619cSKrzysztof Kozlowskiexamples:
101397c619cSKrzysztof Kozlowski  - |
102397c619cSKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
103397c619cSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
104397c619cSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
105397c619cSKrzysztof Kozlowski    #include <dt-bindings/mailbox/qcom-ipcc.h>
106397c619cSKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
107397c619cSKrzysztof Kozlowski
108397c619cSKrzysztof Kozlowski    remoteproc@3000000 {
109397c619cSKrzysztof Kozlowski        compatible = "qcom,sc8280xp-adsp-pas";
110397c619cSKrzysztof Kozlowski        reg = <0x03000000 0x100>;
111397c619cSKrzysztof Kozlowski
112397c619cSKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
113397c619cSKrzysztof Kozlowski        clock-names = "xo";
114397c619cSKrzysztof Kozlowski
115397c619cSKrzysztof Kozlowski        firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
116397c619cSKrzysztof Kozlowski
117397c619cSKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
118397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
119397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
120397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
121397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
122397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
123397c619cSKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
124397c619cSKrzysztof Kozlowski                          "handover", "stop-ack", "shutdown-ack";
125397c619cSKrzysztof Kozlowski
126397c619cSKrzysztof Kozlowski        memory-region = <&pil_adsp_mem>;
127397c619cSKrzysztof Kozlowski
128397c619cSKrzysztof Kozlowski        power-domains = <&rpmhpd SC8280XP_LCX>,
129397c619cSKrzysztof Kozlowski                        <&rpmhpd SC8280XP_LMX>;
130397c619cSKrzysztof Kozlowski        power-domain-names = "lcx", "lmx";
131397c619cSKrzysztof Kozlowski
132397c619cSKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
133397c619cSKrzysztof Kozlowski        qcom,smem-states = <&smp2p_adsp_out 0>;
134397c619cSKrzysztof Kozlowski        qcom,smem-state-names = "stop";
135397c619cSKrzysztof Kozlowski
136397c619cSKrzysztof Kozlowski        glink-edge {
137397c619cSKrzysztof Kozlowski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
138397c619cSKrzysztof Kozlowski                                         IPCC_MPROC_SIGNAL_GLINK_QMP
139397c619cSKrzysztof Kozlowski                                         IRQ_TYPE_EDGE_RISING>;
140397c619cSKrzysztof Kozlowski            mboxes = <&ipcc IPCC_CLIENT_LPASS
141397c619cSKrzysztof Kozlowski                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
142397c619cSKrzysztof Kozlowski
143397c619cSKrzysztof Kozlowski            label = "lpass";
144397c619cSKrzysztof Kozlowski            qcom,remote-pid = <2>;
145397c619cSKrzysztof Kozlowski
146397c619cSKrzysztof Kozlowski            /* ... */
147397c619cSKrzysztof Kozlowski        };
148397c619cSKrzysztof Kozlowski    };
149