xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sdm845-adsp-pil.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
1841fdd0aSRakesh Pillai# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2841fdd0aSRakesh Pillai%YAML 1.2
3841fdd0aSRakesh Pillai---
4841fdd0aSRakesh Pillai$id: http://devicetree.org/schemas/remoteproc/qcom,sdm845-adsp-pil.yaml#
5841fdd0aSRakesh Pillai$schema: http://devicetree.org/meta-schemas/core.yaml#
6841fdd0aSRakesh Pillai
7841fdd0aSRakesh Pillaititle: Qualcomm SDM845 ADSP Peripheral Image Loader
8841fdd0aSRakesh Pillai
9841fdd0aSRakesh Pillaimaintainers:
10841fdd0aSRakesh Pillai  - Bjorn Andersson <bjorn.andersson@linaro.org>
11841fdd0aSRakesh Pillai
12841fdd0aSRakesh Pillaidescription:
13841fdd0aSRakesh Pillai  This document defines the binding for a component that loads and boots firmware
14841fdd0aSRakesh Pillai  on the Qualcomm Technology Inc. ADSP.
15841fdd0aSRakesh Pillai
16841fdd0aSRakesh Pillaiproperties:
17841fdd0aSRakesh Pillai  compatible:
18841fdd0aSRakesh Pillai    enum:
19841fdd0aSRakesh Pillai      - qcom,sdm845-adsp-pil
20841fdd0aSRakesh Pillai
21841fdd0aSRakesh Pillai  reg:
22841fdd0aSRakesh Pillai    maxItems: 1
23841fdd0aSRakesh Pillai    description:
24841fdd0aSRakesh Pillai      The base address and size of the qdsp6ss register
25841fdd0aSRakesh Pillai
26841fdd0aSRakesh Pillai  interrupts:
27841fdd0aSRakesh Pillai    items:
28841fdd0aSRakesh Pillai      - description: Watchdog interrupt
29841fdd0aSRakesh Pillai      - description: Fatal interrupt
30841fdd0aSRakesh Pillai      - description: Ready interrupt
31841fdd0aSRakesh Pillai      - description: Handover interrupt
32841fdd0aSRakesh Pillai      - description: Stop acknowledge interrupt
33841fdd0aSRakesh Pillai
34841fdd0aSRakesh Pillai  interrupt-names:
35841fdd0aSRakesh Pillai    items:
36841fdd0aSRakesh Pillai      - const: wdog
37841fdd0aSRakesh Pillai      - const: fatal
38841fdd0aSRakesh Pillai      - const: ready
39841fdd0aSRakesh Pillai      - const: handover
40841fdd0aSRakesh Pillai      - const: stop-ack
41841fdd0aSRakesh Pillai
42841fdd0aSRakesh Pillai  clocks:
43841fdd0aSRakesh Pillai    items:
44841fdd0aSRakesh Pillai      - description: XO clock
45841fdd0aSRakesh Pillai      - description: SWAY clock
46841fdd0aSRakesh Pillai      - description: LPASS AHBS AON clock
47841fdd0aSRakesh Pillai      - description: LPASS AHBM AON clock
48841fdd0aSRakesh Pillai      - description: QDSP XO clock
49841fdd0aSRakesh Pillai      - description: Q6SP6SS SLEEP clock
50841fdd0aSRakesh Pillai      - description: Q6SP6SS CORE clock
51841fdd0aSRakesh Pillai
52841fdd0aSRakesh Pillai  clock-names:
53841fdd0aSRakesh Pillai    items:
54841fdd0aSRakesh Pillai      - const: xo
55841fdd0aSRakesh Pillai      - const: sway_cbcr
56841fdd0aSRakesh Pillai      - const: lpass_ahbs_aon_cbcr
57841fdd0aSRakesh Pillai      - const: lpass_ahbm_aon_cbcr
58841fdd0aSRakesh Pillai      - const: qdsp6ss_xo
59841fdd0aSRakesh Pillai      - const: qdsp6ss_sleep
60841fdd0aSRakesh Pillai      - const: qdsp6ss_core
61841fdd0aSRakesh Pillai
62841fdd0aSRakesh Pillai  power-domains:
63841fdd0aSRakesh Pillai    items:
64841fdd0aSRakesh Pillai      - description: CX power domain
65841fdd0aSRakesh Pillai
66841fdd0aSRakesh Pillai  resets:
67841fdd0aSRakesh Pillai    items:
68841fdd0aSRakesh Pillai      - description: PDC AUDIO SYNC RESET
69841fdd0aSRakesh Pillai      - description: CC LPASS restart
70841fdd0aSRakesh Pillai
71841fdd0aSRakesh Pillai  reset-names:
72841fdd0aSRakesh Pillai    items:
73841fdd0aSRakesh Pillai      - const: pdc_sync
74841fdd0aSRakesh Pillai      - const: cc_lpass
75841fdd0aSRakesh Pillai
76841fdd0aSRakesh Pillai  memory-region:
77841fdd0aSRakesh Pillai    maxItems: 1
78841fdd0aSRakesh Pillai    description: Reference to the reserved-memory for the Hexagon core
79841fdd0aSRakesh Pillai
80841fdd0aSRakesh Pillai  qcom,halt-regs:
81841fdd0aSRakesh Pillai    $ref: /schemas/types.yaml#/definitions/phandle-array
82841fdd0aSRakesh Pillai    description:
83841fdd0aSRakesh Pillai      Phandle reference to a syscon representing TCSR followed by the
84*4d5ba6eaSLuca Weiss      offset within syscon for q6 halt register.
85*4d5ba6eaSLuca Weiss    items:
86*4d5ba6eaSLuca Weiss      - items:
87*4d5ba6eaSLuca Weiss          - description: phandle to TCSR syscon region
88*4d5ba6eaSLuca Weiss          - description: offset to the Q6 halt register
89841fdd0aSRakesh Pillai
90841fdd0aSRakesh Pillai  qcom,smem-states:
91841fdd0aSRakesh Pillai    $ref: /schemas/types.yaml#/definitions/phandle-array
92841fdd0aSRakesh Pillai    description: States used by the AP to signal the Hexagon core
93841fdd0aSRakesh Pillai    items:
94841fdd0aSRakesh Pillai      - description: Stop the modem
95841fdd0aSRakesh Pillai
96841fdd0aSRakesh Pillai  qcom,smem-state-names:
97841fdd0aSRakesh Pillai    description: The names of the state bits used for SMP2P output
98841fdd0aSRakesh Pillai    items:
99841fdd0aSRakesh Pillai      - const: stop
100841fdd0aSRakesh Pillai
101841fdd0aSRakesh Pillairequired:
102841fdd0aSRakesh Pillai  - compatible
103841fdd0aSRakesh Pillai  - reg
104841fdd0aSRakesh Pillai  - interrupts
105841fdd0aSRakesh Pillai  - interrupt-names
106841fdd0aSRakesh Pillai  - clocks
107841fdd0aSRakesh Pillai  - clock-names
108841fdd0aSRakesh Pillai  - power-domains
109841fdd0aSRakesh Pillai  - resets
110841fdd0aSRakesh Pillai  - reset-names
111841fdd0aSRakesh Pillai  - qcom,halt-regs
112841fdd0aSRakesh Pillai  - memory-region
113841fdd0aSRakesh Pillai  - qcom,smem-states
114841fdd0aSRakesh Pillai  - qcom,smem-state-names
115841fdd0aSRakesh Pillai
116841fdd0aSRakesh PillaiadditionalProperties: false
117841fdd0aSRakesh Pillai
118841fdd0aSRakesh Pillaiexamples:
119841fdd0aSRakesh Pillai  - |
120841fdd0aSRakesh Pillai    #include <dt-bindings/interrupt-controller/arm-gic.h>
121841fdd0aSRakesh Pillai    #include <dt-bindings/clock/qcom,rpmh.h>
122841fdd0aSRakesh Pillai    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
123841fdd0aSRakesh Pillai    #include <dt-bindings/clock/qcom,lpass-sdm845.h>
124841fdd0aSRakesh Pillai    #include <dt-bindings/power/qcom-rpmpd.h>
125841fdd0aSRakesh Pillai    #include <dt-bindings/reset/qcom,sdm845-pdc.h>
126841fdd0aSRakesh Pillai    #include <dt-bindings/reset/qcom,sdm845-aoss.h>
127841fdd0aSRakesh Pillai    remoteproc@17300000 {
128841fdd0aSRakesh Pillai        compatible = "qcom,sdm845-adsp-pil";
129841fdd0aSRakesh Pillai        reg = <0x17300000 0x40c>;
130841fdd0aSRakesh Pillai
131841fdd0aSRakesh Pillai        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
132841fdd0aSRakesh Pillai                <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
133841fdd0aSRakesh Pillai                <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
134841fdd0aSRakesh Pillai                <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
135841fdd0aSRakesh Pillai                <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
136841fdd0aSRakesh Pillai        interrupt-names = "wdog", "fatal", "ready",
137841fdd0aSRakesh Pillai                "handover", "stop-ack";
138841fdd0aSRakesh Pillai
139841fdd0aSRakesh Pillai        clocks = <&rpmhcc RPMH_CXO_CLK>,
140841fdd0aSRakesh Pillai                 <&gcc GCC_LPASS_SWAY_CLK>,
141841fdd0aSRakesh Pillai                 <&lpasscc LPASS_Q6SS_AHBS_AON_CLK>,
142841fdd0aSRakesh Pillai                 <&lpasscc LPASS_Q6SS_AHBM_AON_CLK>,
143841fdd0aSRakesh Pillai                 <&lpasscc LPASS_QDSP6SS_XO_CLK>,
144841fdd0aSRakesh Pillai                 <&lpasscc LPASS_QDSP6SS_SLEEP_CLK>,
145841fdd0aSRakesh Pillai                 <&lpasscc LPASS_QDSP6SS_CORE_CLK>;
146841fdd0aSRakesh Pillai        clock-names = "xo", "sway_cbcr",
147841fdd0aSRakesh Pillai                "lpass_ahbs_aon_cbcr",
148841fdd0aSRakesh Pillai                "lpass_ahbm_aon_cbcr", "qdsp6ss_xo",
149841fdd0aSRakesh Pillai                "qdsp6ss_sleep", "qdsp6ss_core";
150841fdd0aSRakesh Pillai
151841fdd0aSRakesh Pillai        power-domains = <&rpmhpd SDM845_CX>;
152841fdd0aSRakesh Pillai
153841fdd0aSRakesh Pillai        resets = <&pdc_reset PDC_AUDIO_SYNC_RESET>,
154841fdd0aSRakesh Pillai                 <&aoss_reset AOSS_CC_LPASS_RESTART>;
155841fdd0aSRakesh Pillai        reset-names = "pdc_sync", "cc_lpass";
156841fdd0aSRakesh Pillai
157841fdd0aSRakesh Pillai        qcom,halt-regs = <&tcsr_mutex_regs 0x22000>;
158841fdd0aSRakesh Pillai
159841fdd0aSRakesh Pillai        memory-region = <&pil_adsp_mem>;
160841fdd0aSRakesh Pillai
161841fdd0aSRakesh Pillai        qcom,smem-states = <&adsp_smp2p_out 0>;
162841fdd0aSRakesh Pillai        qcom,smem-state-names = "stop";
163841fdd0aSRakesh Pillai    };
164