1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,sm6115-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SM6115 Peripheral Authentication Service
8
9maintainers:
10  - Bjorn Andersson <[email protected]>
11  - Konrad Dybcio <[email protected]>
12
13description:
14  Qualcomm SM6115 SoC Peripheral Authentication Service loads and boots
15  firmware on the Qualcomm DSP Hexagon cores.
16
17properties:
18  compatible:
19    oneOf:
20      - enum:
21          - qcom,sm6115-adsp-pas
22          - qcom,sm6115-cdsp-pas
23          - qcom,sm6115-mpss-pas
24
25      - items:
26          - const: qcom,qcm2290-adsp-pas
27          - const: qcom,sm6115-adsp-pas
28
29      - items:
30          - const: qcom,qcm2290-mpss-pas
31          - const: qcom,sm6115-mpss-pas
32
33  reg:
34    maxItems: 1
35
36  clocks:
37    items:
38      - description: XO clock
39
40  clock-names:
41    items:
42      - const: xo
43
44  memory-region:
45    maxItems: 1
46    description: Reference to the reserved-memory for the Hexagon core
47
48  smd-edge: false
49
50  firmware-name:
51    maxItems: 1
52    description: Firmware name for the Hexagon core
53
54required:
55  - compatible
56  - reg
57  - memory-region
58
59allOf:
60  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
61  - if:
62      properties:
63        compatible:
64          contains:
65            enum:
66              - qcom,sm6115-adsp-pas
67              - qcom,sm6115-cdsp-pas
68    then:
69      properties:
70        interrupts:
71          maxItems: 5
72        interrupt-names:
73          maxItems: 5
74    else:
75      properties:
76        interrupts:
77          minItems: 6
78        interrupt-names:
79          minItems: 6
80
81  - if:
82      properties:
83        compatible:
84          contains:
85            enum:
86              - qcom,sm6115-cdsp-pas
87              - qcom,sm6115-mpss-pas
88    then:
89      properties:
90        power-domains:
91          items:
92            - description: CX power domain
93        power-domain-names:
94          items:
95            - const: cx
96
97  - if:
98      properties:
99        compatible:
100          contains:
101            enum:
102              - qcom,sm6115-adsp-pas
103    then:
104      properties:
105        power-domains:
106          items:
107            - description: LPI CX power domain
108            - description: LPI MX power domain
109        power-domain-names:
110          items:
111            - const: lcx
112            - const: lmx
113
114unevaluatedProperties: false
115
116examples:
117  - |
118    #include <dt-bindings/clock/qcom,rpmcc.h>
119    #include <dt-bindings/interrupt-controller/arm-gic.h>
120    #include <dt-bindings/interrupt-controller/irq.h>
121    #include <dt-bindings/power/qcom-rpmpd.h>
122
123    remoteproc@ab00000 {
124        compatible = "qcom,sm6115-adsp-pas";
125        reg = <0x0ab00000 0x100>;
126
127        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
128        clock-names = "xo";
129
130        firmware-name = "qcom/sm6115/adsp.mdt";
131
132        interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
133                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
134                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
135                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
136                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
137        interrupt-names = "wdog", "fatal", "ready",
138                          "handover", "stop-ack";
139
140        memory-region = <&pil_adsp_mem>;
141
142        power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
143                        <&rpmpd SM6115_VDD_LPI_MX>;
144
145        qcom,smem-states = <&adsp_smp2p_out 0>;
146        qcom,smem-state-names = "stop";
147
148        glink-edge {
149            interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
150            label = "lpass";
151            qcom,remote-pid = <2>;
152            mboxes = <&apcs_glb 8>;
153
154            /* ... */
155
156        };
157    };
158