xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/qcom,sm6115-pas.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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:
10838c558bSBhupesh Sharma  - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11838c558bSBhupesh Sharma
12838c558bSBhupesh Sharmadescription:
13838c558bSBhupesh Sharma  Qualcomm SM6115 SoC Peripheral Authentication Service loads and boots
14838c558bSBhupesh Sharma  firmware on the Qualcomm DSP Hexagon cores.
15838c558bSBhupesh Sharma
16838c558bSBhupesh Sharmaproperties:
17838c558bSBhupesh Sharma  compatible:
18*b352033eSKonrad Dybcio    oneOf:
19*b352033eSKonrad Dybcio      - enum:
20838c558bSBhupesh Sharma          - qcom,sm6115-adsp-pas
21838c558bSBhupesh Sharma          - qcom,sm6115-cdsp-pas
22838c558bSBhupesh Sharma          - qcom,sm6115-mpss-pas
23838c558bSBhupesh Sharma
24*b352033eSKonrad Dybcio      - items:
25*b352033eSKonrad Dybcio          - const: qcom,qcm2290-adsp-pas
26*b352033eSKonrad Dybcio          - const: qcom,sm6115-adsp-pas
27*b352033eSKonrad Dybcio
28*b352033eSKonrad Dybcio      - items:
29*b352033eSKonrad Dybcio          - const: qcom,qcm2290-mpss-pas
30*b352033eSKonrad Dybcio          - const: qcom,sm6115-mpss-pas
31*b352033eSKonrad Dybcio
32838c558bSBhupesh Sharma  reg:
33838c558bSBhupesh Sharma    maxItems: 1
34838c558bSBhupesh Sharma
35838c558bSBhupesh Sharma  clocks:
36838c558bSBhupesh Sharma    items:
37838c558bSBhupesh Sharma      - description: XO clock
38838c558bSBhupesh Sharma
39838c558bSBhupesh Sharma  clock-names:
40838c558bSBhupesh Sharma    items:
41838c558bSBhupesh Sharma      - const: xo
42838c558bSBhupesh Sharma
43838c558bSBhupesh Sharma  memory-region:
4466530ffeSKrzysztof Kozlowski    maxItems: 1
45838c558bSBhupesh Sharma    description: Reference to the reserved-memory for the Hexagon core
46838c558bSBhupesh Sharma
47838c558bSBhupesh Sharma  smd-edge: false
48838c558bSBhupesh Sharma
49838c558bSBhupesh Sharma  firmware-name:
50838c558bSBhupesh Sharma    $ref: /schemas/types.yaml#/definitions/string
51838c558bSBhupesh Sharma    description: Firmware name for the Hexagon core
52838c558bSBhupesh Sharma
53838c558bSBhupesh Sharmarequired:
54838c558bSBhupesh Sharma  - compatible
55838c558bSBhupesh Sharma  - reg
5666530ffeSKrzysztof Kozlowski  - memory-region
57838c558bSBhupesh Sharma
58838c558bSBhupesh SharmaallOf:
59838c558bSBhupesh Sharma  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
60838c558bSBhupesh Sharma  - if:
61838c558bSBhupesh Sharma      properties:
62838c558bSBhupesh Sharma        compatible:
63*b352033eSKonrad Dybcio          contains:
64838c558bSBhupesh Sharma            enum:
65838c558bSBhupesh Sharma              - qcom,sm6115-adsp-pas
66838c558bSBhupesh Sharma              - qcom,sm6115-cdsp-pas
67838c558bSBhupesh Sharma    then:
68838c558bSBhupesh Sharma      properties:
69838c558bSBhupesh Sharma        interrupts:
70838c558bSBhupesh Sharma          maxItems: 5
71838c558bSBhupesh Sharma        interrupt-names:
72838c558bSBhupesh Sharma          maxItems: 5
73838c558bSBhupesh Sharma    else:
74838c558bSBhupesh Sharma      properties:
75838c558bSBhupesh Sharma        interrupts:
76838c558bSBhupesh Sharma          minItems: 6
77838c558bSBhupesh Sharma        interrupt-names:
78838c558bSBhupesh Sharma          minItems: 6
79838c558bSBhupesh Sharma
80838c558bSBhupesh Sharma  - if:
81838c558bSBhupesh Sharma      properties:
82838c558bSBhupesh Sharma        compatible:
83*b352033eSKonrad Dybcio          contains:
84838c558bSBhupesh Sharma            enum:
85838c558bSBhupesh Sharma              - qcom,sm6115-cdsp-pas
86838c558bSBhupesh Sharma              - qcom,sm6115-mpss-pas
87838c558bSBhupesh Sharma    then:
88838c558bSBhupesh Sharma      properties:
89838c558bSBhupesh Sharma        power-domains:
90838c558bSBhupesh Sharma          items:
91838c558bSBhupesh Sharma            - description: CX power domain
92838c558bSBhupesh Sharma        power-domain-names:
93838c558bSBhupesh Sharma          items:
94838c558bSBhupesh Sharma            - const: cx
95838c558bSBhupesh Sharma
96838c558bSBhupesh Sharma  - if:
97838c558bSBhupesh Sharma      properties:
98838c558bSBhupesh Sharma        compatible:
99*b352033eSKonrad Dybcio          contains:
100838c558bSBhupesh Sharma            enum:
101838c558bSBhupesh Sharma              - qcom,sm6115-adsp-pas
102838c558bSBhupesh Sharma    then:
103838c558bSBhupesh Sharma      properties:
104838c558bSBhupesh Sharma        power-domains:
105838c558bSBhupesh Sharma          items:
106838c558bSBhupesh Sharma            - description: LPI CX power domain
107838c558bSBhupesh Sharma            - description: LPI MX power domain
108838c558bSBhupesh Sharma        power-domain-names:
109838c558bSBhupesh Sharma          items:
110838c558bSBhupesh Sharma            - const: lcx
111838c558bSBhupesh Sharma            - const: lmx
112838c558bSBhupesh Sharma
113838c558bSBhupesh SharmaunevaluatedProperties: false
114838c558bSBhupesh Sharma
115838c558bSBhupesh Sharmaexamples:
116838c558bSBhupesh Sharma  - |
117838c558bSBhupesh Sharma    #include <dt-bindings/clock/qcom,rpmcc.h>
118838c558bSBhupesh Sharma    #include <dt-bindings/interrupt-controller/arm-gic.h>
119838c558bSBhupesh Sharma    #include <dt-bindings/interrupt-controller/irq.h>
120838c558bSBhupesh Sharma    #include <dt-bindings/power/qcom-rpmpd.h>
121838c558bSBhupesh Sharma
122838c558bSBhupesh Sharma    remoteproc@ab00000 {
123838c558bSBhupesh Sharma        compatible = "qcom,sm6115-adsp-pas";
124838c558bSBhupesh Sharma        reg = <0x0ab00000 0x100>;
125838c558bSBhupesh Sharma
126838c558bSBhupesh Sharma        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
127838c558bSBhupesh Sharma        clock-names = "xo";
128838c558bSBhupesh Sharma
129838c558bSBhupesh Sharma        firmware-name = "qcom/sm6115/adsp.mdt";
130838c558bSBhupesh Sharma
131838c558bSBhupesh Sharma        interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
132838c558bSBhupesh Sharma                              <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
133838c558bSBhupesh Sharma                              <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
134838c558bSBhupesh Sharma                              <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
135838c558bSBhupesh Sharma                              <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
136838c558bSBhupesh Sharma        interrupt-names = "wdog", "fatal", "ready",
137838c558bSBhupesh Sharma                          "handover", "stop-ack";
138838c558bSBhupesh Sharma
139838c558bSBhupesh Sharma        memory-region = <&pil_adsp_mem>;
140838c558bSBhupesh Sharma
141838c558bSBhupesh Sharma        power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
142838c558bSBhupesh Sharma                        <&rpmpd SM6115_VDD_LPI_MX>;
143838c558bSBhupesh Sharma
144838c558bSBhupesh Sharma        qcom,smem-states = <&adsp_smp2p_out 0>;
145838c558bSBhupesh Sharma        qcom,smem-state-names = "stop";
146838c558bSBhupesh Sharma
147838c558bSBhupesh Sharma        glink-edge {
148838c558bSBhupesh Sharma            interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
149838c558bSBhupesh Sharma            label = "lpass";
150838c558bSBhupesh Sharma            qcom,remote-pid = <2>;
151838c558bSBhupesh Sharma            mboxes = <&apcs_glb 8>;
152838c558bSBhupesh Sharma
153838c558bSBhupesh Sharma            /* ... */
154838c558bSBhupesh Sharma
155838c558bSBhupesh Sharma        };
156838c558bSBhupesh Sharma    };
157