xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-adsp-pil.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1*8490a995SSrinivasa Rao Mandadapu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8490a995SSrinivasa Rao Mandadapu%YAML 1.2
3*8490a995SSrinivasa Rao Mandadapu---
4*8490a995SSrinivasa Rao Mandadapu$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-adsp-pil.yaml#
5*8490a995SSrinivasa Rao Mandadapu$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8490a995SSrinivasa Rao Mandadapu
7*8490a995SSrinivasa Rao Mandadaputitle: Qualcomm SC7280 ADSP Peripheral Image Loader
8*8490a995SSrinivasa Rao Mandadapu
9*8490a995SSrinivasa Rao Mandadapumaintainers:
10*8490a995SSrinivasa Rao Mandadapu  - Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
11*8490a995SSrinivasa Rao Mandadapu
12*8490a995SSrinivasa Rao Mandadapudescription:
13*8490a995SSrinivasa Rao Mandadapu  This document describes the hardware for a component that loads and boots firmware
14*8490a995SSrinivasa Rao Mandadapu  on the Qualcomm Technology Inc. ADSP.
15*8490a995SSrinivasa Rao Mandadapu
16*8490a995SSrinivasa Rao Mandadapuproperties:
17*8490a995SSrinivasa Rao Mandadapu  compatible:
18*8490a995SSrinivasa Rao Mandadapu    enum:
19*8490a995SSrinivasa Rao Mandadapu      - qcom,sc7280-adsp-pil
20*8490a995SSrinivasa Rao Mandadapu
21*8490a995SSrinivasa Rao Mandadapu  reg:
22*8490a995SSrinivasa Rao Mandadapu    items:
23*8490a995SSrinivasa Rao Mandadapu      - description: qdsp6ss register
24*8490a995SSrinivasa Rao Mandadapu      - description: efuse q6ss register
25*8490a995SSrinivasa Rao Mandadapu
26*8490a995SSrinivasa Rao Mandadapu  iommus:
27*8490a995SSrinivasa Rao Mandadapu    items:
28*8490a995SSrinivasa Rao Mandadapu      - description: Phandle to apps_smmu node with sid mask
29*8490a995SSrinivasa Rao Mandadapu
30*8490a995SSrinivasa Rao Mandadapu  interrupts:
31*8490a995SSrinivasa Rao Mandadapu    items:
32*8490a995SSrinivasa Rao Mandadapu      - description: Watchdog interrupt
33*8490a995SSrinivasa Rao Mandadapu      - description: Fatal interrupt
34*8490a995SSrinivasa Rao Mandadapu      - description: Ready interrupt
35*8490a995SSrinivasa Rao Mandadapu      - description: Handover interrupt
36*8490a995SSrinivasa Rao Mandadapu      - description: Stop acknowledge interrupt
37*8490a995SSrinivasa Rao Mandadapu      - description: Shutdown acknowledge interrupt
38*8490a995SSrinivasa Rao Mandadapu
39*8490a995SSrinivasa Rao Mandadapu  interrupt-names:
40*8490a995SSrinivasa Rao Mandadapu    items:
41*8490a995SSrinivasa Rao Mandadapu      - const: wdog
42*8490a995SSrinivasa Rao Mandadapu      - const: fatal
43*8490a995SSrinivasa Rao Mandadapu      - const: ready
44*8490a995SSrinivasa Rao Mandadapu      - const: handover
45*8490a995SSrinivasa Rao Mandadapu      - const: stop-ack
46*8490a995SSrinivasa Rao Mandadapu      - const: shutdown-ack
47*8490a995SSrinivasa Rao Mandadapu
48*8490a995SSrinivasa Rao Mandadapu  clocks:
49*8490a995SSrinivasa Rao Mandadapu    items:
50*8490a995SSrinivasa Rao Mandadapu      - description: XO clock
51*8490a995SSrinivasa Rao Mandadapu      - description: GCC CFG NOC LPASS clock
52*8490a995SSrinivasa Rao Mandadapu
53*8490a995SSrinivasa Rao Mandadapu  clock-names:
54*8490a995SSrinivasa Rao Mandadapu    items:
55*8490a995SSrinivasa Rao Mandadapu      - const: xo
56*8490a995SSrinivasa Rao Mandadapu      - const: gcc_cfg_noc_lpass
57*8490a995SSrinivasa Rao Mandadapu
58*8490a995SSrinivasa Rao Mandadapu  power-domains:
59*8490a995SSrinivasa Rao Mandadapu    items:
60*8490a995SSrinivasa Rao Mandadapu      - description: LCX power domain
61*8490a995SSrinivasa Rao Mandadapu
62*8490a995SSrinivasa Rao Mandadapu  resets:
63*8490a995SSrinivasa Rao Mandadapu    items:
64*8490a995SSrinivasa Rao Mandadapu      - description: PDC AUDIO SYNC RESET
65*8490a995SSrinivasa Rao Mandadapu      - description: CC LPASS restart
66*8490a995SSrinivasa Rao Mandadapu
67*8490a995SSrinivasa Rao Mandadapu  reset-names:
68*8490a995SSrinivasa Rao Mandadapu    items:
69*8490a995SSrinivasa Rao Mandadapu      - const: pdc_sync
70*8490a995SSrinivasa Rao Mandadapu      - const: cc_lpass
71*8490a995SSrinivasa Rao Mandadapu
72*8490a995SSrinivasa Rao Mandadapu  memory-region:
73*8490a995SSrinivasa Rao Mandadapu    maxItems: 1
74*8490a995SSrinivasa Rao Mandadapu    description: Reference to the reserved-memory for the Hexagon core
75*8490a995SSrinivasa Rao Mandadapu
76*8490a995SSrinivasa Rao Mandadapu  qcom,halt-regs:
77*8490a995SSrinivasa Rao Mandadapu    $ref: /schemas/types.yaml#/definitions/phandle-array
78*8490a995SSrinivasa Rao Mandadapu    description:
79*8490a995SSrinivasa Rao Mandadapu      Phandle reference to a syscon representing TCSR followed by the
80*8490a995SSrinivasa Rao Mandadapu      four offsets within syscon for q6, modem, nc and qv6 halt registers.
81*8490a995SSrinivasa Rao Mandadapu    items:
82*8490a995SSrinivasa Rao Mandadapu      - items:
83*8490a995SSrinivasa Rao Mandadapu          - description: phandle to TCSR_MUTEX registers
84*8490a995SSrinivasa Rao Mandadapu          - description: offset to the Q6 halt register
85*8490a995SSrinivasa Rao Mandadapu          - description: offset to the modem halt register
86*8490a995SSrinivasa Rao Mandadapu          - description: offset to the nc halt register
87*8490a995SSrinivasa Rao Mandadapu          - description: offset to the vq6 halt register
88*8490a995SSrinivasa Rao Mandadapu
89*8490a995SSrinivasa Rao Mandadapu  qcom,smem-states:
90*8490a995SSrinivasa Rao Mandadapu    $ref: /schemas/types.yaml#/definitions/phandle-array
91*8490a995SSrinivasa Rao Mandadapu    description: States used by the AP to signal the Hexagon core
92*8490a995SSrinivasa Rao Mandadapu    items:
93*8490a995SSrinivasa Rao Mandadapu      - description: Stop the modem
94*8490a995SSrinivasa Rao Mandadapu
95*8490a995SSrinivasa Rao Mandadapu  qcom,smem-state-names:
96*8490a995SSrinivasa Rao Mandadapu    description: The names of the state bits used for SMP2P output
97*8490a995SSrinivasa Rao Mandadapu    const: stop
98*8490a995SSrinivasa Rao Mandadapu
99*8490a995SSrinivasa Rao Mandadapu  qcom,qmp:
100*8490a995SSrinivasa Rao Mandadapu    $ref: /schemas/types.yaml#/definitions/phandle
101*8490a995SSrinivasa Rao Mandadapu    description: Reference to the AOSS side-channel message RAM.
102*8490a995SSrinivasa Rao Mandadapu
103*8490a995SSrinivasa Rao Mandadapu  glink-edge:
104*8490a995SSrinivasa Rao Mandadapu    $ref: qcom,glink-edge.yaml#
105*8490a995SSrinivasa Rao Mandadapu    type: object
106*8490a995SSrinivasa Rao Mandadapu    unevaluatedProperties: false
107*8490a995SSrinivasa Rao Mandadapu    description: |
108*8490a995SSrinivasa Rao Mandadapu      Qualcomm G-Link subnode which represents communication edge, channels
109*8490a995SSrinivasa Rao Mandadapu      and devices related to the ADSP.
110*8490a995SSrinivasa Rao Mandadapu
111*8490a995SSrinivasa Rao Mandadapu    properties:
112*8490a995SSrinivasa Rao Mandadapu      label:
113*8490a995SSrinivasa Rao Mandadapu        const: lpass
114*8490a995SSrinivasa Rao Mandadapu
115*8490a995SSrinivasa Rao Mandadapu      gpr: true
116*8490a995SSrinivasa Rao Mandadapu      apr: false
117*8490a995SSrinivasa Rao Mandadapu      fastrpc: false
118*8490a995SSrinivasa Rao Mandadapu
119*8490a995SSrinivasa Rao Mandadapu    required:
120*8490a995SSrinivasa Rao Mandadapu      - label
121*8490a995SSrinivasa Rao Mandadapu
122*8490a995SSrinivasa Rao Mandadapurequired:
123*8490a995SSrinivasa Rao Mandadapu  - compatible
124*8490a995SSrinivasa Rao Mandadapu  - reg
125*8490a995SSrinivasa Rao Mandadapu  - interrupts
126*8490a995SSrinivasa Rao Mandadapu  - interrupt-names
127*8490a995SSrinivasa Rao Mandadapu  - clocks
128*8490a995SSrinivasa Rao Mandadapu  - clock-names
129*8490a995SSrinivasa Rao Mandadapu  - power-domains
130*8490a995SSrinivasa Rao Mandadapu  - resets
131*8490a995SSrinivasa Rao Mandadapu  - reset-names
132*8490a995SSrinivasa Rao Mandadapu  - qcom,halt-regs
133*8490a995SSrinivasa Rao Mandadapu  - memory-region
134*8490a995SSrinivasa Rao Mandadapu  - qcom,smem-states
135*8490a995SSrinivasa Rao Mandadapu  - qcom,smem-state-names
136*8490a995SSrinivasa Rao Mandadapu  - qcom,qmp
137*8490a995SSrinivasa Rao Mandadapu
138*8490a995SSrinivasa Rao MandadapuadditionalProperties: false
139*8490a995SSrinivasa Rao Mandadapu
140*8490a995SSrinivasa Rao Mandadapuexamples:
141*8490a995SSrinivasa Rao Mandadapu  - |
142*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/interrupt-controller/arm-gic.h>
143*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/clock/qcom,rpmh.h>
144*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/clock/qcom,gcc-sc7280.h>
145*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/clock/qcom,lpass-sc7280.h>
146*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/reset/qcom,sdm845-aoss.h>
147*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/reset/qcom,sdm845-pdc.h>
148*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/power/qcom-rpmpd.h>
149*8490a995SSrinivasa Rao Mandadapu    #include <dt-bindings/mailbox/qcom-ipcc.h>
150*8490a995SSrinivasa Rao Mandadapu
151*8490a995SSrinivasa Rao Mandadapu    remoteproc@3000000 {
152*8490a995SSrinivasa Rao Mandadapu        compatible = "qcom,sc7280-adsp-pil";
153*8490a995SSrinivasa Rao Mandadapu        reg = <0x03000000 0x5000>,
154*8490a995SSrinivasa Rao Mandadapu              <0x0355b000 0x10>;
155*8490a995SSrinivasa Rao Mandadapu
156*8490a995SSrinivasa Rao Mandadapu        interrupts-extended = <&pdc 162 IRQ_TYPE_EDGE_RISING>,
157*8490a995SSrinivasa Rao Mandadapu                <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
158*8490a995SSrinivasa Rao Mandadapu                <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
159*8490a995SSrinivasa Rao Mandadapu                <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
160*8490a995SSrinivasa Rao Mandadapu                <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
161*8490a995SSrinivasa Rao Mandadapu                <&adsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
162*8490a995SSrinivasa Rao Mandadapu
163*8490a995SSrinivasa Rao Mandadapu        interrupt-names = "wdog", "fatal", "ready",
164*8490a995SSrinivasa Rao Mandadapu                "handover", "stop-ack", "shutdown-ack";
165*8490a995SSrinivasa Rao Mandadapu
166*8490a995SSrinivasa Rao Mandadapu        clocks = <&rpmhcc RPMH_CXO_CLK>,
167*8490a995SSrinivasa Rao Mandadapu                 <&gcc GCC_CFG_NOC_LPASS_CLK>;
168*8490a995SSrinivasa Rao Mandadapu        clock-names = "xo", "gcc_cfg_noc_lpass";
169*8490a995SSrinivasa Rao Mandadapu
170*8490a995SSrinivasa Rao Mandadapu        power-domains = <&rpmhpd SC7280_LCX>;
171*8490a995SSrinivasa Rao Mandadapu
172*8490a995SSrinivasa Rao Mandadapu        resets = <&pdc_reset PDC_AUDIO_SYNC_RESET>,
173*8490a995SSrinivasa Rao Mandadapu                 <&aoss_reset AOSS_CC_LPASS_RESTART>;
174*8490a995SSrinivasa Rao Mandadapu        reset-names = "pdc_sync", "cc_lpass";
175*8490a995SSrinivasa Rao Mandadapu
176*8490a995SSrinivasa Rao Mandadapu        qcom,halt-regs = <&tcsr_mutex 0x23000 0x25000 0x28000 0x33000>;
177*8490a995SSrinivasa Rao Mandadapu
178*8490a995SSrinivasa Rao Mandadapu        memory-region = <&adsp_mem>;
179*8490a995SSrinivasa Rao Mandadapu
180*8490a995SSrinivasa Rao Mandadapu        qcom,smem-states = <&adsp_smp2p_out 0>;
181*8490a995SSrinivasa Rao Mandadapu        qcom,smem-state-names = "stop";
182*8490a995SSrinivasa Rao Mandadapu
183*8490a995SSrinivasa Rao Mandadapu        qcom,qmp = <&aoss_qmp>;
184*8490a995SSrinivasa Rao Mandadapu
185*8490a995SSrinivasa Rao Mandadapu        glink-edge {
186*8490a995SSrinivasa Rao Mandadapu            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
187*8490a995SSrinivasa Rao Mandadapu                                         IPCC_MPROC_SIGNAL_GLINK_QMP
188*8490a995SSrinivasa Rao Mandadapu                                         IRQ_TYPE_EDGE_RISING>;
189*8490a995SSrinivasa Rao Mandadapu            mboxes = <&ipcc IPCC_CLIENT_LPASS
190*8490a995SSrinivasa Rao Mandadapu                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
191*8490a995SSrinivasa Rao Mandadapu
192*8490a995SSrinivasa Rao Mandadapu            label = "lpass";
193*8490a995SSrinivasa Rao Mandadapu            qcom,remote-pid = <2>;
194*8490a995SSrinivasa Rao Mandadapu        };
195*8490a995SSrinivasa Rao Mandadapu    };
196