1 Qualcomm Hexagon Peripheral Image Loader
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm Hexagon core.
9 Definition: must be one of:
11 "qcom,ipq8074-wcss-pil"
12 "qcom,msm8916-mss-pil",
13 "qcom,msm8974-mss-pil"
14 "qcom,msm8996-mss-pil"
19 Value type: <prop-encoded-array>
20 Definition: must specify the base address and size of the qdsp6 and
25 Value type: <stringlist>
26 Definition: must be "q6dsp" and "rmb"
28 - interrupts-extended:
30 Value type: <prop-encoded-array>
31 Definition: must list the watchdog, fatal IRQs ready, handover and
36 Value type: <stringlist>
37 Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
42 Definition: reference to the iface, bus and mem clocks to be held on
43 behalf of the booting of the Hexagon core
47 Value type: <stringlist>
48 Definition: must be "iface", "bus", "mem"
53 Definition: reference to the reset-controller for the modem sub-system
54 reference to the list of 3 reset-controllers for the
56 reference to the list of 2 reset-controllers for the modem
57 sub-system on SDM845 SoCs
61 Value type: <stringlist>
62 Definition: must be "mss_restart" for the modem sub-system
63 must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
64 for the wcss sub-system
65 must be "mss_restart", "pdc_reset" for the modem
66 sub-system on SDM845 SoCs
74 Definition: reference to the regulators to be held on behalf of the
75 booting of the Hexagon core
80 Definition: reference to the smem state for requesting the Hexagon to
83 - qcom,smem-state-names:
85 Value type: <stringlist>
86 Definition: must be "stop"
90 Value type: <prop-encoded-array>
91 Definition: a phandle reference to a syscon representing TCSR followed
92 by the three offsets within syscon for q6, modem and nc
96 The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
97 the memory regions used by the Hexagon firmware. Each sub-node must contain:
101 Value type: <phandle>
102 Definition: reference to the reserved-memory for the region
104 The Hexagon node may also have an subnode named either "smd-edge" or
105 "glink-edge" that describes the communication edge, channels and devices
106 related to the Hexagon. See ../soc/qcom/qcom,smd.txt and
107 ../soc/qcom/qcom,glink.txt for details on how to describe these.
110 The following example describes the resources needed to boot control the
111 Hexagon, as it is found on MSM8974 boards.
113 modem-rproc@fc880000 {
114 compatible = "qcom,q6v5-pil";
115 reg = <0xfc880000 0x100>,
117 reg-names = "qdsp6", "rmb";
119 interrupts-extended = <&intc 0 24 1>,
120 <&modem_smp2p_in 0 0>,
121 <&modem_smp2p_in 1 0>,
122 <&modem_smp2p_in 2 0>,
123 <&modem_smp2p_in 3 0>;
124 interrupt-names = "wdog",
130 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
131 <&gcc GCC_MSS_CFG_AHB_CLK>,
132 <&gcc GCC_BOOT_ROM_AHB_CLK>;
133 clock-names = "iface", "bus", "mem";
135 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
137 resets = <&gcc GCC_MSS_RESTART>;
138 reset-names = "mss_restart";
140 cx-supply = <&pm8841_s2>;
141 mss-supply = <&pm8841_s3>;
142 mx-supply = <&pm8841_s1>;
143 pll-supply = <&pm8941_l12>;
145 qcom,smem-states = <&modem_smp2p_out 0>;
146 qcom,smem-state-names = "stop";
149 memory-region = <&mba_region>;
153 memory-region = <&mpss_region>;