]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/remoteproc/qcom,q6v5.txt
Import DTS files from Linux 4.20
[FreeBSD/FreeBSD.git] / Bindings / remoteproc / qcom,q6v5.txt
1 Qualcomm Hexagon Peripheral Image Loader
2
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm Hexagon core.
5
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be one of:
10                     "qcom,q6v5-pil",
11                     "qcom,ipq8074-wcss-pil"
12                     "qcom,msm8916-mss-pil",
13                     "qcom,msm8974-mss-pil"
14                     "qcom,msm8996-mss-pil"
15                     "qcom,sdm845-mss-pil"
16
17 - reg:
18         Usage: required
19         Value type: <prop-encoded-array>
20         Definition: must specify the base address and size of the qdsp6 and
21                     rmb register blocks
22
23 - reg-names:
24         Usage: required
25         Value type: <stringlist>
26         Definition: must be "q6dsp" and "rmb"
27
28 - interrupts-extended:
29         Usage: required
30         Value type: <prop-encoded-array>
31         Definition: must list the watchdog, fatal IRQs ready, handover and
32                     stop-ack IRQs
33
34 - interrupt-names:
35         Usage: required
36         Value type: <stringlist>
37         Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
38
39 - clocks:
40         Usage: required
41         Value type: <phandle>
42         Definition: reference to the iface, bus and mem clocks to be held on
43                     behalf of the booting of the Hexagon core
44
45 - clock-names:
46         Usage: required
47         Value type: <stringlist>
48         Definition: must be "iface", "bus", "mem"
49
50 - resets:
51         Usage: required
52         Value type: <phandle>
53         Definition: reference to the reset-controller for the modem sub-system
54                     reference to the list of 3 reset-controllers for the
55                     wcss sub-system
56                     reference to the list of 2 reset-controllers for the modem
57                     sub-system on SDM845 SoCs
58
59 - reset-names:
60         Usage: required
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
67
68 - cx-supply:
69 - mss-supply:
70 - mx-supply:
71 - pll-supply:
72         Usage: required
73         Value type: <phandle>
74         Definition: reference to the regulators to be held on behalf of the
75                     booting of the Hexagon core
76
77 - qcom,smem-states:
78         Usage: required
79         Value type: <phandle>
80         Definition: reference to the smem state for requesting the Hexagon to
81                     shut down
82
83 - qcom,smem-state-names:
84         Usage: required
85         Value type: <stringlist>
86         Definition: must be "stop"
87
88 - qcom,halt-regs:
89         Usage: required
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
93                     halt registers.
94
95 = SUBNODES:
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:
98
99 - memory-region:
100         Usage: required
101         Value type: <phandle>
102         Definition: reference to the reserved-memory for the region
103
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.
108
109 = EXAMPLE
110 The following example describes the resources needed to boot control the
111 Hexagon, as it is found on MSM8974 boards.
112
113         modem-rproc@fc880000 {
114                 compatible = "qcom,q6v5-pil";
115                 reg = <0xfc880000 0x100>,
116                       <0xfc820000 0x020>;
117                 reg-names = "qdsp6", "rmb";
118
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",
125                                   "fatal",
126                                   "ready",
127                                   "handover",
128                                   "stop-ack";
129
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";
134
135                 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
136
137                 resets = <&gcc GCC_MSS_RESTART>;
138                 reset-names = "mss_restart";
139
140                 cx-supply = <&pm8841_s2>;
141                 mss-supply = <&pm8841_s3>;
142                 mx-supply = <&pm8841_s1>;
143                 pll-supply = <&pm8941_l12>;
144
145                 qcom,smem-states = <&modem_smp2p_out 0>;
146                 qcom,smem-state-names = "stop";
147
148                 mba {
149                         memory-region = <&mba_region>;
150                 };
151
152                 mpss {
153                         memory-region = <&mpss_region>;
154                 };
155         };