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
59 Value type: <stringlist>
60 Definition: must be "mss_restart" for the modem sub-system
61 Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
62 for the wcss syb-system
70 Definition: reference to the regulators to be held on behalf of the
71 booting of the Hexagon core
76 Definition: reference to the smem state for requesting the Hexagon to
79 - qcom,smem-state-names:
81 Value type: <stringlist>
82 Definition: must be "stop"
86 Value type: <prop-encoded-array>
87 Definition: a phandle reference to a syscon representing TCSR followed
88 by the three offsets within syscon for q6, modem and nc
92 The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
93 the memory regions used by the Hexagon firmware. Each sub-node must contain:
98 Definition: reference to the reserved-memory for the region
100 The Hexagon node may also have an subnode named either "smd-edge" or
101 "glink-edge" that describes the communication edge, channels and devices
102 related to the Hexagon. See ../soc/qcom/qcom,smd.txt and
103 ../soc/qcom/qcom,glink.txt for details on how to describe these.
106 The following example describes the resources needed to boot control the
107 Hexagon, as it is found on MSM8974 boards.
109 modem-rproc@fc880000 {
110 compatible = "qcom,q6v5-pil";
111 reg = <0xfc880000 0x100>,
113 reg-names = "qdsp6", "rmb";
115 interrupts-extended = <&intc 0 24 1>,
116 <&modem_smp2p_in 0 0>,
117 <&modem_smp2p_in 1 0>,
118 <&modem_smp2p_in 2 0>,
119 <&modem_smp2p_in 3 0>;
120 interrupt-names = "wdog",
126 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
127 <&gcc GCC_MSS_CFG_AHB_CLK>,
128 <&gcc GCC_BOOT_ROM_AHB_CLK>;
129 clock-names = "iface", "bus", "mem";
131 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
133 resets = <&gcc GCC_MSS_RESTART>;
134 reset-names = "mss_restart";
136 cx-supply = <&pm8841_s2>;
137 mss-supply = <&pm8841_s3>;
138 mx-supply = <&pm8841_s1>;
139 pll-supply = <&pm8941_l12>;
141 qcom,smem-states = <&modem_smp2p_out 0>;
142 qcom,smem-state-names = "stop";
145 memory-region = <&mba_region>;
149 memory-region = <&mpss_region>;