xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1838c558bSBhupesh Sharma# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2838c558bSBhupesh Sharma%YAML 1.2
3838c558bSBhupesh Sharma---
4838c558bSBhupesh Sharma$id: http://devicetree.org/schemas/remoteproc/qcom,sm6115-pas.yaml#
5838c558bSBhupesh Sharma$schema: http://devicetree.org/meta-schemas/core.yaml#
6838c558bSBhupesh Sharma
7838c558bSBhupesh Sharmatitle: Qualcomm SM6115 Peripheral Authentication Service
8838c558bSBhupesh Sharma
9838c558bSBhupesh Sharmamaintainers:
10634717a2SKrzysztof Kozlowski  - Bjorn Andersson <andersson@kernel.org>
11634717a2SKrzysztof Kozlowski  - Konrad Dybcio <konradybcio@kernel.org>
12838c558bSBhupesh Sharma
13838c558bSBhupesh Sharmadescription:
14838c558bSBhupesh Sharma  Qualcomm SM6115 SoC Peripheral Authentication Service loads and boots
15838c558bSBhupesh Sharma  firmware on the Qualcomm DSP Hexagon cores.
16838c558bSBhupesh Sharma
17838c558bSBhupesh Sharmaproperties:
18838c558bSBhupesh Sharma  compatible:
19b352033eSKonrad Dybcio    oneOf:
20b352033eSKonrad Dybcio      - enum:
21838c558bSBhupesh Sharma          - qcom,sm6115-adsp-pas
22838c558bSBhupesh Sharma          - qcom,sm6115-cdsp-pas
23838c558bSBhupesh Sharma          - qcom,sm6115-mpss-pas
24838c558bSBhupesh Sharma
25b352033eSKonrad Dybcio      - items:
26b352033eSKonrad Dybcio          - const: qcom,qcm2290-adsp-pas
27b352033eSKonrad Dybcio          - const: qcom,sm6115-adsp-pas
28b352033eSKonrad Dybcio
29b352033eSKonrad Dybcio      - items:
30b352033eSKonrad Dybcio          - const: qcom,qcm2290-mpss-pas
31b352033eSKonrad Dybcio          - const: qcom,sm6115-mpss-pas
32b352033eSKonrad Dybcio
33838c558bSBhupesh Sharma  reg:
34838c558bSBhupesh Sharma    maxItems: 1
35838c558bSBhupesh Sharma
36838c558bSBhupesh Sharma  clocks:
37838c558bSBhupesh Sharma    items:
38838c558bSBhupesh Sharma      - description: XO clock
39838c558bSBhupesh Sharma
40838c558bSBhupesh Sharma  clock-names:
41838c558bSBhupesh Sharma    items:
42838c558bSBhupesh Sharma      - const: xo
43838c558bSBhupesh Sharma
44838c558bSBhupesh Sharma  memory-region:
4566530ffeSKrzysztof Kozlowski    maxItems: 1
46838c558bSBhupesh Sharma    description: Reference to the reserved-memory for the Hexagon core
47838c558bSBhupesh Sharma
48838c558bSBhupesh Sharma  smd-edge: false
49838c558bSBhupesh Sharma
50838c558bSBhupesh Sharma  firmware-name:
51506355c5SKrzysztof Kozlowski    maxItems: 1
52838c558bSBhupesh Sharma    description: Firmware name for the Hexagon core
53838c558bSBhupesh Sharma
54838c558bSBhupesh Sharmarequired:
55838c558bSBhupesh Sharma  - compatible
56838c558bSBhupesh Sharma  - reg
5766530ffeSKrzysztof Kozlowski  - memory-region
58838c558bSBhupesh Sharma
59838c558bSBhupesh SharmaallOf:
60838c558bSBhupesh Sharma  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
61838c558bSBhupesh Sharma  - if:
62838c558bSBhupesh Sharma      properties:
63838c558bSBhupesh Sharma        compatible:
64b352033eSKonrad Dybcio          contains:
65838c558bSBhupesh Sharma            enum:
66838c558bSBhupesh Sharma              - qcom,sm6115-adsp-pas
67838c558bSBhupesh Sharma              - qcom,sm6115-cdsp-pas
68838c558bSBhupesh Sharma    then:
69838c558bSBhupesh Sharma      properties:
70838c558bSBhupesh Sharma        interrupts:
71838c558bSBhupesh Sharma          maxItems: 5
72838c558bSBhupesh Sharma        interrupt-names:
73838c558bSBhupesh Sharma          maxItems: 5
74838c558bSBhupesh Sharma    else:
75838c558bSBhupesh Sharma      properties:
76838c558bSBhupesh Sharma        interrupts:
77838c558bSBhupesh Sharma          minItems: 6
78838c558bSBhupesh Sharma        interrupt-names:
79838c558bSBhupesh Sharma          minItems: 6
80838c558bSBhupesh Sharma
81838c558bSBhupesh Sharma  - if:
82838c558bSBhupesh Sharma      properties:
83838c558bSBhupesh Sharma        compatible:
84b352033eSKonrad Dybcio          contains:
85838c558bSBhupesh Sharma            enum:
86838c558bSBhupesh Sharma              - qcom,sm6115-cdsp-pas
87838c558bSBhupesh Sharma              - qcom,sm6115-mpss-pas
88838c558bSBhupesh Sharma    then:
89838c558bSBhupesh Sharma      properties:
90838c558bSBhupesh Sharma        power-domains:
91838c558bSBhupesh Sharma          items:
92838c558bSBhupesh Sharma            - description: CX power domain
93838c558bSBhupesh Sharma        power-domain-names:
94838c558bSBhupesh Sharma          items:
95838c558bSBhupesh Sharma            - const: cx
96838c558bSBhupesh Sharma
97838c558bSBhupesh Sharma  - if:
98838c558bSBhupesh Sharma      properties:
99838c558bSBhupesh Sharma        compatible:
100b352033eSKonrad Dybcio          contains:
101838c558bSBhupesh Sharma            enum:
102838c558bSBhupesh Sharma              - qcom,sm6115-adsp-pas
103838c558bSBhupesh Sharma    then:
104838c558bSBhupesh Sharma      properties:
105838c558bSBhupesh Sharma        power-domains:
106838c558bSBhupesh Sharma          items:
107838c558bSBhupesh Sharma            - description: LPI CX power domain
108838c558bSBhupesh Sharma            - description: LPI MX power domain
109838c558bSBhupesh Sharma        power-domain-names:
110838c558bSBhupesh Sharma          items:
111838c558bSBhupesh Sharma            - const: lcx
112838c558bSBhupesh Sharma            - const: lmx
113838c558bSBhupesh Sharma
114838c558bSBhupesh SharmaunevaluatedProperties: false
115838c558bSBhupesh Sharma
116838c558bSBhupesh Sharmaexamples:
117838c558bSBhupesh Sharma  - |
118838c558bSBhupesh Sharma    #include <dt-bindings/clock/qcom,rpmcc.h>
119838c558bSBhupesh Sharma    #include <dt-bindings/interrupt-controller/arm-gic.h>
120838c558bSBhupesh Sharma    #include <dt-bindings/interrupt-controller/irq.h>
121838c558bSBhupesh Sharma    #include <dt-bindings/power/qcom-rpmpd.h>
122838c558bSBhupesh Sharma
123838c558bSBhupesh Sharma    remoteproc@ab00000 {
124838c558bSBhupesh Sharma        compatible = "qcom,sm6115-adsp-pas";
125838c558bSBhupesh Sharma        reg = <0x0ab00000 0x100>;
126838c558bSBhupesh Sharma
127838c558bSBhupesh Sharma        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
128838c558bSBhupesh Sharma        clock-names = "xo";
129838c558bSBhupesh Sharma
130*1921f1a4SKrzysztof Kozlowski        firmware-name = "qcom/sm6115/adsp.mbn";
131838c558bSBhupesh Sharma
132838c558bSBhupesh Sharma        interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
133838c558bSBhupesh Sharma                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
134838c558bSBhupesh Sharma                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
135838c558bSBhupesh Sharma                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
136838c558bSBhupesh Sharma                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
137838c558bSBhupesh Sharma        interrupt-names = "wdog", "fatal", "ready",
138838c558bSBhupesh Sharma                          "handover", "stop-ack";
139838c558bSBhupesh Sharma
140838c558bSBhupesh Sharma        memory-region = <&pil_adsp_mem>;
141838c558bSBhupesh Sharma
142838c558bSBhupesh Sharma        power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
143838c558bSBhupesh Sharma                        <&rpmpd SM6115_VDD_LPI_MX>;
144838c558bSBhupesh Sharma
145838c558bSBhupesh Sharma        qcom,smem-states = <&adsp_smp2p_out 0>;
146838c558bSBhupesh Sharma        qcom,smem-state-names = "stop";
147838c558bSBhupesh Sharma
148838c558bSBhupesh Sharma        glink-edge {
149838c558bSBhupesh Sharma            interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
150838c558bSBhupesh Sharma            label = "lpass";
151838c558bSBhupesh Sharma            qcom,remote-pid = <2>;
152838c558bSBhupesh Sharma            mboxes = <&apcs_glb 8>;
153838c558bSBhupesh Sharma
154838c558bSBhupesh Sharma            /* ... */
155838c558bSBhupesh Sharma
156838c558bSBhupesh Sharma        };
157838c558bSBhupesh Sharma    };
158