1db292776SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2db292776SKrzysztof Kozlowski%YAML 1.2
3db292776SKrzysztof Kozlowski---
4db292776SKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sm8150-pas.yaml#
5db292776SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6db292776SKrzysztof Kozlowski
7db292776SKrzysztof Kozlowskititle: Qualcomm SM8150/SM8250 Peripheral Authentication Service
8db292776SKrzysztof Kozlowski
9db292776SKrzysztof Kozlowskimaintainers:
10db292776SKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11db292776SKrzysztof Kozlowski
12db292776SKrzysztof Kozlowskidescription:
13db292776SKrzysztof Kozlowski  Qualcomm SM8150/SM8250 SoC Peripheral Authentication Service loads and boots
14db292776SKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
15db292776SKrzysztof Kozlowski
16db292776SKrzysztof Kozlowskiproperties:
17db292776SKrzysztof Kozlowski  compatible:
18db292776SKrzysztof Kozlowski    enum:
19db292776SKrzysztof Kozlowski      - qcom,sm8150-adsp-pas
20db292776SKrzysztof Kozlowski      - qcom,sm8150-cdsp-pas
21db292776SKrzysztof Kozlowski      - qcom,sm8150-mpss-pas
22db292776SKrzysztof Kozlowski      - qcom,sm8150-slpi-pas
23db292776SKrzysztof Kozlowski      - qcom,sm8250-adsp-pas
24db292776SKrzysztof Kozlowski      - qcom,sm8250-cdsp-pas
25db292776SKrzysztof Kozlowski      - qcom,sm8250-slpi-pas
26db292776SKrzysztof Kozlowski
27db292776SKrzysztof Kozlowski  reg:
28db292776SKrzysztof Kozlowski    maxItems: 1
29db292776SKrzysztof Kozlowski
30db292776SKrzysztof Kozlowski  clocks:
31db292776SKrzysztof Kozlowski    items:
32db292776SKrzysztof Kozlowski      - description: XO clock
33db292776SKrzysztof Kozlowski
34db292776SKrzysztof Kozlowski  clock-names:
35db292776SKrzysztof Kozlowski    items:
36db292776SKrzysztof Kozlowski      - const: xo
37db292776SKrzysztof Kozlowski
38db292776SKrzysztof Kozlowski  qcom,qmp:
39db292776SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
40db292776SKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
41db292776SKrzysztof Kozlowski
42cee616c6SNeil Armstrong  memory-region:
43*1e5c6933SKrzysztof Kozlowski    maxItems: 1
44cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
45cee616c6SNeil Armstrong
46db292776SKrzysztof Kozlowski  smd-edge: false
47db292776SKrzysztof Kozlowski
48cee616c6SNeil Armstrong  firmware-name:
49cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
50cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
51cee616c6SNeil Armstrong
52db292776SKrzysztof Kozlowskirequired:
53db292776SKrzysztof Kozlowski  - compatible
54db292776SKrzysztof Kozlowski  - reg
55*1e5c6933SKrzysztof Kozlowski  - memory-region
56db292776SKrzysztof Kozlowski
57db292776SKrzysztof KozlowskiallOf:
58db292776SKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
59db292776SKrzysztof Kozlowski  - if:
60db292776SKrzysztof Kozlowski      properties:
61db292776SKrzysztof Kozlowski        compatible:
62db292776SKrzysztof Kozlowski          enum:
63db292776SKrzysztof Kozlowski            - qcom,sm8150-adsp-pas
64db292776SKrzysztof Kozlowski            - qcom,sm8150-cdsp-pas
65db292776SKrzysztof Kozlowski            - qcom,sm8150-slpi-pas
66db292776SKrzysztof Kozlowski            - qcom,sm8250-adsp-pas
67db292776SKrzysztof Kozlowski            - qcom,sm8250-cdsp-pas
68db292776SKrzysztof Kozlowski            - qcom,sm8250-slpi-pas
69db292776SKrzysztof Kozlowski    then:
70db292776SKrzysztof Kozlowski      properties:
71db292776SKrzysztof Kozlowski        interrupts:
72db292776SKrzysztof Kozlowski          maxItems: 5
73db292776SKrzysztof Kozlowski        interrupt-names:
74db292776SKrzysztof Kozlowski          maxItems: 5
75db292776SKrzysztof Kozlowski    else:
76db292776SKrzysztof Kozlowski      properties:
77db292776SKrzysztof Kozlowski        interrupts:
78db292776SKrzysztof Kozlowski          minItems: 6
79db292776SKrzysztof Kozlowski        interrupt-names:
80db292776SKrzysztof Kozlowski          minItems: 6
81db292776SKrzysztof Kozlowski
82db292776SKrzysztof Kozlowski  - if:
83db292776SKrzysztof Kozlowski      properties:
84db292776SKrzysztof Kozlowski        compatible:
85db292776SKrzysztof Kozlowski          enum:
86db292776SKrzysztof Kozlowski            - qcom,sm8150-adsp-pas
87db292776SKrzysztof Kozlowski            - qcom,sm8150-cdsp-pas
88db292776SKrzysztof Kozlowski            - qcom,sm8250-cdsp-pas
89db292776SKrzysztof Kozlowski    then:
90db292776SKrzysztof Kozlowski      properties:
91db292776SKrzysztof Kozlowski        power-domains:
92db292776SKrzysztof Kozlowski          items:
93db292776SKrzysztof Kozlowski            - description: CX power domain
94db292776SKrzysztof Kozlowski        power-domain-names:
95db292776SKrzysztof Kozlowski          items:
96db292776SKrzysztof Kozlowski            - const: cx
97db292776SKrzysztof Kozlowski
98db292776SKrzysztof Kozlowski  - if:
99db292776SKrzysztof Kozlowski      properties:
100db292776SKrzysztof Kozlowski        compatible:
101db292776SKrzysztof Kozlowski          enum:
102db292776SKrzysztof Kozlowski            - qcom,sm8150-mpss-pas
103db292776SKrzysztof Kozlowski    then:
104db292776SKrzysztof Kozlowski      properties:
105db292776SKrzysztof Kozlowski        power-domains:
106db292776SKrzysztof Kozlowski          items:
107db292776SKrzysztof Kozlowski            - description: CX power domain
108db292776SKrzysztof Kozlowski            - description: MSS power domain
109db292776SKrzysztof Kozlowski        power-domain-names:
110db292776SKrzysztof Kozlowski          items:
111db292776SKrzysztof Kozlowski            - const: cx
112db292776SKrzysztof Kozlowski            - const: mss
113db292776SKrzysztof Kozlowski
114db292776SKrzysztof Kozlowski  - if:
115db292776SKrzysztof Kozlowski      properties:
116db292776SKrzysztof Kozlowski        compatible:
117db292776SKrzysztof Kozlowski          enum:
118db292776SKrzysztof Kozlowski            - qcom,sm8150-slpi-pas
119db292776SKrzysztof Kozlowski            - qcom,sm8250-adsp-pas
120db292776SKrzysztof Kozlowski            - qcom,sm8250-slpi-pas
121db292776SKrzysztof Kozlowski    then:
122db292776SKrzysztof Kozlowski      properties:
123db292776SKrzysztof Kozlowski        power-domains:
124db292776SKrzysztof Kozlowski          items:
125db292776SKrzysztof Kozlowski            - description: LCX power domain
126db292776SKrzysztof Kozlowski            - description: LMX power domain
127db292776SKrzysztof Kozlowski        power-domain-names:
128db292776SKrzysztof Kozlowski          items:
129db292776SKrzysztof Kozlowski            - const: lcx
130db292776SKrzysztof Kozlowski            - const: lmx
131db292776SKrzysztof Kozlowski
132db292776SKrzysztof KozlowskiunevaluatedProperties: false
133db292776SKrzysztof Kozlowski
134db292776SKrzysztof Kozlowskiexamples:
135db292776SKrzysztof Kozlowski  - |
136db292776SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
137db292776SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
138db292776SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
139db292776SKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
140db292776SKrzysztof Kozlowski
141db292776SKrzysztof Kozlowski    remoteproc@17300000 {
142db292776SKrzysztof Kozlowski        compatible = "qcom,sm8150-adsp-pas";
143db292776SKrzysztof Kozlowski        reg = <0x17300000 0x4040>;
144db292776SKrzysztof Kozlowski
145db292776SKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
146db292776SKrzysztof Kozlowski        clock-names = "xo";
147db292776SKrzysztof Kozlowski
148db292776SKrzysztof Kozlowski        firmware-name = "qcom/sm8150/adsp.mbn";
149db292776SKrzysztof Kozlowski
150db292776SKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
151db292776SKrzysztof Kozlowski                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
152db292776SKrzysztof Kozlowski                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
153db292776SKrzysztof Kozlowski                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
154db292776SKrzysztof Kozlowski                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
155db292776SKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
156db292776SKrzysztof Kozlowski                          "handover", "stop-ack";
157db292776SKrzysztof Kozlowski
158db292776SKrzysztof Kozlowski        memory-region = <&adsp_mem>;
159db292776SKrzysztof Kozlowski
160db292776SKrzysztof Kozlowski        power-domains = <&rpmhpd SM8150_CX>;
161db292776SKrzysztof Kozlowski
162db292776SKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
163db292776SKrzysztof Kozlowski        qcom,smem-states = <&adsp_smp2p_out 0>;
164db292776SKrzysztof Kozlowski        qcom,smem-state-names = "stop";
165db292776SKrzysztof Kozlowski
166db292776SKrzysztof Kozlowski        glink-edge {
167db292776SKrzysztof Kozlowski            interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
168db292776SKrzysztof Kozlowski            label = "lpass";
169db292776SKrzysztof Kozlowski            qcom,remote-pid = <2>;
170db292776SKrzysztof Kozlowski            mboxes = <&apss_shared 8>;
171db292776SKrzysztof Kozlowski
172db292776SKrzysztof Kozlowski            /* ... */
173db292776SKrzysztof Kozlowski
174db292776SKrzysztof Kozlowski        };
175db292776SKrzysztof Kozlowski    };
176