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