xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
1af5da7b0SBartosz Golaszewski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2af5da7b0SBartosz Golaszewski%YAML 1.2
3af5da7b0SBartosz Golaszewski---
4af5da7b0SBartosz Golaszewski$id: http://devicetree.org/schemas/remoteproc/qcom,sa8775p-pas.yaml#
5af5da7b0SBartosz Golaszewski$schema: http://devicetree.org/meta-schemas/core.yaml#
6af5da7b0SBartosz Golaszewski
7af5da7b0SBartosz Golaszewskititle: Qualcomm SA8775p Peripheral Authentication Service
8af5da7b0SBartosz Golaszewski
9af5da7b0SBartosz Golaszewskimaintainers:
10af5da7b0SBartosz Golaszewski  - Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
11af5da7b0SBartosz Golaszewski
12af5da7b0SBartosz Golaszewskidescription:
13af5da7b0SBartosz Golaszewski  Qualcomm SA8775p SoC Peripheral Authentication Service loads and boots firmware
14af5da7b0SBartosz Golaszewski  on the Qualcomm DSP Hexagon cores.
15af5da7b0SBartosz Golaszewski
16af5da7b0SBartosz Golaszewskiproperties:
17af5da7b0SBartosz Golaszewski  compatible:
18*539808eeSJingyi Wang    oneOf:
19*539808eeSJingyi Wang      - items:
20*539808eeSJingyi Wang          - enum:
21*539808eeSJingyi Wang              - qcom,qcs8300-adsp-pas
22*539808eeSJingyi Wang          - const: qcom,sa8775p-adsp-pas
23*539808eeSJingyi Wang      - items:
24*539808eeSJingyi Wang          - enum:
25*539808eeSJingyi Wang              - qcom,qcs8300-cdsp-pas
26*539808eeSJingyi Wang          - const: qcom,sa8775p-cdsp0-pas
27*539808eeSJingyi Wang      - items:
28*539808eeSJingyi Wang          - enum:
29*539808eeSJingyi Wang              - qcom,qcs8300-gpdsp-pas
30*539808eeSJingyi Wang          - const: qcom,sa8775p-gpdsp0-pas
31*539808eeSJingyi Wang      - enum:
32af5da7b0SBartosz Golaszewski          - qcom,sa8775p-adsp-pas
33af5da7b0SBartosz Golaszewski          - qcom,sa8775p-cdsp0-pas
34af5da7b0SBartosz Golaszewski          - qcom,sa8775p-cdsp1-pas
35af5da7b0SBartosz Golaszewski          - qcom,sa8775p-gpdsp0-pas
36af5da7b0SBartosz Golaszewski          - qcom,sa8775p-gpdsp1-pas
37af5da7b0SBartosz Golaszewski
38af5da7b0SBartosz Golaszewski  reg:
39af5da7b0SBartosz Golaszewski    maxItems: 1
40af5da7b0SBartosz Golaszewski
41af5da7b0SBartosz Golaszewski  clocks:
42af5da7b0SBartosz Golaszewski    items:
43af5da7b0SBartosz Golaszewski      - description: XO clock
44af5da7b0SBartosz Golaszewski
45af5da7b0SBartosz Golaszewski  clock-names:
46af5da7b0SBartosz Golaszewski    items:
47af5da7b0SBartosz Golaszewski      - const: xo
48af5da7b0SBartosz Golaszewski
49af5da7b0SBartosz Golaszewski  qcom,qmp:
50af5da7b0SBartosz Golaszewski    $ref: /schemas/types.yaml#/definitions/phandle
51af5da7b0SBartosz Golaszewski    description: Reference to the AOSS side-channel message RAM.
52af5da7b0SBartosz Golaszewski
53af5da7b0SBartosz Golaszewski  firmware-name:
54af5da7b0SBartosz Golaszewski    $ref: /schemas/types.yaml#/definitions/string-array
55af5da7b0SBartosz Golaszewski    items:
56af5da7b0SBartosz Golaszewski      - description: Firmware name of the Hexagon core
57af5da7b0SBartosz Golaszewski
58af5da7b0SBartosz Golaszewski  memory-region:
59af5da7b0SBartosz Golaszewski    items:
60af5da7b0SBartosz Golaszewski      - description: Memory region for main Firmware authentication
61af5da7b0SBartosz Golaszewski
62af5da7b0SBartosz Golaszewski  interrupts:
63af5da7b0SBartosz Golaszewski    maxItems: 5
64af5da7b0SBartosz Golaszewski
65af5da7b0SBartosz Golaszewski  interrupt-names:
66af5da7b0SBartosz Golaszewski    maxItems: 5
67af5da7b0SBartosz Golaszewski
68af5da7b0SBartosz Golaszewskirequired:
69af5da7b0SBartosz Golaszewski  - compatible
70af5da7b0SBartosz Golaszewski  - reg
71af5da7b0SBartosz Golaszewski  - memory-region
72af5da7b0SBartosz Golaszewski
73af5da7b0SBartosz GolaszewskiallOf:
74af5da7b0SBartosz Golaszewski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
75af5da7b0SBartosz Golaszewski
76af5da7b0SBartosz Golaszewski  - if:
77af5da7b0SBartosz Golaszewski      properties:
78af5da7b0SBartosz Golaszewski        compatible:
79*539808eeSJingyi Wang          contains:
80af5da7b0SBartosz Golaszewski            enum:
81af5da7b0SBartosz Golaszewski              - qcom,sa8775p-adsp-pas
82af5da7b0SBartosz Golaszewski    then:
83af5da7b0SBartosz Golaszewski      properties:
84af5da7b0SBartosz Golaszewski        power-domains:
85af5da7b0SBartosz Golaszewski          items:
86af5da7b0SBartosz Golaszewski            - description: LCX power domain
87af5da7b0SBartosz Golaszewski            - description: LMX power domain
88af5da7b0SBartosz Golaszewski        power-domain-names:
89af5da7b0SBartosz Golaszewski          items:
90af5da7b0SBartosz Golaszewski            - const: lcx
91af5da7b0SBartosz Golaszewski            - const: lmx
92af5da7b0SBartosz Golaszewski
93af5da7b0SBartosz Golaszewski  - if:
94af5da7b0SBartosz Golaszewski      properties:
95af5da7b0SBartosz Golaszewski        compatible:
96*539808eeSJingyi Wang          contains:
97af5da7b0SBartosz Golaszewski            enum:
98af5da7b0SBartosz Golaszewski              - qcom,sa8775p-cdsp0-pas
99af5da7b0SBartosz Golaszewski              - qcom,sa8775p-cdsp1-pas
100af5da7b0SBartosz Golaszewski    then:
101af5da7b0SBartosz Golaszewski      properties:
102af5da7b0SBartosz Golaszewski        power-domains:
103af5da7b0SBartosz Golaszewski          items:
104af5da7b0SBartosz Golaszewski            - description: CX power domain
105af5da7b0SBartosz Golaszewski            - description: MXC power domain
106af5da7b0SBartosz Golaszewski            - description: NSP0 power domain
107af5da7b0SBartosz Golaszewski        power-domain-names:
108af5da7b0SBartosz Golaszewski          items:
109af5da7b0SBartosz Golaszewski            - const: cx
110af5da7b0SBartosz Golaszewski            - const: mxc
111af5da7b0SBartosz Golaszewski            - const: nsp
112af5da7b0SBartosz Golaszewski
113af5da7b0SBartosz Golaszewski  - if:
114af5da7b0SBartosz Golaszewski      properties:
115af5da7b0SBartosz Golaszewski        compatible:
116*539808eeSJingyi Wang          contains:
117af5da7b0SBartosz Golaszewski            enum:
118af5da7b0SBartosz Golaszewski              - qcom,sa8775p-gpdsp0-pas
119af5da7b0SBartosz Golaszewski              - qcom,sa8775p-gpdsp1-pas
120af5da7b0SBartosz Golaszewski    then:
121af5da7b0SBartosz Golaszewski      properties:
122af5da7b0SBartosz Golaszewski        power-domains:
123af5da7b0SBartosz Golaszewski          items:
124af5da7b0SBartosz Golaszewski            - description: CX power domain
125af5da7b0SBartosz Golaszewski            - description: MXC power domain
126af5da7b0SBartosz Golaszewski        power-domain-names:
127af5da7b0SBartosz Golaszewski          items:
128af5da7b0SBartosz Golaszewski            - const: cx
129af5da7b0SBartosz Golaszewski            - const: mxc
130af5da7b0SBartosz Golaszewski
131af5da7b0SBartosz GolaszewskiunevaluatedProperties: false
132af5da7b0SBartosz Golaszewski
133af5da7b0SBartosz Golaszewskiexamples:
134af5da7b0SBartosz Golaszewski  - |
135af5da7b0SBartosz Golaszewski    #include <dt-bindings/clock/qcom,rpmh.h>
136af5da7b0SBartosz Golaszewski    #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
137af5da7b0SBartosz Golaszewski    #include <dt-bindings/interrupt-controller/irq.h>
138af5da7b0SBartosz Golaszewski    #include <dt-bindings/mailbox/qcom-ipcc.h>
139af5da7b0SBartosz Golaszewski    #include <dt-bindings/power/qcom,rpmhpd.h>
140af5da7b0SBartosz Golaszewski
141af5da7b0SBartosz Golaszewski    remoteproc@30000000 {
142af5da7b0SBartosz Golaszewski        compatible = "qcom,sa8775p-adsp-pas";
143af5da7b0SBartosz Golaszewski        reg = <0x30000000 0x100>;
144af5da7b0SBartosz Golaszewski
145af5da7b0SBartosz Golaszewski        interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
146af5da7b0SBartosz Golaszewski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
147af5da7b0SBartosz Golaszewski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
148af5da7b0SBartosz Golaszewski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
149af5da7b0SBartosz Golaszewski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
150af5da7b0SBartosz Golaszewski        interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
151af5da7b0SBartosz Golaszewski
152af5da7b0SBartosz Golaszewski        clocks = <&rpmhcc RPMH_CXO_CLK>;
153af5da7b0SBartosz Golaszewski        clock-names = "xo";
154af5da7b0SBartosz Golaszewski
155af5da7b0SBartosz Golaszewski        power-domains = <&rpmhpd RPMHPD_LCX>, <&rpmhpd RPMHPD_LMX>;
156af5da7b0SBartosz Golaszewski        power-domain-names = "lcx", "lmx";
157af5da7b0SBartosz Golaszewski
158af5da7b0SBartosz Golaszewski        interconnects = <&lpass_ag_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>;
159af5da7b0SBartosz Golaszewski
160af5da7b0SBartosz Golaszewski        memory-region = <&pil_adsp_mem>;
161af5da7b0SBartosz Golaszewski
162af5da7b0SBartosz Golaszewski        qcom,qmp = <&aoss_qmp>;
163af5da7b0SBartosz Golaszewski
164af5da7b0SBartosz Golaszewski        qcom,smem-states = <&smp2p_adsp_out 0>;
165af5da7b0SBartosz Golaszewski        qcom,smem-state-names = "stop";
166af5da7b0SBartosz Golaszewski
167af5da7b0SBartosz Golaszewski        glink-edge {
168af5da7b0SBartosz Golaszewski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
169af5da7b0SBartosz Golaszewski                                   IPCC_MPROC_SIGNAL_GLINK_QMP
170af5da7b0SBartosz Golaszewski                                   IRQ_TYPE_EDGE_RISING>;
171af5da7b0SBartosz Golaszewski            mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
172af5da7b0SBartosz Golaszewski
173af5da7b0SBartosz Golaszewski            label = "lpass";
174af5da7b0SBartosz Golaszewski            qcom,remote-pid = <2>;
175af5da7b0SBartosz Golaszewski        };
176af5da7b0SBartosz Golaszewski    };
177