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
40*cee616c6SNeil Armstrong  memory-region:
41*cee616c6SNeil Armstrong    minItems: 1
42*cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
43*cee616c6SNeil Armstrong
44*cee616c6SNeil Armstrong  firmware-name:
45*cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
46*cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
47*cee616c6SNeil Armstrong
48397c619cSKrzysztof Kozlowskirequired:
49397c619cSKrzysztof Kozlowski  - compatible
50397c619cSKrzysztof Kozlowski  - reg
51397c619cSKrzysztof Kozlowski
52397c619cSKrzysztof KozlowskiallOf:
53397c619cSKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
54397c619cSKrzysztof Kozlowski  - if:
55397c619cSKrzysztof Kozlowski      properties:
56397c619cSKrzysztof Kozlowski        compatible:
57397c619cSKrzysztof Kozlowski          enum:
58397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-nsp0-pas
59397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-nsp1-pas
60397c619cSKrzysztof Kozlowski    then:
61397c619cSKrzysztof Kozlowski      properties:
62397c619cSKrzysztof Kozlowski        interrupts:
63397c619cSKrzysztof Kozlowski          maxItems: 5
64397c619cSKrzysztof Kozlowski        interrupt-names:
65397c619cSKrzysztof Kozlowski          maxItems: 5
66397c619cSKrzysztof Kozlowski    else:
67397c619cSKrzysztof Kozlowski      properties:
68397c619cSKrzysztof Kozlowski        interrupts:
69397c619cSKrzysztof Kozlowski          minItems: 6
70397c619cSKrzysztof Kozlowski        interrupt-names:
71397c619cSKrzysztof Kozlowski          minItems: 6
72397c619cSKrzysztof Kozlowski
73397c619cSKrzysztof Kozlowski  - if:
74397c619cSKrzysztof Kozlowski      properties:
75397c619cSKrzysztof Kozlowski        compatible:
76397c619cSKrzysztof Kozlowski          enum:
77397c619cSKrzysztof Kozlowski            - qcom,sc8280xp-adsp-pas
78397c619cSKrzysztof Kozlowski    then:
79397c619cSKrzysztof Kozlowski      properties:
80397c619cSKrzysztof Kozlowski        power-domains:
81397c619cSKrzysztof Kozlowski          items:
82397c619cSKrzysztof Kozlowski            - description: LCX power domain
83397c619cSKrzysztof Kozlowski            - description: LMX power domain
84397c619cSKrzysztof Kozlowski        power-domain-names:
85397c619cSKrzysztof Kozlowski          items:
86397c619cSKrzysztof Kozlowski            - const: lcx
87397c619cSKrzysztof Kozlowski            - const: lmx
88397c619cSKrzysztof Kozlowski    else:
89397c619cSKrzysztof Kozlowski      properties:
90397c619cSKrzysztof Kozlowski        power-domains:
91397c619cSKrzysztof Kozlowski          items:
92397c619cSKrzysztof Kozlowski            - description: NSP power domain
93397c619cSKrzysztof Kozlowski        power-domain-names:
94397c619cSKrzysztof Kozlowski          items:
95397c619cSKrzysztof Kozlowski            - const: nsp
96397c619cSKrzysztof Kozlowski
97397c619cSKrzysztof KozlowskiunevaluatedProperties: false
98397c619cSKrzysztof Kozlowski
99397c619cSKrzysztof Kozlowskiexamples:
100397c619cSKrzysztof Kozlowski  - |
101397c619cSKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
102397c619cSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
103397c619cSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
104397c619cSKrzysztof Kozlowski    #include <dt-bindings/mailbox/qcom-ipcc.h>
105397c619cSKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
106397c619cSKrzysztof Kozlowski
107397c619cSKrzysztof Kozlowski    remoteproc@3000000 {
108397c619cSKrzysztof Kozlowski        compatible = "qcom,sc8280xp-adsp-pas";
109397c619cSKrzysztof Kozlowski        reg = <0x03000000 0x100>;
110397c619cSKrzysztof Kozlowski
111397c619cSKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
112397c619cSKrzysztof Kozlowski        clock-names = "xo";
113397c619cSKrzysztof Kozlowski
114397c619cSKrzysztof Kozlowski        firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
115397c619cSKrzysztof Kozlowski
116397c619cSKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
117397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
118397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
119397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
120397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
121397c619cSKrzysztof Kozlowski                              <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
122397c619cSKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
123397c619cSKrzysztof Kozlowski                          "handover", "stop-ack", "shutdown-ack";
124397c619cSKrzysztof Kozlowski
125397c619cSKrzysztof Kozlowski        memory-region = <&pil_adsp_mem>;
126397c619cSKrzysztof Kozlowski
127397c619cSKrzysztof Kozlowski        power-domains = <&rpmhpd SC8280XP_LCX>,
128397c619cSKrzysztof Kozlowski                        <&rpmhpd SC8280XP_LMX>;
129397c619cSKrzysztof Kozlowski        power-domain-names = "lcx", "lmx";
130397c619cSKrzysztof Kozlowski
131397c619cSKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
132397c619cSKrzysztof Kozlowski        qcom,smem-states = <&smp2p_adsp_out 0>;
133397c619cSKrzysztof Kozlowski        qcom,smem-state-names = "stop";
134397c619cSKrzysztof Kozlowski
135397c619cSKrzysztof Kozlowski        glink-edge {
136397c619cSKrzysztof Kozlowski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
137397c619cSKrzysztof Kozlowski                                         IPCC_MPROC_SIGNAL_GLINK_QMP
138397c619cSKrzysztof Kozlowski                                         IRQ_TYPE_EDGE_RISING>;
139397c619cSKrzysztof Kozlowski            mboxes = <&ipcc IPCC_CLIENT_LPASS
140397c619cSKrzysztof Kozlowski                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
141397c619cSKrzysztof Kozlowski
142397c619cSKrzysztof Kozlowski            label = "lpass";
143397c619cSKrzysztof Kozlowski            qcom,remote-pid = <2>;
144397c619cSKrzysztof Kozlowski
145397c619cSKrzysztof Kozlowski            /* ... */
146397c619cSKrzysztof Kozlowski        };
147397c619cSKrzysztof Kozlowski    };
148