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