1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/remoteproc/qcom,msm8916-mss-pil.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm MSM8916 MSS Peripheral Image Loader (and similar)
10 - Stephan Gerhold <stephan@gerhold.net>
13 This document describes the hardware for a component that loads and boots
14 firmware on the Qualcomm MSM8916 Modem Hexagon Core (and similar).
20 - qcom,msm8909-mss-pil
21 - qcom,msm8916-mss-pil
22 - qcom,msm8953-mss-pil
23 - qcom,msm8974-mss-pil
25 - const: qcom,q6v5-pil
26 description: Deprecated, prefer using qcom,msm8916-mss-pil
31 - description: MSS QDSP6 registers
32 - description: RMB registers
41 - description: Watchdog interrupt
42 - description: Fatal interrupt
43 - description: Ready interrupt
44 - description: Handover interrupt
45 - description: Stop acknowledge interrupt
57 - description: Configuration interface (AXI) clock
58 - description: Configuration bus (AHB) clock
59 - description: Boot ROM (AHB) clock
60 - description: XO proxy clock (control handed over after startup)
71 - description: CX proxy power domain (control handed over after startup)
72 - description: MX proxy power domain (control handed over after startup)
73 - description: MSS proxy power domain (control handed over after startup)
74 (only valid for qcom,msm8953-mss-pil)
81 - const: mss # only valid for qcom,msm8953-mss-pil
85 description: PLL proxy supply (control handed over after startup)
88 description: MSS power domain supply (only valid for qcom,msm8974-mss-pil)
92 - description: MSS restart control
99 $ref: /schemas/types.yaml#/definitions/phandle-array
100 description: States used by the AP to signal the Hexagon core
102 - description: Stop modem
104 qcom,smem-state-names:
105 description: Names of the states used by the AP to signal the Hexagon core
110 $ref: /schemas/types.yaml#/definitions/phandle-array
112 Halt registers are used to halt transactions of various sub-components
116 - description: phandle to TCSR syscon region
117 - description: offset to the Q6 halt register
118 - description: offset to the modem halt register
119 - description: offset to the nc halt register
123 - description: MBA reserved region
124 - description: MPSS reserved region
127 $ref: /schemas/types.yaml#/definitions/string-array
129 - description: Name of MBA firmware
130 - description: Name of modem firmware
133 $ref: /schemas/net/qcom,bam-dmux.yaml#
135 Qualcomm BAM Data Multiplexer (provides network interface to the modem)
138 $ref: qcom,smd-edge.yaml#
140 Qualcomm SMD subnode which represents communication edge, channels
141 and devices related to the DSP.
147 unevaluatedProperties: false
149 # Deprecated properties
151 description: CX power domain regulator supply (prefer using power-domains)
155 description: MX power domain regulator supply (prefer using power-domains)
160 additionalProperties: false
162 MBA reserved region (prefer using memory-region with two items)
171 additionalProperties: false
173 MPSS reserved region (prefer using memory-region with two items)
193 - qcom,smem-state-names
200 const: qcom,msm8953-mss-pil
220 const: qcom,msm8974-mss-pil
228 # Fallbacks for deprecated properties
243 additionalProperties: false
247 #include <dt-bindings/clock/qcom,gcc-msm8916.h>
248 #include <dt-bindings/interrupt-controller/arm-gic.h>
249 #include <dt-bindings/power/qcom-rpmpd.h>
251 remoteproc_mpss: remoteproc@4080000 {
252 compatible = "qcom,msm8916-mss-pil";
253 reg = <0x04080000 0x100>, <0x04020000 0x40>;
254 reg-names = "qdsp6", "rmb";
256 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
257 <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
258 <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
259 <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
260 <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
261 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
263 qcom,smem-states = <&hexagon_smp2p_out 0>;
264 qcom,smem-state-names = "stop";
265 qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
267 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
268 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
269 <&gcc GCC_BOOT_ROM_AHB_CLK>,
271 clock-names = "iface", "bus", "mem", "xo";
273 power-domains = <&rpmpd MSM8916_VDDCX>, <&rpmpd MSM8916_VDDMX>;
274 power-domain-names = "cx", "mx";
275 pll-supply = <&pm8916_l7>;
278 reset-names = "mss_restart";
280 memory-region = <&mba_mem>, <&mpss_mem>;
283 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
286 qcom,ipc = <&apcs 8 12>;
287 qcom,remote-pid = <1>;