1 Qualcomm ADSP Peripheral Image Loader
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm ADSP Hexagon core.
9 Definition: must be one of:
10 "qcom,msm8974-adsp-pil"
11 "qcom,msm8996-adsp-pil"
12 "qcom,msm8996-slpi-pil"
14 - interrupts-extended:
16 Value type: <prop-encoded-array>
17 Definition: must list the watchdog, fatal IRQs ready, handover and
22 Value type: <stringlist>
23 Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
27 Value type: <prop-encoded-array>
28 Definition: reference to the xo clock and optionally aggre2 clock to be
29 held on behalf of the booting Hexagon core
33 Value type: <stringlist>
34 Definition: must be "xo" and optionally include "aggre2"
39 Definition: reference to the regulator to be held on behalf of the
45 Definition: reference to the px regulator to be held on behalf of the
51 Definition: reference to the reserved-memory for the ADSP
56 Definition: reference to the smem state for requesting the ADSP to
59 - qcom,smem-state-names:
61 Value type: <stringlist>
62 Definition: must be "stop"
66 The adsp node may have an subnode named "smd-edge" that describes the SMD edge,
67 channels and devices related to the ADSP. See ../soc/qcom/qcom,smd.txt for
68 details on how to describe the SMD edge.
72 The following example describes the resources needed to boot control the
73 ADSP, as it is found on MSM8974 boards.
76 compatible = "qcom,msm8974-adsp-pil";
78 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
79 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
80 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
81 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
82 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
83 interrupt-names = "wdog",
89 clocks = <&rpmcc RPM_CXO_CLK>;
92 cx-supply = <&pm8841_s2>;
94 memory-region = <&adsp_region>;
96 qcom,smem-states = <&adsp_smp2p_out 0>;
97 qcom,smem-state-names = "stop";
100 interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
102 qcom,ipc = <&apcs 8 8>;
107 The following example describes the resources needed to boot control the
108 SLPI, as it is found on MSM8996 boards.
111 compatible = "qcom,msm8996-slpi-pil";
112 interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
113 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
114 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
115 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
116 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
117 interrupt-names = "wdog",
123 clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
124 <&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
125 clock-names = "xo", "aggre2";
127 cx-supply = <&pm8994_l26>;
128 px-supply = <&pm8994_lvs2>;
130 memory-region = <&slpi_region>;
131 qcom,smem-states = <&slpi_smp2p_out 0>;
132 qcom,smem-state-names = "stop";