blob: 0a657c9c7029aa9c7e394f8ea88a3d58a7f1eee3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
|
#
# QCOM Soc drivers
#
config MSM_SMEM
depends on ARCH_QCOM
depends on REMOTE_SPINLOCK_MSM
bool "MSM Shared Memory (SMEM)"
help
Support for the shared memory interface between the various
processors in the System on a Chip (SoC) which allows basic
inter-processor communication.
config MSM_SMD
depends on MSM_SMEM
bool "MSM Shared Memory Driver (SMD)"
help
Support for the shared memory interprocessor communication protocol
which provides virual point to point serial channels between processes
on the apps processor and processes on other processors in the SoC.
Also includes support for the Shared Memory State Machine (SMSM)
protocol which provides a mechanism to publish single bit state
information to one or more processors in the SoC.
config MSM_SMD_DEBUG
depends on MSM_SMD
bool "MSM SMD debug support"
help
Support for debugging SMD and SMSM communication between apps and
other processors in the SoC. Debug support primarily consists of
logs consisting of information such as what interrupts were processed,
what channels caused interrupt activity, and when internal state
change events occur.
config MSM_GLINK
bool "Generic Link (G-Link)"
help
G-Link is a generic link transport that replaces SMD. It is used
within a System-on-Chip (SoC) for communication between both internal
processors and external peripherals. The actual physical transport
is handled by transport plug-ins that can be individually enabled and
configured separately.
config MSM_GLINK_LOOPBACK_SERVER
bool "Generic Link (G-Link) Loopback Server"
help
G-Link Loopback Server that enable loopback test framework to test
and validate the G-Link protocol stack. It support both local and
remote clients to configure the loopback server and echo back the
data received from the clients.
config MSM_GLINK_SMD_XPRT
depends on MSM_SMD
depends on MSM_GLINK
bool "Generic Link (G-Link) SMD Transport"
help
G-Link SMD Transport is a G-Link Transport plug-in. It allows G-Link
communication to remote entities through a SMD physical transport
channel. The remote side is assumed to be pure SMD. The nature of
SMD limits this G-Link transport to only connecting with entities
internal to the System-on-Chip.
config MSM_GLINK_SMEM_NATIVE_XPRT
depends on MSM_SMEM
depends on MSM_GLINK
bool "Generic Link (G-Link) SMEM Native Transport"
help
G-Link SMEM Native Transport is a G-Link Transport plug-in. It allows
G-Link communication to remote entities through a shared memory
physical transport. The nature of shared memory limits this G-Link
transport to only connecting with entities internal to the
System-on-Chip.
config MSM_SMP2P
bool "SMSM Point-to-Point (SMP2P)"
depends on MSM_SMEM
help
Provide point-to-point remote signaling support.
SMP2P enables transferring 32-bit values between
the local and a remote system using shared
memory and interrupts. A client can open multiple
32-bit values by specifying a unique string and
remote processor ID.
config MSM_SMP2P_TEST
bool "SMSM Point-to-Point Test"
depends on MSM_SMP2P
help
Enables loopback and unit testing support for
SMP2P. Loopback support is used by other
processors to do unit testing. Unit tests
are used to verify the local and remote
implementations.
config MSM_RPM_SMD
bool "RPM driver using SMD protocol"
help
RPM is the dedicated hardware engine for managing shared SoC
resources. This config adds driver support for using SMD as a
transport layer communication with RPM hardware. It also selects
the MSM_MPM config that programs the MPM module to monitor interrupts
during sleep modes.
config QCOM_BUS_SCALING
bool "Bus scaling driver"
help
This option enables bus scaling on MSM devices. Bus scaling
allows devices to request the clocks be set to rates sufficient
for the active devices needs without keeping the clocks at max
frequency when a slower speed is sufficient.
config QCOM_BUSPM_DEV
tristate "MSM Bus Performance Monitor Kernel Module"
depends on QCOM_BUS_SCALING
help
This kernel module is used to mmap() hardware registers for the
performance monitors, counters, etc. The module can also be used to
allocate physical memory which is used by bus performance hardware to
dump performance data
config QCOM_BUS_TOPOLOGY_ADHOC
bool "ad-hoc bus scaling topology"
help
This option enables a driver that can handle adhoc bus topologies.
Adhoc bus topology driver allows one to many connections and maintains
directionality of connections by explicitly listing device connections
thus avoiding illegal routes.
config QCOM_GSBI
tristate "QCOM General Serial Bus Interface"
depends on ARCH_QCOM
select MFD_SYSCON
help
Say y here to enable GSBI support. The GSBI provides control
functions for connecting the underlying serial UART, SPI, and I2C
devices to the output pins.
config QCOM_PM
bool "Qualcomm Power Management"
depends on ARCH_QCOM && !ARM64
select QCOM_SCM
help
QCOM Platform specific power driver to manage cores and L2 low power
modes. It interface with various system drivers to put the cores in
low power modes.
config QCOM_SMEM
tristate "Qualcomm Shared Memory Manager (SMEM)"
depends on ARCH_QCOM
depends on HWSPINLOCK
help
Say y here to enable support for the Qualcomm Shared Memory Manager.
The driver provides an interface to items in a heap shared among all
processors in a Qualcomm platform.
config QCOM_SMD
tristate "Qualcomm Shared Memory Driver (SMD)"
depends on QCOM_SMEM
help
Say y here to enable support for the Qualcomm Shared Memory Driver
providing communication channels to remote processors in Qualcomm
platforms.
config QCOM_SMD_RPM
tristate "Qualcomm Resource Power Manager (RPM) over SMD"
depends on QCOM_SMD && OF
help
If you say yes to this option, support will be included for the
Resource Power Manager system found in the Qualcomm 8974 based
devices.
This is required to access many regulators, clocks and bus
frequencies controlled by the RPM on these devices.
Say M here if you want to include support for the Qualcomm RPM as a
module. This will build a module called "qcom-smd-rpm".
config MSM_SPM
bool "Driver support for SPM and AVS wrapper hardware"
help
Enables the support SAW and AVS wrapper hardware on MSMs SPM
hardware is used to manage the processor power during sleep. The
driver allows configuring SPM to allow different low power modes for
both core and L2.
config QCOM_SCM
bool "Secure Channel Manager (SCM) support"
default n
menuconfig QCOM_SCM_XPU
bool "Qualcomm XPU configuration driver"
depends on QCOM_SCM
if QCOM_SCM_XPU
choice
prompt "XPU Violation Behavior"
default QCOM_XPU_ERR_FATAL
config QCOM_XPU_ERR_FATAL
bool "Configure XPU violations as fatal errors"
help
Select if XPU violations have to be configured as fatal errors.
config QCOM_XPU_ERR_NONFATAL
bool "Configure XPU violations as non-fatal errors"
help
Select if XPU violations have to be configured as non-fatal errors.
endchoice
endif
config QCOM_SCM_ERRATA
depends on DEBUG_FS
depends on QCOM_SCM
bool "Support for enabling/disabling errata workarounds via debugfs"
help
Exposes a debugfs interface intended for advanced system debugging
where it may be desirable to enable or disable certain hardware
errata workarounds at runtime.
If unsure, say N.
if ARCH_QCOM
config QCOM_WATCHDOG_V2
bool "Qualcomm Watchdog Support"
help
This enables the watchdog module. It causes kernel panic if the
watchdog times out. It allows for detection of cpu hangs and
deadlocks. It does not run during the bootup process, so it will
not catch any early lockups.
config QCOM_MEMORY_DUMP
bool "Qualcomm Memory Dump Support"
help
This enables memory dump feature. It allows various client
subsystems to register respective dump regions. At the time
of deadlocks or cpu hangs these dump regions are captured to
give a snapshot of the system at the time of the crash.
config QCOM_MEMORY_DUMP_V2
bool "QCOM Memory Dump V2 Support"
help
This enables memory dump feature. It allows various client
subsystems to register respective dump regions. At the time
of deadlocks or cpu hangs these dump regions are captured to
give a snapshot of the system at the time of the crash.
config MSM_SECURE_BUFFER
bool "Helper functions for securing buffers through TZ"
help
Say 'Y' here for targets that need to call into TZ to secure
memory buffers. This ensures that only the correct clients can
use this memory and no unauthorized access is made to the
buffer
endif # ARCH_QCOM
config TRACER_PKT
bool "Tracer Packet"
help
Tracer Packet helps in profiling the performance of inter-
processor communication protocols. The profiling information
can be logged into the tracer packet itself.
config QCOM_FORCE_WDOG_BITE_ON_PANIC
bool "QCOM force watchdog bite"
depends on QCOM_WATCHDOG_V2
help
This forces a watchdog bite when the device restarts due to a
kernel panic. On certain MSM SoCs, this provides us
additional debugging information.
config MSM_MPM_OF
bool "Modem Power Manager"
depends on OF
help
MPM is a dedicated hardware resource responsible for entering and
waking up from a system wide low power mode. The MPM driver tracks
the wakeup interrupts and configures the MPM to monitor the wakeup
interrupts when going to a system wide sleep mode. This config option
enables the MPM driver that supports initialization from a device
tree
|